/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_unwindbound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 05:29:01,840 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 05:29:01,842 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 05:29:01,869 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 05:29:01,869 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 05:29:01,870 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 05:29:01,871 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 05:29:01,873 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 05:29:01,874 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 05:29:01,875 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 05:29:01,876 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 05:29:01,877 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 05:29:01,877 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 05:29:01,878 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 05:29:01,879 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 05:29:01,880 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 05:29:01,881 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 05:29:01,881 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 05:29:01,883 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 05:29:01,884 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 05:29:01,886 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 05:29:01,886 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 05:29:01,887 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 05:29:01,888 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 05:29:01,889 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 05:29:01,891 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 05:29:01,892 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 05:29:01,892 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 05:29:01,893 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 05:29:01,893 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 05:29:01,894 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 05:29:01,894 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 05:29:01,895 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 05:29:01,896 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 05:29:01,897 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 05:29:01,898 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 05:29:01,898 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 05:29:01,898 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 05:29:01,899 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 05:29:01,899 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 05:29:01,900 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 05:29:01,901 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 05:29:01,902 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 05:29:01,917 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 05:29:01,917 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 05:29:01,918 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 05:29:01,918 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 05:29:01,919 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 05:29:01,919 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 05:29:01,919 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 05:29:01,919 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 05:29:01,919 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 05:29:01,920 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 05:29:01,920 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 05:29:01,920 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 05:29:01,920 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 05:29:01,920 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 05:29:01,921 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 05:29:01,921 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 05:29:01,921 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 05:29:01,921 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 05:29:01,921 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 05:29:01,921 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 05:29:01,922 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 05:29:01,922 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 05:29:01,922 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 05:29:01,922 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 05:29:01,922 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 05:29:01,923 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-08 05:29:02,147 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 05:29:02,165 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 05:29:02,167 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 05:29:02,168 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 05:29:02,168 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 05:29:02,169 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound20.c [2022-04-08 05:29:02,229 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fe8987d12/b4bc39cd32d840fb8a35de0f6b069f07/FLAG34b5d4f94 [2022-04-08 05:29:02,603 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 05:29:02,603 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound20.c [2022-04-08 05:29:02,609 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fe8987d12/b4bc39cd32d840fb8a35de0f6b069f07/FLAG34b5d4f94 [2022-04-08 05:29:02,624 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fe8987d12/b4bc39cd32d840fb8a35de0f6b069f07 [2022-04-08 05:29:02,626 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 05:29:02,628 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 05:29:02,629 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 05:29:02,630 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 05:29:02,633 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 05:29:02,636 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 05:29:02" (1/1) ... [2022-04-08 05:29:02,638 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5918d0e6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:02, skipping insertion in model container [2022-04-08 05:29:02,638 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 05:29:02" (1/1) ... [2022-04-08 05:29:02,643 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 05:29:02,657 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 05:29:02,793 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_unwindbound20.c[489,502] [2022-04-08 05:29:02,834 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 05:29:02,839 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 05:29:02,849 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_unwindbound20.c[489,502] [2022-04-08 05:29:02,858 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 05:29:02,868 INFO L208 MainTranslator]: Completed translation [2022-04-08 05:29:02,869 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:02 WrapperNode [2022-04-08 05:29:02,869 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 05:29:02,870 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 05:29:02,870 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 05:29:02,870 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 05:29:02,877 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:02" (1/1) ... [2022-04-08 05:29:02,877 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:02" (1/1) ... [2022-04-08 05:29:02,882 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:02" (1/1) ... [2022-04-08 05:29:02,882 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:02" (1/1) ... [2022-04-08 05:29:02,887 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:02" (1/1) ... [2022-04-08 05:29:02,890 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:02" (1/1) ... [2022-04-08 05:29:02,891 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:02" (1/1) ... [2022-04-08 05:29:02,893 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 05:29:02,893 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 05:29:02,894 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 05:29:02,894 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 05:29:02,894 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:02" (1/1) ... [2022-04-08 05:29:02,902 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 05:29:02,909 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:29:02,929 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-08 05:29:02,942 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-08 05:29:02,957 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 05:29:02,958 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 05:29:02,958 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 05:29:02,958 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 05:29:02,958 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 05:29:02,958 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 05:29:02,958 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 05:29:02,958 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 05:29:02,958 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 05:29:02,958 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 05:29:02,958 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 05:29:02,959 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 05:29:02,959 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 05:29:02,959 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 05:29:02,959 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 05:29:02,959 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 05:29:02,959 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 05:29:02,959 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 05:29:02,959 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 05:29:02,959 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 05:29:03,008 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 05:29:03,010 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 05:29:03,136 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 05:29:03,142 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 05:29:03,142 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 05:29:03,143 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 05:29:03 BoogieIcfgContainer [2022-04-08 05:29:03,143 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 05:29:03,145 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 05:29:03,145 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 05:29:03,147 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 05:29:03,147 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 05:29:02" (1/3) ... [2022-04-08 05:29:03,148 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@e086019 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 05:29:03, skipping insertion in model container [2022-04-08 05:29:03,148 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:02" (2/3) ... [2022-04-08 05:29:03,148 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@e086019 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 05:29:03, skipping insertion in model container [2022-04-08 05:29:03,149 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 05:29:03" (3/3) ... [2022-04-08 05:29:03,149 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_unwindbound20.c [2022-04-08 05:29:03,153 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 05:29:03,153 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 05:29:03,200 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 05:29:03,213 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 05:29:03,213 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 05:29:03,251 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-08 05:29:03,258 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-08 05:29:03,258 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:03,258 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:29:03,261 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:03,266 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:03,266 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 1 times [2022-04-08 05:29:03,272 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:03,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1020238647] [2022-04-08 05:29:03,281 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:03,282 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 2 times [2022-04-08 05:29:03,284 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:03,284 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [484951964] [2022-04-08 05:29:03,285 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:03,285 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:03,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:03,416 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 05:29:03,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:03,434 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-08 05:29:03,434 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-08 05:29:03,434 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-08 05:29:03,435 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 05:29:03,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:03,455 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 05:29:03,455 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 05:29:03,456 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 05:29:03,456 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-08 05:29:03,456 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 05:29:03,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:03,475 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 05:29:03,475 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 05:29:03,476 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 05:29:03,476 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-08 05:29:03,477 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-08 05:29:03,477 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-08 05:29:03,477 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-08 05:29:03,478 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-08 05:29:03,478 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret7 := main(); {38#true} is VALID [2022-04-08 05:29:03,478 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-08 05:29:03,478 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-08 05:29:03,478 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 05:29:03,479 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 05:29:03,479 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 05:29:03,479 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-08 05:29:03,479 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-08 05:29:03,480 INFO L290 TraceCheckUtils]: 12: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 05:29:03,480 INFO L290 TraceCheckUtils]: 13: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 05:29:03,480 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 05:29:03,480 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-08 05:29:03,481 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-08 05:29:03,481 INFO L290 TraceCheckUtils]: 17: Hoare triple {39#false} assume !true; {39#false} is VALID [2022-04-08 05:29:03,481 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-08 05:29:03,481 INFO L290 TraceCheckUtils]: 19: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-08 05:29:03,481 INFO L290 TraceCheckUtils]: 20: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-08 05:29:03,481 INFO L290 TraceCheckUtils]: 21: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-08 05:29:03,482 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-08 05:29:03,482 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:29:03,482 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [484951964] [2022-04-08 05:29:03,483 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [484951964] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:03,483 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:03,483 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 05:29:03,485 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:29:03,486 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1020238647] [2022-04-08 05:29:03,486 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1020238647] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:03,486 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:03,486 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 05:29:03,486 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2114465725] [2022-04-08 05:29:03,487 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:29:03,491 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-08 05:29:03,492 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:29:03,494 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-08 05:29:03,535 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-08 05:29:03,535 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 05:29:03,536 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:03,562 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 05:29:03,562 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 05:29:03,565 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-08 05:29:03,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:03,805 INFO L93 Difference]: Finished difference Result 64 states and 97 transitions. [2022-04-08 05:29:03,805 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 05:29:03,806 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-08 05:29:03,806 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:29:03,807 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-08 05:29:03,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-08 05:29:03,835 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-08 05:29:03,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-08 05:29:03,841 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 97 transitions. [2022-04-08 05:29:03,963 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-08 05:29:03,973 INFO L225 Difference]: With dead ends: 64 [2022-04-08 05:29:03,973 INFO L226 Difference]: Without dead ends: 31 [2022-04-08 05:29:03,976 INFO L912 BasicCegarLoop]: 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-08 05:29:03,980 INFO L913 BasicCegarLoop]: 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-08 05:29:03,981 INFO L914 BasicCegarLoop]: 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-08 05:29:03,995 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-04-08 05:29:04,009 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2022-04-08 05:29:04,009 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:29:04,010 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-08 05:29:04,011 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-08 05:29:04,011 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-08 05:29:04,015 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:04,015 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-08 05:29:04,015 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-08 05:29:04,016 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:04,016 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:04,017 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-08 05:29:04,017 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-08 05:29:04,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:04,020 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-08 05:29:04,020 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-08 05:29:04,021 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:04,021 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:04,021 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:29:04,022 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:29:04,022 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-08 05:29:04,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 39 transitions. [2022-04-08 05:29:04,026 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 39 transitions. Word has length 22 [2022-04-08 05:29:04,026 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:29:04,026 INFO L478 AbstractCegarLoop]: Abstraction has 30 states and 39 transitions. [2022-04-08 05:29:04,026 INFO L479 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-08 05:29:04,026 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 39 transitions. [2022-04-08 05:29:04,066 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-08 05:29:04,067 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 39 transitions. [2022-04-08 05:29:04,067 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-08 05:29:04,067 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:04,068 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:29:04,068 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 05:29:04,068 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:04,069 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:04,069 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 1 times [2022-04-08 05:29:04,069 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:04,069 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [495385512] [2022-04-08 05:29:04,070 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:04,070 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 2 times [2022-04-08 05:29:04,070 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:04,071 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1400300117] [2022-04-08 05:29:04,071 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:04,071 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:04,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:04,149 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 05:29:04,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:04,181 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-08 05:29:04,182 INFO L290 TraceCheckUtils]: 1: Hoare triple {309#(= ~counter~0 0)} assume true; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:04,182 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {309#(= ~counter~0 0)} {304#true} #82#return; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:04,183 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 05:29:04,190 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:04,200 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-08 05:29:04,200 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-08 05:29:04,201 INFO L290 TraceCheckUtils]: 2: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-08 05:29:04,201 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #64#return; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:04,201 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 05:29:04,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:04,212 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-08 05:29:04,213 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-08 05:29:04,213 INFO L290 TraceCheckUtils]: 2: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-08 05:29:04,214 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #66#return; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:04,214 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-08 05:29:04,215 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-08 05:29:04,215 INFO L290 TraceCheckUtils]: 2: Hoare triple {309#(= ~counter~0 0)} assume true; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:04,216 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {309#(= ~counter~0 0)} {304#true} #82#return; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:04,216 INFO L272 TraceCheckUtils]: 4: Hoare triple {309#(= ~counter~0 0)} call #t~ret7 := main(); {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:04,217 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-08 05:29:04,217 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-08 05:29:04,217 INFO L290 TraceCheckUtils]: 7: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-08 05:29:04,217 INFO L290 TraceCheckUtils]: 8: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-08 05:29:04,217 INFO L290 TraceCheckUtils]: 9: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-08 05:29:04,218 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #64#return; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:04,218 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-08 05:29:04,218 INFO L290 TraceCheckUtils]: 12: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-08 05:29:04,218 INFO L290 TraceCheckUtils]: 13: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-08 05:29:04,219 INFO L290 TraceCheckUtils]: 14: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-08 05:29:04,219 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #66#return; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:04,220 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-08 05:29:04,220 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-08 05:29:04,221 INFO L290 TraceCheckUtils]: 18: Hoare triple {318#(= |main_#t~post6| 0)} assume !(#t~post6 < 20);havoc #t~post6; {305#false} is VALID [2022-04-08 05:29:04,221 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-08 05:29:04,221 INFO L290 TraceCheckUtils]: 20: Hoare triple {305#false} ~cond := #in~cond; {305#false} is VALID [2022-04-08 05:29:04,221 INFO L290 TraceCheckUtils]: 21: Hoare triple {305#false} assume 0 == ~cond; {305#false} is VALID [2022-04-08 05:29:04,221 INFO L290 TraceCheckUtils]: 22: Hoare triple {305#false} assume !false; {305#false} is VALID [2022-04-08 05:29:04,222 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-08 05:29:04,222 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:29:04,222 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1400300117] [2022-04-08 05:29:04,222 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1400300117] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:04,222 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:04,222 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:04,223 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:29:04,223 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [495385512] [2022-04-08 05:29:04,223 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [495385512] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:04,223 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:04,223 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:04,223 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [742745108] [2022-04-08 05:29:04,223 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:29:04,224 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-08 05:29:04,224 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:29:04,225 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-08 05:29:04,241 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-08 05:29:04,241 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:29:04,242 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:04,242 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:29:04,242 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:29:04,243 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-08 05:29:04,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:04,473 INFO L93 Difference]: Finished difference Result 42 states and 54 transitions. [2022-04-08 05:29:04,473 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 05:29:04,474 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-08 05:29:04,475 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:29:04,475 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-08 05:29:04,485 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-08 05:29:04,485 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-08 05:29:04,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-08 05:29:04,488 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2022-04-08 05:29:04,543 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-08 05:29:04,547 INFO L225 Difference]: With dead ends: 42 [2022-04-08 05:29:04,548 INFO L226 Difference]: Without dead ends: 32 [2022-04-08 05:29:04,548 INFO L912 BasicCegarLoop]: 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-08 05:29:04,551 INFO L913 BasicCegarLoop]: 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-08 05:29:04,551 INFO L914 BasicCegarLoop]: 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-08 05:29:04,554 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-08 05:29:04,562 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-08 05:29:04,562 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:29:04,563 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-08 05:29:04,564 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-08 05:29:04,564 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-08 05:29:04,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:04,567 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-08 05:29:04,567 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-08 05:29:04,568 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:04,568 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:04,569 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-08 05:29:04,569 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-08 05:29:04,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:04,571 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-08 05:29:04,571 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-08 05:29:04,572 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:04,572 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:04,572 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:29:04,572 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:29:04,572 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-08 05:29:04,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-08 05:29:04,574 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 23 [2022-04-08 05:29:04,574 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:29:04,575 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-08 05:29:04,575 INFO L479 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-08 05:29:04,575 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 41 transitions. [2022-04-08 05:29:04,621 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-08 05:29:04,622 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-08 05:29:04,623 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-08 05:29:04,623 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:04,623 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:29:04,623 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 05:29:04,623 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:04,624 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:04,624 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 1 times [2022-04-08 05:29:04,625 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:04,628 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [255865538] [2022-04-08 05:29:04,628 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:04,629 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 2 times [2022-04-08 05:29:04,629 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:04,629 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1898523237] [2022-04-08 05:29:04,629 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:04,629 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:04,663 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:29:04,664 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [267829946] [2022-04-08 05:29:04,664 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:29:04,664 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:04,664 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:29:04,672 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:29:04,674 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-08 05:29:04,728 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 05:29:04,728 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:29:04,730 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 05:29:04,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:04,756 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:29:04,954 INFO L272 TraceCheckUtils]: 0: Hoare triple {537#true} call ULTIMATE.init(); {537#true} is VALID [2022-04-08 05:29:04,954 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-08 05:29:04,954 INFO L290 TraceCheckUtils]: 2: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-08 05:29:04,954 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {537#true} {537#true} #82#return; {537#true} is VALID [2022-04-08 05:29:04,954 INFO L272 TraceCheckUtils]: 4: Hoare triple {537#true} call #t~ret7 := main(); {537#true} is VALID [2022-04-08 05:29:04,955 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-08 05:29:04,955 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-08 05:29:04,955 INFO L290 TraceCheckUtils]: 7: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2022-04-08 05:29:04,955 INFO L290 TraceCheckUtils]: 8: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2022-04-08 05:29:04,955 INFO L290 TraceCheckUtils]: 9: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-08 05:29:04,955 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {537#true} {537#true} #64#return; {537#true} is VALID [2022-04-08 05:29:04,956 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-08 05:29:04,956 INFO L290 TraceCheckUtils]: 12: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2022-04-08 05:29:04,956 INFO L290 TraceCheckUtils]: 13: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2022-04-08 05:29:04,956 INFO L290 TraceCheckUtils]: 14: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-08 05:29:04,956 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {537#true} {537#true} #66#return; {537#true} is VALID [2022-04-08 05:29:04,957 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-08 05:29:04,957 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-08 05:29:04,958 INFO L290 TraceCheckUtils]: 18: Hoare triple {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:29:04,959 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-08 05:29:04,960 INFO L290 TraceCheckUtils]: 20: Hoare triple {600#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {604#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:04,960 INFO L290 TraceCheckUtils]: 21: Hoare triple {604#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {538#false} is VALID [2022-04-08 05:29:04,960 INFO L290 TraceCheckUtils]: 22: Hoare triple {538#false} assume !false; {538#false} is VALID [2022-04-08 05:29:04,961 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-08 05:29:04,961 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:29:04,961 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:29:04,961 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1898523237] [2022-04-08 05:29:04,961 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:29:04,961 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [267829946] [2022-04-08 05:29:04,962 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [267829946] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:04,962 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:04,962 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:04,962 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:29:04,962 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [255865538] [2022-04-08 05:29:04,963 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [255865538] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:04,963 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:04,963 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:04,963 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [92888843] [2022-04-08 05:29:04,963 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:29:04,963 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-08 05:29:04,964 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:29:04,964 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-08 05:29:04,988 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-08 05:29:04,988 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:29:04,988 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:04,989 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:29:04,989 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:29:04,989 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-08 05:29:05,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:05,180 INFO L93 Difference]: Finished difference Result 49 states and 66 transitions. [2022-04-08 05:29:05,180 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:29:05,180 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-08 05:29:05,180 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:29:05,181 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-08 05:29:05,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-08 05:29:05,183 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-08 05:29:05,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-08 05:29:05,185 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-08 05:29:05,238 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-08 05:29:05,240 INFO L225 Difference]: With dead ends: 49 [2022-04-08 05:29:05,240 INFO L226 Difference]: Without dead ends: 47 [2022-04-08 05:29:05,240 INFO L912 BasicCegarLoop]: 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-08 05:29:05,241 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 44 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:29:05,242 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 136 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 44 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:29:05,242 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-08 05:29:05,253 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2022-04-08 05:29:05,253 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:29:05,254 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-08 05:29:05,254 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-08 05:29:05,255 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-08 05:29:05,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:05,258 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-08 05:29:05,258 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-08 05:29:05,273 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:05,273 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:05,274 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-08 05:29:05,275 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-08 05:29:05,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:05,278 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-08 05:29:05,278 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-08 05:29:05,282 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:05,282 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:05,282 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:29:05,283 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:29:05,283 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-08 05:29:05,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 63 transitions. [2022-04-08 05:29:05,289 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 63 transitions. Word has length 23 [2022-04-08 05:29:05,289 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:29:05,289 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 63 transitions. [2022-04-08 05:29:05,289 INFO L479 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-08 05:29:05,290 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 63 transitions. [2022-04-08 05:29:05,348 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-08 05:29:05,348 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-08 05:29:05,349 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 05:29:05,349 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:05,349 INFO L499 BasicCegarLoop]: 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-08 05:29:05,374 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-08 05:29:05,571 WARN L460 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-08 05:29:05,572 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:05,573 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:05,573 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 1 times [2022-04-08 05:29:05,573 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:05,573 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1991017441] [2022-04-08 05:29:05,573 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:05,574 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 2 times [2022-04-08 05:29:05,574 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:05,574 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [244361149] [2022-04-08 05:29:05,574 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:05,574 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:05,595 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:29:05,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [498690508] [2022-04-08 05:29:05,596 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:29:05,596 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:05,596 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:29:05,597 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-08 05:29:05,598 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-08 05:29:05,654 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:29:05,654 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:29:05,655 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 05:29:05,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:05,667 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:29:05,838 INFO L272 TraceCheckUtils]: 0: Hoare triple {896#true} call ULTIMATE.init(); {896#true} is VALID [2022-04-08 05:29:05,838 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-08 05:29:05,838 INFO L290 TraceCheckUtils]: 2: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-08 05:29:05,839 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {896#true} {896#true} #82#return; {896#true} is VALID [2022-04-08 05:29:05,839 INFO L272 TraceCheckUtils]: 4: Hoare triple {896#true} call #t~ret7 := main(); {896#true} is VALID [2022-04-08 05:29:05,839 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-08 05:29:05,839 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-08 05:29:05,842 INFO L290 TraceCheckUtils]: 7: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-08 05:29:05,842 INFO L290 TraceCheckUtils]: 8: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-08 05:29:05,842 INFO L290 TraceCheckUtils]: 9: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-08 05:29:05,844 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {896#true} {896#true} #64#return; {896#true} is VALID [2022-04-08 05:29:05,844 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-08 05:29:05,845 INFO L290 TraceCheckUtils]: 12: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-08 05:29:05,845 INFO L290 TraceCheckUtils]: 13: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-08 05:29:05,845 INFO L290 TraceCheckUtils]: 14: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-08 05:29:05,845 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {896#true} {896#true} #66#return; {896#true} is VALID [2022-04-08 05:29:05,846 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-08 05:29:05,846 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-08 05:29:05,847 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 < 20);havoc #t~post6; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:29:05,847 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-08 05:29:05,847 INFO L290 TraceCheckUtils]: 20: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-08 05:29:05,850 INFO L290 TraceCheckUtils]: 21: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-08 05:29:05,850 INFO L290 TraceCheckUtils]: 22: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-08 05:29:05,851 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-08 05:29:05,853 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-08 05:29:05,854 INFO L290 TraceCheckUtils]: 25: Hoare triple {974#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {978#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:05,862 INFO L290 TraceCheckUtils]: 26: Hoare triple {978#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {897#false} is VALID [2022-04-08 05:29:05,862 INFO L290 TraceCheckUtils]: 27: Hoare triple {897#false} assume !false; {897#false} is VALID [2022-04-08 05:29:05,862 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-08 05:29:05,863 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:29:05,863 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:29:05,863 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [244361149] [2022-04-08 05:29:05,863 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:29:05,863 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [498690508] [2022-04-08 05:29:05,863 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [498690508] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:05,864 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:05,864 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:05,864 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:29:05,864 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1991017441] [2022-04-08 05:29:05,864 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1991017441] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:05,864 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:05,864 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:05,864 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [23717732] [2022-04-08 05:29:05,865 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:29:05,865 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-08 05:29:05,865 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:29:05,865 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-08 05:29:05,886 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-08 05:29:05,886 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:29:05,886 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:05,887 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:29:05,888 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:29:05,888 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-08 05:29:06,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:06,099 INFO L93 Difference]: Finished difference Result 53 states and 69 transitions. [2022-04-08 05:29:06,099 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:29:06,100 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-08 05:29:06,100 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:29:06,100 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-08 05:29:06,103 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-08 05:29:06,103 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-08 05:29:06,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-08 05:29:06,107 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-08 05:29:06,163 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-08 05:29:06,165 INFO L225 Difference]: With dead ends: 53 [2022-04-08 05:29:06,165 INFO L226 Difference]: Without dead ends: 51 [2022-04-08 05:29:06,165 INFO L912 BasicCegarLoop]: 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-08 05:29:06,166 INFO L913 BasicCegarLoop]: 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.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:29:06,166 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 136 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:29:06,167 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-08 05:29:06,182 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-08 05:29:06,183 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:29:06,185 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-08 05:29:06,186 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-08 05:29:06,186 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-08 05:29:06,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:06,190 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-08 05:29:06,190 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-08 05:29:06,192 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:06,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:06,192 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-08 05:29:06,193 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-08 05:29:06,197 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:06,197 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-08 05:29:06,197 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-08 05:29:06,197 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:06,197 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:06,197 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:29:06,197 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:29:06,199 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-08 05:29:06,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 66 transitions. [2022-04-08 05:29:06,207 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 66 transitions. Word has length 28 [2022-04-08 05:29:06,209 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:29:06,209 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 66 transitions. [2022-04-08 05:29:06,209 INFO L479 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-08 05:29:06,209 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 66 transitions. [2022-04-08 05:29:06,278 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-08 05:29:06,278 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-08 05:29:06,278 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 05:29:06,278 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:06,279 INFO L499 BasicCegarLoop]: 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-08 05:29:06,297 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-08 05:29:06,487 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-04-08 05:29:06,488 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:06,488 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:06,488 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 1 times [2022-04-08 05:29:06,488 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:06,488 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1987542920] [2022-04-08 05:29:06,489 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:06,489 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 2 times [2022-04-08 05:29:06,489 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:06,489 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1148100265] [2022-04-08 05:29:06,489 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:06,490 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:06,502 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:29:06,502 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1825024365] [2022-04-08 05:29:06,502 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:29:06,502 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:06,503 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:29:06,503 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-08 05:29:06,507 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-08 05:29:06,546 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:29:06,547 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:29:06,548 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 05:29:06,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:06,564 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:29:06,792 INFO L272 TraceCheckUtils]: 0: Hoare triple {1294#true} call ULTIMATE.init(); {1294#true} is VALID [2022-04-08 05:29:06,793 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-08 05:29:06,793 INFO L290 TraceCheckUtils]: 2: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:29:06,793 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1294#true} {1294#true} #82#return; {1294#true} is VALID [2022-04-08 05:29:06,793 INFO L272 TraceCheckUtils]: 4: Hoare triple {1294#true} call #t~ret7 := main(); {1294#true} is VALID [2022-04-08 05:29:06,793 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-08 05:29:06,794 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-08 05:29:06,794 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-08 05:29:06,794 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-08 05:29:06,795 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-08 05:29:06,796 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-08 05:29:06,796 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-08 05:29:06,796 INFO L290 TraceCheckUtils]: 12: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:29:06,797 INFO L290 TraceCheckUtils]: 13: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:29:06,797 INFO L290 TraceCheckUtils]: 14: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:29:06,797 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1294#true} {1331#(<= 1 main_~x~0)} #66#return; {1331#(<= 1 main_~x~0)} is VALID [2022-04-08 05:29:06,799 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-08 05:29:06,799 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-08 05:29:06,800 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 < 20);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-08 05:29:06,800 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-08 05:29:06,800 INFO L290 TraceCheckUtils]: 20: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:29:06,800 INFO L290 TraceCheckUtils]: 21: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:29:06,800 INFO L290 TraceCheckUtils]: 22: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:29:06,802 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-08 05:29:06,802 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-08 05:29:06,802 INFO L290 TraceCheckUtils]: 25: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:29:06,802 INFO L290 TraceCheckUtils]: 26: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:29:06,802 INFO L290 TraceCheckUtils]: 27: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:29:06,803 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-08 05:29:06,804 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-08 05:29:06,804 INFO L290 TraceCheckUtils]: 30: Hoare triple {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1394#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:06,804 INFO L290 TraceCheckUtils]: 31: Hoare triple {1394#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1295#false} is VALID [2022-04-08 05:29:06,805 INFO L290 TraceCheckUtils]: 32: Hoare triple {1295#false} assume !false; {1295#false} is VALID [2022-04-08 05:29:06,805 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-08 05:29:06,805 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:29:07,028 INFO L290 TraceCheckUtils]: 32: Hoare triple {1295#false} assume !false; {1295#false} is VALID [2022-04-08 05:29:07,029 INFO L290 TraceCheckUtils]: 31: Hoare triple {1394#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1295#false} is VALID [2022-04-08 05:29:07,030 INFO L290 TraceCheckUtils]: 30: Hoare triple {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1394#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:07,031 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-08 05:29:07,031 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-08 05:29:07,031 INFO L290 TraceCheckUtils]: 27: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:29:07,032 INFO L290 TraceCheckUtils]: 26: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:29:07,032 INFO L290 TraceCheckUtils]: 25: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:29:07,032 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-08 05:29:07,032 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-08 05:29:07,033 INFO L290 TraceCheckUtils]: 22: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:29:07,033 INFO L290 TraceCheckUtils]: 21: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:29:07,033 INFO L290 TraceCheckUtils]: 20: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:29:07,033 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-08 05:29:07,034 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 < 20);havoc #t~post6; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:29:07,034 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-08 05:29:07,035 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-08 05:29:07,035 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1294#true} {1294#true} #66#return; {1294#true} is VALID [2022-04-08 05:29:07,036 INFO L290 TraceCheckUtils]: 14: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:29:07,036 INFO L290 TraceCheckUtils]: 13: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:29:07,036 INFO L290 TraceCheckUtils]: 12: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:29:07,036 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-08 05:29:07,036 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1294#true} {1294#true} #64#return; {1294#true} is VALID [2022-04-08 05:29:07,036 INFO L290 TraceCheckUtils]: 9: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:29:07,036 INFO L290 TraceCheckUtils]: 8: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:29:07,036 INFO L290 TraceCheckUtils]: 7: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:29:07,037 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-08 05:29:07,037 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-08 05:29:07,037 INFO L272 TraceCheckUtils]: 4: Hoare triple {1294#true} call #t~ret7 := main(); {1294#true} is VALID [2022-04-08 05:29:07,037 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1294#true} {1294#true} #82#return; {1294#true} is VALID [2022-04-08 05:29:07,037 INFO L290 TraceCheckUtils]: 2: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:29:07,037 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-08 05:29:07,037 INFO L272 TraceCheckUtils]: 0: Hoare triple {1294#true} call ULTIMATE.init(); {1294#true} is VALID [2022-04-08 05:29:07,038 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-08 05:29:07,038 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:29:07,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1148100265] [2022-04-08 05:29:07,038 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:29:07,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1825024365] [2022-04-08 05:29:07,038 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1825024365] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 05:29:07,038 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 05:29:07,038 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-08 05:29:07,039 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:29:07,039 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1987542920] [2022-04-08 05:29:07,039 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1987542920] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:07,039 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:07,039 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:07,039 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1034135042] [2022-04-08 05:29:07,039 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:29:07,040 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-08 05:29:07,040 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:29:07,040 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-08 05:29:07,067 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-08 05:29:07,067 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:29:07,067 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:07,068 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:29:07,068 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:29:07,068 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-08 05:29:07,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:07,298 INFO L93 Difference]: Finished difference Result 75 states and 107 transitions. [2022-04-08 05:29:07,299 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:29:07,299 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-08 05:29:07,299 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:29:07,299 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-08 05:29:07,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-08 05:29:07,301 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-08 05:29:07,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-08 05:29:07,302 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-08 05:29:07,353 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-08 05:29:07,355 INFO L225 Difference]: With dead ends: 75 [2022-04-08 05:29:07,355 INFO L226 Difference]: Without dead ends: 71 [2022-04-08 05:29:07,355 INFO L912 BasicCegarLoop]: 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-08 05:29:07,356 INFO L913 BasicCegarLoop]: 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-08 05:29:07,357 INFO L914 BasicCegarLoop]: 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-08 05:29:07,357 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-08 05:29:07,375 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-08 05:29:07,376 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:29:07,376 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-08 05:29:07,376 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-08 05:29:07,377 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-08 05:29:07,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:07,380 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-08 05:29:07,380 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-08 05:29:07,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:07,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:07,381 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-08 05:29:07,381 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-08 05:29:07,385 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:07,385 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-08 05:29:07,385 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-08 05:29:07,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:07,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:07,386 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:29:07,386 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:29:07,386 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-08 05:29:07,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 100 transitions. [2022-04-08 05:29:07,390 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 100 transitions. Word has length 33 [2022-04-08 05:29:07,390 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:29:07,390 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 100 transitions. [2022-04-08 05:29:07,390 INFO L479 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-08 05:29:07,390 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 100 transitions. [2022-04-08 05:29:07,489 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-08 05:29:07,489 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-08 05:29:07,490 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 05:29:07,490 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:07,490 INFO L499 BasicCegarLoop]: 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-08 05:29:07,507 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-08 05:29:07,695 WARN L460 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-08 05:29:07,695 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:07,696 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:07,696 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 1 times [2022-04-08 05:29:07,696 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:07,696 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1262905243] [2022-04-08 05:29:07,697 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:07,697 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 2 times [2022-04-08 05:29:07,697 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:07,697 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1845563190] [2022-04-08 05:29:07,697 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:07,697 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:07,711 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:29:07,711 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1143426107] [2022-04-08 05:29:07,711 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:29:07,711 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:07,711 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:29:07,712 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-08 05:29:07,723 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-08 05:29:07,757 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:29:07,757 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:29:07,758 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 05:29:07,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:07,769 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:29:07,871 INFO L272 TraceCheckUtils]: 0: Hoare triple {1936#true} call ULTIMATE.init(); {1936#true} is VALID [2022-04-08 05:29:07,872 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-08 05:29:07,872 INFO L290 TraceCheckUtils]: 2: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-08 05:29:07,872 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1936#true} {1936#true} #82#return; {1936#true} is VALID [2022-04-08 05:29:07,872 INFO L272 TraceCheckUtils]: 4: Hoare triple {1936#true} call #t~ret7 := main(); {1936#true} is VALID [2022-04-08 05:29:07,872 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-08 05:29:07,872 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-08 05:29:07,872 INFO L290 TraceCheckUtils]: 7: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-08 05:29:07,873 INFO L290 TraceCheckUtils]: 8: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-08 05:29:07,873 INFO L290 TraceCheckUtils]: 9: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-08 05:29:07,873 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1936#true} {1936#true} #64#return; {1936#true} is VALID [2022-04-08 05:29:07,873 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-08 05:29:07,873 INFO L290 TraceCheckUtils]: 12: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-08 05:29:07,873 INFO L290 TraceCheckUtils]: 13: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-08 05:29:07,873 INFO L290 TraceCheckUtils]: 14: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-08 05:29:07,873 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1936#true} {1936#true} #66#return; {1936#true} is VALID [2022-04-08 05:29:07,873 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-08 05:29:07,874 INFO L290 TraceCheckUtils]: 17: Hoare triple {1936#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1936#true} is VALID [2022-04-08 05:29:07,874 INFO L290 TraceCheckUtils]: 18: Hoare triple {1936#true} assume !!(#t~post6 < 20);havoc #t~post6; {1936#true} is VALID [2022-04-08 05:29:07,874 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-08 05:29:07,874 INFO L290 TraceCheckUtils]: 20: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-08 05:29:07,874 INFO L290 TraceCheckUtils]: 21: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-08 05:29:07,874 INFO L290 TraceCheckUtils]: 22: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-08 05:29:07,874 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1936#true} {1936#true} #68#return; {1936#true} is VALID [2022-04-08 05:29:07,874 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-08 05:29:07,875 INFO L290 TraceCheckUtils]: 25: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-08 05:29:07,875 INFO L290 TraceCheckUtils]: 26: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-08 05:29:07,875 INFO L290 TraceCheckUtils]: 27: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-08 05:29:07,875 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1936#true} {1936#true} #70#return; {1936#true} is VALID [2022-04-08 05:29:07,875 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-08 05:29:07,875 INFO L290 TraceCheckUtils]: 30: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-08 05:29:07,875 INFO L290 TraceCheckUtils]: 31: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-08 05:29:07,875 INFO L290 TraceCheckUtils]: 32: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-08 05:29:07,875 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1936#true} {1936#true} #72#return; {1936#true} is VALID [2022-04-08 05:29:07,877 INFO L290 TraceCheckUtils]: 34: Hoare triple {1936#true} assume !(~a~0 != ~b~0); {2043#(= main_~b~0 main_~a~0)} is VALID [2022-04-08 05:29:07,877 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-08 05:29:07,878 INFO L290 TraceCheckUtils]: 36: Hoare triple {2047#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2051#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:07,878 INFO L290 TraceCheckUtils]: 37: Hoare triple {2051#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1937#false} is VALID [2022-04-08 05:29:07,878 INFO L290 TraceCheckUtils]: 38: Hoare triple {1937#false} assume !false; {1937#false} is VALID [2022-04-08 05:29:07,878 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-08 05:29:07,879 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:29:07,879 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:29:07,879 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1845563190] [2022-04-08 05:29:07,879 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:29:07,879 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1143426107] [2022-04-08 05:29:07,879 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1143426107] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:07,879 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:07,879 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:07,880 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:29:07,880 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1262905243] [2022-04-08 05:29:07,880 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1262905243] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:07,880 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:07,880 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:07,880 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1308294293] [2022-04-08 05:29:07,880 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:29:07,880 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-08 05:29:07,881 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:29:07,881 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-08 05:29:07,903 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-08 05:29:07,903 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:29:07,903 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:07,904 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:29:07,904 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:29:07,904 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-08 05:29:08,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:08,076 INFO L93 Difference]: Finished difference Result 87 states and 123 transitions. [2022-04-08 05:29:08,076 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:29:08,077 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-08 05:29:08,077 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:29:08,077 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-08 05:29:08,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-08 05:29:08,078 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-08 05:29:08,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-08 05:29:08,080 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-08 05:29:08,122 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-08 05:29:08,124 INFO L225 Difference]: With dead ends: 87 [2022-04-08 05:29:08,124 INFO L226 Difference]: Without dead ends: 85 [2022-04-08 05:29:08,125 INFO L912 BasicCegarLoop]: 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-08 05:29:08,126 INFO L913 BasicCegarLoop]: 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-08 05:29:08,126 INFO L914 BasicCegarLoop]: 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-08 05:29:08,126 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-04-08 05:29:08,151 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 78. [2022-04-08 05:29:08,151 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:29:08,151 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-08 05:29:08,152 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-08 05:29:08,152 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-08 05:29:08,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:08,156 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-08 05:29:08,156 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-08 05:29:08,157 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:08,157 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:08,157 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-08 05:29:08,157 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-08 05:29:08,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:08,161 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-08 05:29:08,161 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-08 05:29:08,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:08,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:08,162 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:29:08,162 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:29:08,162 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-08 05:29:08,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 109 transitions. [2022-04-08 05:29:08,166 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 109 transitions. Word has length 39 [2022-04-08 05:29:08,166 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:29:08,166 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 109 transitions. [2022-04-08 05:29:08,166 INFO L479 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-08 05:29:08,166 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 109 transitions. [2022-04-08 05:29:08,287 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-08 05:29:08,287 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 109 transitions. [2022-04-08 05:29:08,288 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 05:29:08,288 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:08,288 INFO L499 BasicCegarLoop]: 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-08 05:29:08,305 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-08 05:29:08,495 WARN L460 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-08 05:29:08,495 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:08,496 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:08,496 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 1 times [2022-04-08 05:29:08,496 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:08,496 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1806824400] [2022-04-08 05:29:08,496 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:08,496 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 2 times [2022-04-08 05:29:08,496 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:08,497 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1756172627] [2022-04-08 05:29:08,497 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:08,497 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:08,519 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:29:08,520 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [424634838] [2022-04-08 05:29:08,520 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:29:08,520 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:08,520 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:29:08,528 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-08 05:29:08,529 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-08 05:29:08,571 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:29:08,572 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:29:08,572 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 05:29:08,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:08,585 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:29:08,755 INFO L272 TraceCheckUtils]: 0: Hoare triple {2559#true} call ULTIMATE.init(); {2559#true} is VALID [2022-04-08 05:29:08,756 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-08 05:29:08,758 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:08,758 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#(<= ~counter~0 0)} {2559#true} #82#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:08,759 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#(<= ~counter~0 0)} call #t~ret7 := main(); {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:08,759 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-08 05:29:08,760 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-08 05:29:08,760 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#(<= ~counter~0 0)} ~cond := #in~cond; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:08,760 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#(<= ~counter~0 0)} assume !(0 == ~cond); {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:08,761 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:08,761 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#(<= ~counter~0 0)} {2567#(<= ~counter~0 0)} #64#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:08,762 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-08 05:29:08,762 INFO L290 TraceCheckUtils]: 12: Hoare triple {2567#(<= ~counter~0 0)} ~cond := #in~cond; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:08,762 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#(<= ~counter~0 0)} assume !(0 == ~cond); {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:08,763 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:08,763 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2567#(<= ~counter~0 0)} {2567#(<= ~counter~0 0)} #66#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:08,763 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-08 05:29:08,769 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-08 05:29:08,769 INFO L290 TraceCheckUtils]: 18: Hoare triple {2616#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:08,770 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-08 05:29:08,770 INFO L290 TraceCheckUtils]: 20: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:08,770 INFO L290 TraceCheckUtils]: 21: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:08,771 INFO L290 TraceCheckUtils]: 22: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:08,771 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #68#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:08,772 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-08 05:29:08,772 INFO L290 TraceCheckUtils]: 25: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:08,773 INFO L290 TraceCheckUtils]: 26: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:08,773 INFO L290 TraceCheckUtils]: 27: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:08,774 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #70#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:08,774 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-08 05:29:08,775 INFO L290 TraceCheckUtils]: 30: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:08,775 INFO L290 TraceCheckUtils]: 31: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:08,775 INFO L290 TraceCheckUtils]: 32: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:08,776 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #72#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:08,776 INFO L290 TraceCheckUtils]: 34: Hoare triple {2616#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:08,777 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-08 05:29:08,777 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-08 05:29:08,778 INFO L290 TraceCheckUtils]: 37: Hoare triple {2674#(<= |main_#t~post6| 1)} assume !(#t~post6 < 20);havoc #t~post6; {2560#false} is VALID [2022-04-08 05:29:08,778 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-08 05:29:08,778 INFO L290 TraceCheckUtils]: 39: Hoare triple {2560#false} ~cond := #in~cond; {2560#false} is VALID [2022-04-08 05:29:08,778 INFO L290 TraceCheckUtils]: 40: Hoare triple {2560#false} assume 0 == ~cond; {2560#false} is VALID [2022-04-08 05:29:08,778 INFO L290 TraceCheckUtils]: 41: Hoare triple {2560#false} assume !false; {2560#false} is VALID [2022-04-08 05:29:08,778 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-08 05:29:08,794 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:29:09,011 INFO L290 TraceCheckUtils]: 41: Hoare triple {2560#false} assume !false; {2560#false} is VALID [2022-04-08 05:29:09,012 INFO L290 TraceCheckUtils]: 40: Hoare triple {2560#false} assume 0 == ~cond; {2560#false} is VALID [2022-04-08 05:29:09,012 INFO L290 TraceCheckUtils]: 39: Hoare triple {2560#false} ~cond := #in~cond; {2560#false} is VALID [2022-04-08 05:29:09,012 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-08 05:29:09,012 INFO L290 TraceCheckUtils]: 37: Hoare triple {2702#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {2560#false} is VALID [2022-04-08 05:29:09,013 INFO L290 TraceCheckUtils]: 36: Hoare triple {2706#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2702#(< |main_#t~post6| 20)} is VALID [2022-04-08 05:29:09,013 INFO L290 TraceCheckUtils]: 35: Hoare triple {2706#(< ~counter~0 20)} 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 20)} is VALID [2022-04-08 05:29:09,014 INFO L290 TraceCheckUtils]: 34: Hoare triple {2706#(< ~counter~0 20)} assume !!(~a~0 != ~b~0); {2706#(< ~counter~0 20)} is VALID [2022-04-08 05:29:09,015 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2559#true} {2706#(< ~counter~0 20)} #72#return; {2706#(< ~counter~0 20)} is VALID [2022-04-08 05:29:09,015 INFO L290 TraceCheckUtils]: 32: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-08 05:29:09,015 INFO L290 TraceCheckUtils]: 31: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-08 05:29:09,015 INFO L290 TraceCheckUtils]: 30: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-08 05:29:09,015 INFO L272 TraceCheckUtils]: 29: Hoare triple {2706#(< ~counter~0 20)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2559#true} is VALID [2022-04-08 05:29:09,016 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2559#true} {2706#(< ~counter~0 20)} #70#return; {2706#(< ~counter~0 20)} is VALID [2022-04-08 05:29:09,016 INFO L290 TraceCheckUtils]: 27: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-08 05:29:09,016 INFO L290 TraceCheckUtils]: 26: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-08 05:29:09,016 INFO L290 TraceCheckUtils]: 25: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-08 05:29:09,016 INFO L272 TraceCheckUtils]: 24: Hoare triple {2706#(< ~counter~0 20)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2559#true} is VALID [2022-04-08 05:29:09,017 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2559#true} {2706#(< ~counter~0 20)} #68#return; {2706#(< ~counter~0 20)} is VALID [2022-04-08 05:29:09,017 INFO L290 TraceCheckUtils]: 22: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-08 05:29:09,017 INFO L290 TraceCheckUtils]: 21: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-08 05:29:09,017 INFO L290 TraceCheckUtils]: 20: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-08 05:29:09,017 INFO L272 TraceCheckUtils]: 19: Hoare triple {2706#(< ~counter~0 20)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2559#true} is VALID [2022-04-08 05:29:09,018 INFO L290 TraceCheckUtils]: 18: Hoare triple {2706#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {2706#(< ~counter~0 20)} is VALID [2022-04-08 05:29:09,018 INFO L290 TraceCheckUtils]: 17: Hoare triple {2764#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2706#(< ~counter~0 20)} is VALID [2022-04-08 05:29:09,019 INFO L290 TraceCheckUtils]: 16: Hoare triple {2764#(< ~counter~0 19)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2764#(< ~counter~0 19)} is VALID [2022-04-08 05:29:09,019 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2559#true} {2764#(< ~counter~0 19)} #66#return; {2764#(< ~counter~0 19)} is VALID [2022-04-08 05:29:09,019 INFO L290 TraceCheckUtils]: 14: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-08 05:29:09,020 INFO L290 TraceCheckUtils]: 13: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-08 05:29:09,020 INFO L290 TraceCheckUtils]: 12: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-08 05:29:09,020 INFO L272 TraceCheckUtils]: 11: Hoare triple {2764#(< ~counter~0 19)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2559#true} is VALID [2022-04-08 05:29:09,020 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2559#true} {2764#(< ~counter~0 19)} #64#return; {2764#(< ~counter~0 19)} is VALID [2022-04-08 05:29:09,020 INFO L290 TraceCheckUtils]: 9: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-08 05:29:09,021 INFO L290 TraceCheckUtils]: 8: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-08 05:29:09,021 INFO L290 TraceCheckUtils]: 7: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-08 05:29:09,021 INFO L272 TraceCheckUtils]: 6: Hoare triple {2764#(< ~counter~0 19)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2559#true} is VALID [2022-04-08 05:29:09,021 INFO L290 TraceCheckUtils]: 5: Hoare triple {2764#(< ~counter~0 19)} 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 19)} is VALID [2022-04-08 05:29:09,022 INFO L272 TraceCheckUtils]: 4: Hoare triple {2764#(< ~counter~0 19)} call #t~ret7 := main(); {2764#(< ~counter~0 19)} is VALID [2022-04-08 05:29:09,022 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2764#(< ~counter~0 19)} {2559#true} #82#return; {2764#(< ~counter~0 19)} is VALID [2022-04-08 05:29:09,022 INFO L290 TraceCheckUtils]: 2: Hoare triple {2764#(< ~counter~0 19)} assume true; {2764#(< ~counter~0 19)} is VALID [2022-04-08 05:29:09,023 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 19)} is VALID [2022-04-08 05:29:09,023 INFO L272 TraceCheckUtils]: 0: Hoare triple {2559#true} call ULTIMATE.init(); {2559#true} is VALID [2022-04-08 05:29:09,025 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-08 05:29:09,025 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:29:09,025 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1756172627] [2022-04-08 05:29:09,026 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:29:09,026 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [424634838] [2022-04-08 05:29:09,026 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [424634838] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:29:09,026 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:29:09,026 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-08 05:29:09,026 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:29:09,026 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1806824400] [2022-04-08 05:29:09,026 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1806824400] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:09,026 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:09,026 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:09,027 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [293882385] [2022-04-08 05:29:09,027 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:29:09,027 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-08 05:29:09,027 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:29:09,027 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-08 05:29:09,053 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-08 05:29:09,053 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:29:09,054 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:09,054 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:29:09,055 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-08 05:29:09,055 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-08 05:29:09,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:09,275 INFO L93 Difference]: Finished difference Result 121 states and 152 transitions. [2022-04-08 05:29:09,275 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 05:29:09,275 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-08 05:29:09,277 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:29:09,277 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-08 05:29:09,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-08 05:29:09,279 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-08 05:29:09,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-08 05:29:09,281 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 74 transitions. [2022-04-08 05:29:09,335 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-08 05:29:09,337 INFO L225 Difference]: With dead ends: 121 [2022-04-08 05:29:09,337 INFO L226 Difference]: Without dead ends: 102 [2022-04-08 05:29:09,338 INFO L912 BasicCegarLoop]: 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-08 05:29:09,338 INFO L913 BasicCegarLoop]: 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-08 05:29:09,339 INFO L914 BasicCegarLoop]: 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-08 05:29:09,339 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-04-08 05:29:09,397 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 100. [2022-04-08 05:29:09,397 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:29:09,398 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-08 05:29:09,398 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-08 05:29:09,398 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-08 05:29:09,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:09,402 INFO L93 Difference]: Finished difference Result 102 states and 128 transitions. [2022-04-08 05:29:09,402 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 128 transitions. [2022-04-08 05:29:09,403 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:09,403 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:09,403 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-08 05:29:09,404 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-08 05:29:09,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:09,408 INFO L93 Difference]: Finished difference Result 102 states and 128 transitions. [2022-04-08 05:29:09,408 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 128 transitions. [2022-04-08 05:29:09,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:09,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:09,409 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:29:09,409 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:29:09,409 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-08 05:29:09,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 127 transitions. [2022-04-08 05:29:09,413 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 127 transitions. Word has length 42 [2022-04-08 05:29:09,413 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:29:09,413 INFO L478 AbstractCegarLoop]: Abstraction has 100 states and 127 transitions. [2022-04-08 05:29:09,413 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 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-08 05:29:09,413 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 100 states and 127 transitions. [2022-04-08 05:29:09,542 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-08 05:29:09,543 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 127 transitions. [2022-04-08 05:29:09,543 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 05:29:09,543 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:09,543 INFO L499 BasicCegarLoop]: 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-08 05:29:09,571 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-08 05:29:09,766 WARN L460 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-08 05:29:09,767 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:09,767 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:09,767 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 1 times [2022-04-08 05:29:09,767 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:09,767 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [512131234] [2022-04-08 05:29:09,768 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:09,768 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 2 times [2022-04-08 05:29:09,768 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:09,768 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2076014884] [2022-04-08 05:29:09,768 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:09,768 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:09,779 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:29:09,779 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [877005277] [2022-04-08 05:29:09,779 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:29:09,779 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:09,779 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:29:09,780 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-08 05:29:09,789 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-08 05:29:09,827 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:29:09,827 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:29:09,828 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 05:29:09,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:09,843 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:29:10,021 INFO L272 TraceCheckUtils]: 0: Hoare triple {3466#true} call ULTIMATE.init(); {3466#true} is VALID [2022-04-08 05:29:10,022 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-08 05:29:10,022 INFO L290 TraceCheckUtils]: 2: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-08 05:29:10,022 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3466#true} {3466#true} #82#return; {3466#true} is VALID [2022-04-08 05:29:10,022 INFO L272 TraceCheckUtils]: 4: Hoare triple {3466#true} call #t~ret7 := main(); {3466#true} is VALID [2022-04-08 05:29:10,022 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-08 05:29:10,022 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-08 05:29:10,022 INFO L290 TraceCheckUtils]: 7: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-08 05:29:10,022 INFO L290 TraceCheckUtils]: 8: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-08 05:29:10,023 INFO L290 TraceCheckUtils]: 9: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-08 05:29:10,023 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3466#true} {3466#true} #64#return; {3466#true} is VALID [2022-04-08 05:29:10,023 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-08 05:29:10,023 INFO L290 TraceCheckUtils]: 12: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-08 05:29:10,023 INFO L290 TraceCheckUtils]: 13: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-08 05:29:10,023 INFO L290 TraceCheckUtils]: 14: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-08 05:29:10,023 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3466#true} {3466#true} #66#return; {3466#true} is VALID [2022-04-08 05:29:10,024 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-08 05:29:10,024 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-08 05:29:10,025 INFO L290 TraceCheckUtils]: 18: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:29:10,030 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-08 05:29:10,030 INFO L290 TraceCheckUtils]: 20: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-08 05:29:10,030 INFO L290 TraceCheckUtils]: 21: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-08 05:29:10,030 INFO L290 TraceCheckUtils]: 22: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-08 05:29:10,031 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-08 05:29:10,031 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-08 05:29:10,031 INFO L290 TraceCheckUtils]: 25: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-08 05:29:10,031 INFO L290 TraceCheckUtils]: 26: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-08 05:29:10,031 INFO L290 TraceCheckUtils]: 27: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-08 05:29:10,032 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-08 05:29:10,032 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-08 05:29:10,032 INFO L290 TraceCheckUtils]: 30: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-08 05:29:10,032 INFO L290 TraceCheckUtils]: 31: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-08 05:29:10,032 INFO L290 TraceCheckUtils]: 32: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-08 05:29:10,033 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-08 05:29:10,033 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-08 05:29:10,034 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-08 05:29:10,034 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-08 05:29:10,034 INFO L290 TraceCheckUtils]: 37: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:29:10,036 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-08 05:29:10,036 INFO L290 TraceCheckUtils]: 39: Hoare triple {3586#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3590#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:10,036 INFO L290 TraceCheckUtils]: 40: Hoare triple {3590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3467#false} is VALID [2022-04-08 05:29:10,037 INFO L290 TraceCheckUtils]: 41: Hoare triple {3467#false} assume !false; {3467#false} is VALID [2022-04-08 05:29:10,037 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-08 05:29:10,037 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:29:10,037 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:29:10,037 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2076014884] [2022-04-08 05:29:10,037 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:29:10,037 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [877005277] [2022-04-08 05:29:10,037 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [877005277] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:10,037 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:10,038 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:10,038 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:29:10,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [512131234] [2022-04-08 05:29:10,038 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [512131234] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:10,038 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:10,038 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:10,038 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1264909235] [2022-04-08 05:29:10,038 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:29:10,039 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-08 05:29:10,039 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:29:10,039 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-08 05:29:10,060 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-08 05:29:10,060 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:29:10,060 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:10,061 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:29:10,061 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:29:10,062 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-08 05:29:10,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:10,280 INFO L93 Difference]: Finished difference Result 106 states and 132 transitions. [2022-04-08 05:29:10,280 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:29:10,281 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-08 05:29:10,281 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:29:10,281 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-08 05:29:10,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-08 05:29:10,283 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-08 05:29:10,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-08 05:29:10,284 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2022-04-08 05:29:10,355 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-08 05:29:10,357 INFO L225 Difference]: With dead ends: 106 [2022-04-08 05:29:10,357 INFO L226 Difference]: Without dead ends: 103 [2022-04-08 05:29:10,357 INFO L912 BasicCegarLoop]: 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-08 05:29:10,358 INFO L913 BasicCegarLoop]: 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-08 05:29:10,358 INFO L914 BasicCegarLoop]: 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-08 05:29:10,358 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-08 05:29:10,422 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-08 05:29:10,422 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:29:10,423 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-08 05:29:10,423 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-08 05:29:10,423 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-08 05:29:10,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:10,427 INFO L93 Difference]: Finished difference Result 103 states and 128 transitions. [2022-04-08 05:29:10,427 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-08 05:29:10,427 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:10,427 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:10,428 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-08 05:29:10,428 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-08 05:29:10,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:10,431 INFO L93 Difference]: Finished difference Result 103 states and 128 transitions. [2022-04-08 05:29:10,431 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-08 05:29:10,432 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:10,432 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:10,432 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:29:10,432 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:29:10,433 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-08 05:29:10,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 128 transitions. [2022-04-08 05:29:10,436 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 128 transitions. Word has length 42 [2022-04-08 05:29:10,436 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:29:10,437 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 128 transitions. [2022-04-08 05:29:10,437 INFO L479 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-08 05:29:10,437 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 128 transitions. [2022-04-08 05:29:10,565 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-08 05:29:10,565 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-08 05:29:10,565 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 05:29:10,565 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:10,566 INFO L499 BasicCegarLoop]: 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-08 05:29:10,591 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-08 05:29:10,783 WARN L460 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-08 05:29:10,783 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:10,784 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:10,784 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 1 times [2022-04-08 05:29:10,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:10,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1254484742] [2022-04-08 05:29:10,785 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:10,785 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 2 times [2022-04-08 05:29:10,785 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:10,785 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [410241430] [2022-04-08 05:29:10,785 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:10,785 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:10,796 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:29:10,797 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1894758311] [2022-04-08 05:29:10,797 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:29:10,797 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:10,797 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:29:10,800 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-08 05:29:10,807 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-08 05:29:10,852 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:29:10,852 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:29:10,853 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 05:29:10,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:10,863 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:29:10,998 INFO L272 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2022-04-08 05:29:10,998 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-08 05:29:10,999 INFO L290 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:29:11,000 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #82#return; {4222#true} is VALID [2022-04-08 05:29:11,001 INFO L272 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret7 := main(); {4222#true} is VALID [2022-04-08 05:29:11,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-08 05:29:11,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-08 05:29:11,002 INFO L290 TraceCheckUtils]: 7: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:29:11,002 INFO L290 TraceCheckUtils]: 8: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:29:11,002 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:29:11,002 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#true} {4222#true} #64#return; {4222#true} is VALID [2022-04-08 05:29:11,002 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-08 05:29:11,002 INFO L290 TraceCheckUtils]: 12: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:29:11,002 INFO L290 TraceCheckUtils]: 13: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:29:11,002 INFO L290 TraceCheckUtils]: 14: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:29:11,002 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4222#true} {4222#true} #66#return; {4222#true} is VALID [2022-04-08 05:29:11,003 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-08 05:29:11,003 INFO L290 TraceCheckUtils]: 17: Hoare triple {4222#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4222#true} is VALID [2022-04-08 05:29:11,003 INFO L290 TraceCheckUtils]: 18: Hoare triple {4222#true} assume !!(#t~post6 < 20);havoc #t~post6; {4222#true} is VALID [2022-04-08 05:29:11,004 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-08 05:29:11,004 INFO L290 TraceCheckUtils]: 20: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:29:11,004 INFO L290 TraceCheckUtils]: 21: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:29:11,008 INFO L290 TraceCheckUtils]: 22: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:29:11,009 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4222#true} {4222#true} #68#return; {4222#true} is VALID [2022-04-08 05:29:11,009 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-08 05:29:11,010 INFO L290 TraceCheckUtils]: 25: Hoare triple {4222#true} ~cond := #in~cond; {4302#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:11,011 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-08 05:29:11,011 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-08 05:29:11,012 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-08 05:29:11,012 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-08 05:29:11,012 INFO L290 TraceCheckUtils]: 30: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:29:11,012 INFO L290 TraceCheckUtils]: 31: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:29:11,012 INFO L290 TraceCheckUtils]: 32: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:29:11,013 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-08 05:29:11,013 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-08 05:29:11,013 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-08 05:29:11,013 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:29:11,013 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:29:11,014 INFO L290 TraceCheckUtils]: 38: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:29:11,014 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-08 05:29:11,015 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-08 05:29:11,015 INFO L290 TraceCheckUtils]: 41: Hoare triple {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:11,016 INFO L290 TraceCheckUtils]: 42: Hoare triple {4355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4223#false} is VALID [2022-04-08 05:29:11,016 INFO L290 TraceCheckUtils]: 43: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2022-04-08 05:29:11,017 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-08 05:29:11,017 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:29:30,136 INFO L290 TraceCheckUtils]: 43: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2022-04-08 05:29:30,137 INFO L290 TraceCheckUtils]: 42: Hoare triple {4355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4223#false} is VALID [2022-04-08 05:29:30,137 INFO L290 TraceCheckUtils]: 41: Hoare triple {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:30,138 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-08 05:29:30,139 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-08 05:29:30,139 INFO L290 TraceCheckUtils]: 38: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:29:30,139 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:29:30,139 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:29:30,139 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-08 05:29:30,140 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-08 05:29:30,140 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-08 05:29:30,140 INFO L290 TraceCheckUtils]: 32: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:29:30,141 INFO L290 TraceCheckUtils]: 31: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:29:30,141 INFO L290 TraceCheckUtils]: 30: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:29:30,141 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-08 05:29:30,142 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-08 05:29:30,142 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-08 05:29:30,142 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-08 05:29:30,143 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-08 05:29:30,143 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-08 05:29:30,143 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4222#true} {4222#true} #68#return; {4222#true} is VALID [2022-04-08 05:29:30,143 INFO L290 TraceCheckUtils]: 22: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:29:30,143 INFO L290 TraceCheckUtils]: 21: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:29:30,143 INFO L290 TraceCheckUtils]: 20: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:29:30,143 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-08 05:29:30,143 INFO L290 TraceCheckUtils]: 18: Hoare triple {4222#true} assume !!(#t~post6 < 20);havoc #t~post6; {4222#true} is VALID [2022-04-08 05:29:30,143 INFO L290 TraceCheckUtils]: 17: Hoare triple {4222#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4222#true} is VALID [2022-04-08 05:29:30,143 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-08 05:29:30,144 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4222#true} {4222#true} #66#return; {4222#true} is VALID [2022-04-08 05:29:30,144 INFO L290 TraceCheckUtils]: 14: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:29:30,144 INFO L290 TraceCheckUtils]: 13: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:29:30,144 INFO L290 TraceCheckUtils]: 12: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:29:30,144 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-08 05:29:30,144 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#true} {4222#true} #64#return; {4222#true} is VALID [2022-04-08 05:29:30,144 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:29:30,144 INFO L290 TraceCheckUtils]: 8: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:29:30,144 INFO L290 TraceCheckUtils]: 7: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:29:30,144 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-08 05:29:30,144 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-08 05:29:30,144 INFO L272 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret7 := main(); {4222#true} is VALID [2022-04-08 05:29:30,145 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #82#return; {4222#true} is VALID [2022-04-08 05:29:30,145 INFO L290 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:29:30,145 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-08 05:29:30,145 INFO L272 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2022-04-08 05:29:30,145 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-08 05:29:30,145 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:29:30,145 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [410241430] [2022-04-08 05:29:30,145 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:29:30,145 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1894758311] [2022-04-08 05:29:30,146 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1894758311] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:29:30,146 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:29:30,146 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-08 05:29:30,146 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:29:30,146 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1254484742] [2022-04-08 05:29:30,146 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1254484742] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:30,146 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:30,146 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:29:30,146 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [931616679] [2022-04-08 05:29:30,146 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:29:30,147 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-08 05:29:30,147 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:29:30,147 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-08 05:29:30,179 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-08 05:29:30,179 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 05:29:30,179 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:30,180 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 05:29:30,180 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:29:30,180 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-08 05:29:30,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:30,930 INFO L93 Difference]: Finished difference Result 118 states and 148 transitions. [2022-04-08 05:29:30,930 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:29:30,930 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-08 05:29:30,930 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:29:30,931 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-08 05:29:30,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-08 05:29:30,932 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-08 05:29:30,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-08 05:29:30,934 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 60 transitions. [2022-04-08 05:29:30,994 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-08 05:29:30,996 INFO L225 Difference]: With dead ends: 118 [2022-04-08 05:29:30,996 INFO L226 Difference]: Without dead ends: 106 [2022-04-08 05:29:30,997 INFO L912 BasicCegarLoop]: 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-08 05:29:30,997 INFO L913 BasicCegarLoop]: 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-08 05:29:30,997 INFO L914 BasicCegarLoop]: 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-08 05:29:30,998 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2022-04-08 05:29:31,060 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 104. [2022-04-08 05:29:31,060 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:29:31,061 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-08 05:29:31,061 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-08 05:29:31,061 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-08 05:29:31,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:31,066 INFO L93 Difference]: Finished difference Result 106 states and 133 transitions. [2022-04-08 05:29:31,066 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 133 transitions. [2022-04-08 05:29:31,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:31,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:31,067 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-08 05:29:31,068 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-08 05:29:31,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:31,071 INFO L93 Difference]: Finished difference Result 106 states and 133 transitions. [2022-04-08 05:29:31,071 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 133 transitions. [2022-04-08 05:29:31,071 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:31,071 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:31,072 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:29:31,072 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:29:31,072 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-08 05:29:31,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 130 transitions. [2022-04-08 05:29:31,075 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 130 transitions. Word has length 44 [2022-04-08 05:29:31,075 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:29:31,075 INFO L478 AbstractCegarLoop]: Abstraction has 104 states and 130 transitions. [2022-04-08 05:29:31,075 INFO L479 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-08 05:29:31,075 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 104 states and 130 transitions. [2022-04-08 05:29:31,221 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-08 05:29:31,221 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 130 transitions. [2022-04-08 05:29:31,221 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-08 05:29:31,222 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:31,222 INFO L499 BasicCegarLoop]: 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-08 05:29:31,238 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-08 05:29:31,422 WARN L460 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-08 05:29:31,423 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:31,423 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:31,423 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 3 times [2022-04-08 05:29:31,423 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:31,423 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [86291649] [2022-04-08 05:29:31,423 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:31,423 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 4 times [2022-04-08 05:29:31,424 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:31,424 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1116503177] [2022-04-08 05:29:31,424 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:31,424 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:31,441 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:29:31,441 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1679996229] [2022-04-08 05:29:31,441 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:29:31,441 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:31,441 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:29:31,442 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-08 05:29:31,450 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-08 05:29:31,485 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:29:31,485 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:29:31,486 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-08 05:29:31,498 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:31,499 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:29:31,833 INFO L272 TraceCheckUtils]: 0: Hoare triple {5156#true} call ULTIMATE.init(); {5156#true} is VALID [2022-04-08 05:29:31,834 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-08 05:29:31,834 INFO L290 TraceCheckUtils]: 2: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:29:31,834 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5156#true} {5156#true} #82#return; {5156#true} is VALID [2022-04-08 05:29:31,834 INFO L272 TraceCheckUtils]: 4: Hoare triple {5156#true} call #t~ret7 := main(); {5156#true} is VALID [2022-04-08 05:29:31,834 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-08 05:29:31,834 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-08 05:29:31,834 INFO L290 TraceCheckUtils]: 7: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:29:31,834 INFO L290 TraceCheckUtils]: 8: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:29:31,834 INFO L290 TraceCheckUtils]: 9: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:29:31,834 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5156#true} {5156#true} #64#return; {5156#true} is VALID [2022-04-08 05:29:31,835 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-08 05:29:31,835 INFO L290 TraceCheckUtils]: 12: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:29:31,835 INFO L290 TraceCheckUtils]: 13: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:29:31,835 INFO L290 TraceCheckUtils]: 14: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:29:31,835 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5156#true} {5156#true} #66#return; {5156#true} is VALID [2022-04-08 05:29:31,835 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-08 05:29:31,836 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-08 05:29:31,836 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 < 20);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-08 05:29:31,836 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-08 05:29:31,837 INFO L290 TraceCheckUtils]: 20: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:29:31,837 INFO L290 TraceCheckUtils]: 21: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:29:31,837 INFO L290 TraceCheckUtils]: 22: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:29:31,838 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-08 05:29:31,838 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-08 05:29:31,838 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:29:31,838 INFO L290 TraceCheckUtils]: 26: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:29:31,838 INFO L290 TraceCheckUtils]: 27: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:29:31,839 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-08 05:29:31,839 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-08 05:29:31,839 INFO L290 TraceCheckUtils]: 30: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:29:31,839 INFO L290 TraceCheckUtils]: 31: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:29:31,839 INFO L290 TraceCheckUtils]: 32: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:29:31,840 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-08 05:29:31,840 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-08 05:29:31,841 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-08 05:29:31,842 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-08 05:29:31,842 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 < 20);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-08 05:29:31,842 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-08 05:29:31,842 INFO L290 TraceCheckUtils]: 39: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:29:31,842 INFO L290 TraceCheckUtils]: 40: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:29:31,842 INFO L290 TraceCheckUtils]: 41: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:29:31,843 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-08 05:29:31,844 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-08 05:29:31,844 INFO L290 TraceCheckUtils]: 44: Hoare triple {5292#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5296#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:31,845 INFO L290 TraceCheckUtils]: 45: Hoare triple {5296#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5157#false} is VALID [2022-04-08 05:29:31,845 INFO L290 TraceCheckUtils]: 46: Hoare triple {5157#false} assume !false; {5157#false} is VALID [2022-04-08 05:29:31,845 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-08 05:29:31,845 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:29:32,058 INFO L290 TraceCheckUtils]: 46: Hoare triple {5157#false} assume !false; {5157#false} is VALID [2022-04-08 05:29:32,059 INFO L290 TraceCheckUtils]: 45: Hoare triple {5296#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5157#false} is VALID [2022-04-08 05:29:32,059 INFO L290 TraceCheckUtils]: 44: Hoare triple {5292#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5296#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:32,060 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-08 05:29:32,061 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-08 05:29:32,061 INFO L290 TraceCheckUtils]: 41: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:29:32,061 INFO L290 TraceCheckUtils]: 40: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:29:32,061 INFO L290 TraceCheckUtils]: 39: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:29:32,061 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-08 05:29:32,062 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 < 20);havoc #t~post6; {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:29:32,062 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-08 05:29:32,194 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-08 05:29:32,194 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-08 05:29:32,195 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-08 05:29:32,195 INFO L290 TraceCheckUtils]: 32: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:29:32,195 INFO L290 TraceCheckUtils]: 31: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:29:32,195 INFO L290 TraceCheckUtils]: 30: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:29:32,195 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-08 05:29:32,196 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-08 05:29:32,196 INFO L290 TraceCheckUtils]: 27: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:29:32,196 INFO L290 TraceCheckUtils]: 26: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:29:32,196 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:29:32,196 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-08 05:29:32,197 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-08 05:29:32,197 INFO L290 TraceCheckUtils]: 22: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:29:32,197 INFO L290 TraceCheckUtils]: 21: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:29:32,198 INFO L290 TraceCheckUtils]: 20: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:29:32,198 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-08 05:29:32,198 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 < 20);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-08 05:29:32,199 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-08 05:29:32,199 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-08 05:29:32,199 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5156#true} {5156#true} #66#return; {5156#true} is VALID [2022-04-08 05:29:32,199 INFO L290 TraceCheckUtils]: 14: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:29:32,199 INFO L290 TraceCheckUtils]: 13: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:29:32,200 INFO L290 TraceCheckUtils]: 12: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:29:32,200 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-08 05:29:32,200 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5156#true} {5156#true} #64#return; {5156#true} is VALID [2022-04-08 05:29:32,200 INFO L290 TraceCheckUtils]: 9: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:29:32,200 INFO L290 TraceCheckUtils]: 8: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:29:32,200 INFO L290 TraceCheckUtils]: 7: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:29:32,200 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-08 05:29:32,200 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-08 05:29:32,200 INFO L272 TraceCheckUtils]: 4: Hoare triple {5156#true} call #t~ret7 := main(); {5156#true} is VALID [2022-04-08 05:29:32,200 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5156#true} {5156#true} #82#return; {5156#true} is VALID [2022-04-08 05:29:32,200 INFO L290 TraceCheckUtils]: 2: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:29:32,201 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-08 05:29:32,201 INFO L272 TraceCheckUtils]: 0: Hoare triple {5156#true} call ULTIMATE.init(); {5156#true} is VALID [2022-04-08 05:29:32,201 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-08 05:29:32,201 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:29:32,201 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1116503177] [2022-04-08 05:29:32,201 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:29:32,201 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1679996229] [2022-04-08 05:29:32,201 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1679996229] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:29:32,201 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:29:32,201 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-08 05:29:32,202 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:29:32,202 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [86291649] [2022-04-08 05:29:32,202 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [86291649] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:32,202 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:32,202 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 05:29:32,202 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [513313257] [2022-04-08 05:29:32,202 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:29:32,203 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-08 05:29:32,203 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:29:32,203 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-08 05:29:32,233 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-08 05:29:32,233 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 05:29:32,233 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:32,233 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 05:29:32,234 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-08 05:29:32,234 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-08 05:29:32,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:32,660 INFO L93 Difference]: Finished difference Result 131 states and 169 transitions. [2022-04-08 05:29:32,660 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 05:29:32,660 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-08 05:29:32,660 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:29:32,660 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-08 05:29:32,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-08 05:29:32,662 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-08 05:29:32,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-08 05:29:32,663 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-08 05:29:32,731 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-08 05:29:32,736 INFO L225 Difference]: With dead ends: 131 [2022-04-08 05:29:32,736 INFO L226 Difference]: Without dead ends: 129 [2022-04-08 05:29:32,736 INFO L912 BasicCegarLoop]: 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-08 05:29:32,737 INFO L913 BasicCegarLoop]: 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-08 05:29:32,737 INFO L914 BasicCegarLoop]: 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-08 05:29:32,738 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-08 05:29:32,802 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 124. [2022-04-08 05:29:32,802 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:29:32,803 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-08 05:29:32,803 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-08 05:29:32,803 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-08 05:29:32,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:32,808 INFO L93 Difference]: Finished difference Result 129 states and 167 transitions. [2022-04-08 05:29:32,808 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 167 transitions. [2022-04-08 05:29:32,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:32,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:32,809 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-08 05:29:32,809 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-08 05:29:32,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:32,813 INFO L93 Difference]: Finished difference Result 129 states and 167 transitions. [2022-04-08 05:29:32,813 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 167 transitions. [2022-04-08 05:29:32,814 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:32,814 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:32,814 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:29:32,815 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:29:32,815 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-08 05:29:32,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 158 transitions. [2022-04-08 05:29:32,819 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 158 transitions. Word has length 47 [2022-04-08 05:29:32,819 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:29:32,819 INFO L478 AbstractCegarLoop]: Abstraction has 124 states and 158 transitions. [2022-04-08 05:29:32,819 INFO L479 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-08 05:29:32,819 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 124 states and 158 transitions. [2022-04-08 05:29:33,003 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-08 05:29:33,003 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 158 transitions. [2022-04-08 05:29:33,004 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-08 05:29:33,004 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:33,004 INFO L499 BasicCegarLoop]: 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-08 05:29:33,029 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-08 05:29:33,204 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-08 05:29:33,205 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:33,205 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:33,205 INFO L85 PathProgramCache]: Analyzing trace with hash -1475439812, now seen corresponding path program 1 times [2022-04-08 05:29:33,205 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:33,205 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1578639453] [2022-04-08 05:29:33,206 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:33,206 INFO L85 PathProgramCache]: Analyzing trace with hash -1475439812, now seen corresponding path program 2 times [2022-04-08 05:29:33,206 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:33,206 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1726014575] [2022-04-08 05:29:33,206 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:33,206 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:33,217 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:29:33,218 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [697007084] [2022-04-08 05:29:33,218 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:29:33,218 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:33,218 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:29:33,219 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-08 05:29:33,235 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-08 05:29:33,277 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:29:33,277 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:29:33,278 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-08 05:29:33,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:33,293 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:29:33,761 INFO L272 TraceCheckUtils]: 0: Hoare triple {6215#true} call ULTIMATE.init(); {6215#true} is VALID [2022-04-08 05:29:33,762 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-08 05:29:33,762 INFO L290 TraceCheckUtils]: 2: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:29:33,762 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6215#true} {6215#true} #82#return; {6215#true} is VALID [2022-04-08 05:29:33,762 INFO L272 TraceCheckUtils]: 4: Hoare triple {6215#true} call #t~ret7 := main(); {6215#true} is VALID [2022-04-08 05:29:33,762 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-08 05:29:33,762 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-08 05:29:33,762 INFO L290 TraceCheckUtils]: 7: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:29:33,762 INFO L290 TraceCheckUtils]: 8: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:29:33,762 INFO L290 TraceCheckUtils]: 9: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:29:33,762 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6215#true} {6215#true} #64#return; {6215#true} is VALID [2022-04-08 05:29:33,763 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-08 05:29:33,763 INFO L290 TraceCheckUtils]: 12: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:29:33,763 INFO L290 TraceCheckUtils]: 13: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:29:33,763 INFO L290 TraceCheckUtils]: 14: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:29:33,763 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6215#true} {6215#true} #66#return; {6215#true} is VALID [2022-04-08 05:29:33,763 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-08 05:29:33,764 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-08 05:29:33,764 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 < 20);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-08 05:29:33,764 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-08 05:29:33,764 INFO L290 TraceCheckUtils]: 20: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:29:33,765 INFO L290 TraceCheckUtils]: 21: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:29:33,765 INFO L290 TraceCheckUtils]: 22: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:29:33,766 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-08 05:29:33,766 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-08 05:29:33,766 INFO L290 TraceCheckUtils]: 25: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:29:33,766 INFO L290 TraceCheckUtils]: 26: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:29:33,766 INFO L290 TraceCheckUtils]: 27: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:29:33,767 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-08 05:29:33,767 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-08 05:29:33,767 INFO L290 TraceCheckUtils]: 30: Hoare triple {6215#true} ~cond := #in~cond; {6311#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:33,767 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-08 05:29:33,768 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-08 05:29:33,769 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-08 05:29:33,769 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-08 05:29:33,770 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-08 05:29:33,771 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-08 05:29:33,771 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 < 20);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-08 05:29:33,771 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-08 05:29:33,771 INFO L290 TraceCheckUtils]: 39: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:29:33,771 INFO L290 TraceCheckUtils]: 40: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:29:33,771 INFO L290 TraceCheckUtils]: 41: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:29:33,772 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-08 05:29:33,772 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-08 05:29:33,790 INFO L290 TraceCheckUtils]: 44: Hoare triple {6215#true} ~cond := #in~cond; {6311#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:33,790 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-08 05:29:33,790 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-08 05:29:33,792 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-08 05:29:33,793 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-08 05:29:33,793 INFO L290 TraceCheckUtils]: 49: Hoare triple {6369#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6373#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:33,793 INFO L290 TraceCheckUtils]: 50: Hoare triple {6373#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6216#false} is VALID [2022-04-08 05:29:33,794 INFO L290 TraceCheckUtils]: 51: Hoare triple {6216#false} assume !false; {6216#false} is VALID [2022-04-08 05:29:33,794 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-08 05:29:33,794 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:30:27,741 INFO L290 TraceCheckUtils]: 51: Hoare triple {6216#false} assume !false; {6216#false} is VALID [2022-04-08 05:30:27,742 INFO L290 TraceCheckUtils]: 50: Hoare triple {6373#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6216#false} is VALID [2022-04-08 05:30:27,743 INFO L290 TraceCheckUtils]: 49: Hoare triple {6369#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6373#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:27,744 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-08 05:30:27,744 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-08 05:30:27,745 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-08 05:30:27,745 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-08 05:30:27,745 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-08 05:30:27,745 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-08 05:30:27,746 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-08 05:30:27,746 INFO L290 TraceCheckUtils]: 41: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:30:27,746 INFO L290 TraceCheckUtils]: 40: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:30:27,746 INFO L290 TraceCheckUtils]: 39: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:30:27,746 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-08 05:30:27,747 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 < 20);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-08 05:30:27,747 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-08 05:30:27,888 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-08 05:30:27,889 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-08 05:30:27,890 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-08 05:30:27,890 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-08 05:30:27,891 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-08 05:30:27,891 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-08 05:30:27,891 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-08 05:30:27,891 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6215#true} {6215#true} #70#return; {6215#true} is VALID [2022-04-08 05:30:27,891 INFO L290 TraceCheckUtils]: 27: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:30:27,891 INFO L290 TraceCheckUtils]: 26: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:30:27,891 INFO L290 TraceCheckUtils]: 25: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:30:27,891 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-08 05:30:27,891 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6215#true} {6215#true} #68#return; {6215#true} is VALID [2022-04-08 05:30:27,891 INFO L290 TraceCheckUtils]: 22: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:30:27,891 INFO L290 TraceCheckUtils]: 21: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:30:27,891 INFO L290 TraceCheckUtils]: 20: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:30:27,892 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-08 05:30:27,892 INFO L290 TraceCheckUtils]: 18: Hoare triple {6215#true} assume !!(#t~post6 < 20);havoc #t~post6; {6215#true} is VALID [2022-04-08 05:30:27,892 INFO L290 TraceCheckUtils]: 17: Hoare triple {6215#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6215#true} is VALID [2022-04-08 05:30:27,892 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-08 05:30:27,892 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6215#true} {6215#true} #66#return; {6215#true} is VALID [2022-04-08 05:30:27,892 INFO L290 TraceCheckUtils]: 14: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:30:27,892 INFO L290 TraceCheckUtils]: 13: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:30:27,892 INFO L290 TraceCheckUtils]: 12: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:30:27,892 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-08 05:30:27,892 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6215#true} {6215#true} #64#return; {6215#true} is VALID [2022-04-08 05:30:27,892 INFO L290 TraceCheckUtils]: 9: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:30:27,892 INFO L290 TraceCheckUtils]: 8: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-08 05:30:27,892 INFO L290 TraceCheckUtils]: 7: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-08 05:30:27,892 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-08 05:30:27,892 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-08 05:30:27,892 INFO L272 TraceCheckUtils]: 4: Hoare triple {6215#true} call #t~ret7 := main(); {6215#true} is VALID [2022-04-08 05:30:27,892 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6215#true} {6215#true} #82#return; {6215#true} is VALID [2022-04-08 05:30:27,893 INFO L290 TraceCheckUtils]: 2: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-08 05:30:27,893 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-08 05:30:27,893 INFO L272 TraceCheckUtils]: 0: Hoare triple {6215#true} call ULTIMATE.init(); {6215#true} is VALID [2022-04-08 05:30:27,893 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-08 05:30:27,893 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:30:27,893 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1726014575] [2022-04-08 05:30:27,893 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:30:27,893 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [697007084] [2022-04-08 05:30:27,893 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [697007084] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:30:27,893 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:30:27,893 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-08 05:30:27,894 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:30:27,894 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1578639453] [2022-04-08 05:30:27,894 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1578639453] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:27,894 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:27,894 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:30:27,894 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1374742418] [2022-04-08 05:30:27,894 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:30:27,894 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-08 05:30:27,895 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:30:27,895 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-08 05:30:27,929 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-08 05:30:27,929 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:30:27,929 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:27,929 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:30:27,929 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=99, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:30:27,929 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-08 05:30:28,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:28,982 INFO L93 Difference]: Finished difference Result 160 states and 210 transitions. [2022-04-08 05:30:28,982 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:30:28,982 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-08 05:30:28,982 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:30:28,982 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-08 05:30:28,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-04-08 05:30:28,984 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-08 05:30:28,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-04-08 05:30:28,985 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 94 transitions. [2022-04-08 05:30:29,085 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-08 05:30:29,088 INFO L225 Difference]: With dead ends: 160 [2022-04-08 05:30:29,088 INFO L226 Difference]: Without dead ends: 153 [2022-04-08 05:30:29,089 INFO L912 BasicCegarLoop]: 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-08 05:30:29,089 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 22 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 262 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-08 05:30:29,089 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 147 Invalid, 283 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 262 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 05:30:29,090 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 153 states. [2022-04-08 05:30:29,161 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 153 to 153. [2022-04-08 05:30:29,161 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:30:29,162 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-08 05:30:29,162 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-08 05:30:29,163 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-08 05:30:29,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:29,167 INFO L93 Difference]: Finished difference Result 153 states and 198 transitions. [2022-04-08 05:30:29,167 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-08 05:30:29,168 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:29,168 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:29,168 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-08 05:30:29,168 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-08 05:30:29,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:29,173 INFO L93 Difference]: Finished difference Result 153 states and 198 transitions. [2022-04-08 05:30:29,173 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-08 05:30:29,173 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:29,173 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:29,173 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:30:29,173 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:30:29,174 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-08 05:30:29,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 198 transitions. [2022-04-08 05:30:29,180 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 198 transitions. Word has length 52 [2022-04-08 05:30:29,180 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:30:29,181 INFO L478 AbstractCegarLoop]: Abstraction has 153 states and 198 transitions. [2022-04-08 05:30:29,181 INFO L479 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-08 05:30:29,181 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 153 states and 198 transitions. [2022-04-08 05:30:29,405 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-08 05:30:29,406 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-08 05:30:29,406 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-08 05:30:29,406 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:30:29,406 INFO L499 BasicCegarLoop]: 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-08 05:30:29,422 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-08 05:30:29,606 WARN L460 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-08 05:30:29,607 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:30:29,607 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:30:29,607 INFO L85 PathProgramCache]: Analyzing trace with hash 220857665, now seen corresponding path program 3 times [2022-04-08 05:30:29,607 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:29,607 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [376101354] [2022-04-08 05:30:29,608 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:30:29,608 INFO L85 PathProgramCache]: Analyzing trace with hash 220857665, now seen corresponding path program 4 times [2022-04-08 05:30:29,608 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:30:29,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1601875314] [2022-04-08 05:30:29,608 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:30:29,608 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:30:29,627 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:30:29,627 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [582114864] [2022-04-08 05:30:29,627 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:30:29,627 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:30:29,627 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:30:29,631 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-08 05:30:29,659 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-08 05:30:29,709 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:30:29,709 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:30:29,709 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 05:30:29,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:29,723 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:30:29,951 INFO L272 TraceCheckUtils]: 0: Hoare triple {7474#true} call ULTIMATE.init(); {7474#true} is VALID [2022-04-08 05:30:29,952 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-08 05:30:29,952 INFO L290 TraceCheckUtils]: 2: Hoare triple {7482#(<= ~counter~0 0)} assume true; {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:29,952 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7482#(<= ~counter~0 0)} {7474#true} #82#return; {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:29,953 INFO L272 TraceCheckUtils]: 4: Hoare triple {7482#(<= ~counter~0 0)} call #t~ret7 := main(); {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:29,953 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-08 05:30:29,953 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-08 05:30:29,953 INFO L290 TraceCheckUtils]: 7: Hoare triple {7482#(<= ~counter~0 0)} ~cond := #in~cond; {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:29,954 INFO L290 TraceCheckUtils]: 8: Hoare triple {7482#(<= ~counter~0 0)} assume !(0 == ~cond); {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:29,954 INFO L290 TraceCheckUtils]: 9: Hoare triple {7482#(<= ~counter~0 0)} assume true; {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:29,954 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7482#(<= ~counter~0 0)} {7482#(<= ~counter~0 0)} #64#return; {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:29,955 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-08 05:30:29,955 INFO L290 TraceCheckUtils]: 12: Hoare triple {7482#(<= ~counter~0 0)} ~cond := #in~cond; {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:29,955 INFO L290 TraceCheckUtils]: 13: Hoare triple {7482#(<= ~counter~0 0)} assume !(0 == ~cond); {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:29,955 INFO L290 TraceCheckUtils]: 14: Hoare triple {7482#(<= ~counter~0 0)} assume true; {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:29,956 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7482#(<= ~counter~0 0)} {7482#(<= ~counter~0 0)} #66#return; {7482#(<= ~counter~0 0)} is VALID [2022-04-08 05:30:29,956 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-08 05:30:29,957 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-08 05:30:29,957 INFO L290 TraceCheckUtils]: 18: Hoare triple {7531#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:29,957 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-08 05:30:29,958 INFO L290 TraceCheckUtils]: 20: Hoare triple {7531#(<= ~counter~0 1)} ~cond := #in~cond; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:29,958 INFO L290 TraceCheckUtils]: 21: Hoare triple {7531#(<= ~counter~0 1)} assume !(0 == ~cond); {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:29,958 INFO L290 TraceCheckUtils]: 22: Hoare triple {7531#(<= ~counter~0 1)} assume true; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:29,959 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7531#(<= ~counter~0 1)} {7531#(<= ~counter~0 1)} #68#return; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:29,959 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-08 05:30:29,959 INFO L290 TraceCheckUtils]: 25: Hoare triple {7531#(<= ~counter~0 1)} ~cond := #in~cond; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:29,960 INFO L290 TraceCheckUtils]: 26: Hoare triple {7531#(<= ~counter~0 1)} assume !(0 == ~cond); {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:29,960 INFO L290 TraceCheckUtils]: 27: Hoare triple {7531#(<= ~counter~0 1)} assume true; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:29,960 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7531#(<= ~counter~0 1)} {7531#(<= ~counter~0 1)} #70#return; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:29,961 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-08 05:30:29,961 INFO L290 TraceCheckUtils]: 30: Hoare triple {7531#(<= ~counter~0 1)} ~cond := #in~cond; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:29,961 INFO L290 TraceCheckUtils]: 31: Hoare triple {7531#(<= ~counter~0 1)} assume !(0 == ~cond); {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:29,962 INFO L290 TraceCheckUtils]: 32: Hoare triple {7531#(<= ~counter~0 1)} assume true; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:29,962 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7531#(<= ~counter~0 1)} {7531#(<= ~counter~0 1)} #72#return; {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:29,962 INFO L290 TraceCheckUtils]: 34: Hoare triple {7531#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {7531#(<= ~counter~0 1)} is VALID [2022-04-08 05:30:29,963 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-08 05:30:29,963 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-08 05:30:29,963 INFO L290 TraceCheckUtils]: 37: Hoare triple {7589#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:30:29,964 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-08 05:30:29,964 INFO L290 TraceCheckUtils]: 39: Hoare triple {7589#(<= ~counter~0 2)} ~cond := #in~cond; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:30:29,964 INFO L290 TraceCheckUtils]: 40: Hoare triple {7589#(<= ~counter~0 2)} assume !(0 == ~cond); {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:30:29,965 INFO L290 TraceCheckUtils]: 41: Hoare triple {7589#(<= ~counter~0 2)} assume true; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:30:29,965 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7589#(<= ~counter~0 2)} {7589#(<= ~counter~0 2)} #68#return; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:30:29,966 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-08 05:30:29,966 INFO L290 TraceCheckUtils]: 44: Hoare triple {7589#(<= ~counter~0 2)} ~cond := #in~cond; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:30:29,966 INFO L290 TraceCheckUtils]: 45: Hoare triple {7589#(<= ~counter~0 2)} assume !(0 == ~cond); {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:30:29,966 INFO L290 TraceCheckUtils]: 46: Hoare triple {7589#(<= ~counter~0 2)} assume true; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:30:29,967 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7589#(<= ~counter~0 2)} {7589#(<= ~counter~0 2)} #70#return; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:30:29,967 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-08 05:30:29,968 INFO L290 TraceCheckUtils]: 49: Hoare triple {7589#(<= ~counter~0 2)} ~cond := #in~cond; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:30:29,968 INFO L290 TraceCheckUtils]: 50: Hoare triple {7589#(<= ~counter~0 2)} assume !(0 == ~cond); {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:30:29,968 INFO L290 TraceCheckUtils]: 51: Hoare triple {7589#(<= ~counter~0 2)} assume true; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:30:29,969 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7589#(<= ~counter~0 2)} {7589#(<= ~counter~0 2)} #72#return; {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:30:29,969 INFO L290 TraceCheckUtils]: 53: Hoare triple {7589#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {7589#(<= ~counter~0 2)} is VALID [2022-04-08 05:30:29,969 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-08 05:30:29,970 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-08 05:30:29,970 INFO L290 TraceCheckUtils]: 56: Hoare triple {7647#(<= |main_#t~post6| 2)} assume !(#t~post6 < 20);havoc #t~post6; {7475#false} is VALID [2022-04-08 05:30:29,970 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-08 05:30:29,970 INFO L290 TraceCheckUtils]: 58: Hoare triple {7475#false} ~cond := #in~cond; {7475#false} is VALID [2022-04-08 05:30:29,970 INFO L290 TraceCheckUtils]: 59: Hoare triple {7475#false} assume 0 == ~cond; {7475#false} is VALID [2022-04-08 05:30:29,970 INFO L290 TraceCheckUtils]: 60: Hoare triple {7475#false} assume !false; {7475#false} is VALID [2022-04-08 05:30:29,970 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-08 05:30:29,970 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:30:30,240 INFO L290 TraceCheckUtils]: 60: Hoare triple {7475#false} assume !false; {7475#false} is VALID [2022-04-08 05:30:30,240 INFO L290 TraceCheckUtils]: 59: Hoare triple {7475#false} assume 0 == ~cond; {7475#false} is VALID [2022-04-08 05:30:30,240 INFO L290 TraceCheckUtils]: 58: Hoare triple {7475#false} ~cond := #in~cond; {7475#false} is VALID [2022-04-08 05:30:30,241 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-08 05:30:30,241 INFO L290 TraceCheckUtils]: 56: Hoare triple {7675#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {7475#false} is VALID [2022-04-08 05:30:30,241 INFO L290 TraceCheckUtils]: 55: Hoare triple {7679#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7675#(< |main_#t~post6| 20)} is VALID [2022-04-08 05:30:30,242 INFO L290 TraceCheckUtils]: 54: Hoare triple {7679#(< ~counter~0 20)} 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 20)} is VALID [2022-04-08 05:30:30,242 INFO L290 TraceCheckUtils]: 53: Hoare triple {7679#(< ~counter~0 20)} assume !!(~a~0 != ~b~0); {7679#(< ~counter~0 20)} is VALID [2022-04-08 05:30:30,243 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7474#true} {7679#(< ~counter~0 20)} #72#return; {7679#(< ~counter~0 20)} is VALID [2022-04-08 05:30:30,243 INFO L290 TraceCheckUtils]: 51: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-08 05:30:30,243 INFO L290 TraceCheckUtils]: 50: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-08 05:30:30,243 INFO L290 TraceCheckUtils]: 49: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-08 05:30:30,243 INFO L272 TraceCheckUtils]: 48: Hoare triple {7679#(< ~counter~0 20)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7474#true} is VALID [2022-04-08 05:30:30,244 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7474#true} {7679#(< ~counter~0 20)} #70#return; {7679#(< ~counter~0 20)} is VALID [2022-04-08 05:30:30,244 INFO L290 TraceCheckUtils]: 46: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-08 05:30:30,244 INFO L290 TraceCheckUtils]: 45: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-08 05:30:30,244 INFO L290 TraceCheckUtils]: 44: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-08 05:30:30,244 INFO L272 TraceCheckUtils]: 43: Hoare triple {7679#(< ~counter~0 20)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7474#true} is VALID [2022-04-08 05:30:30,245 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7474#true} {7679#(< ~counter~0 20)} #68#return; {7679#(< ~counter~0 20)} is VALID [2022-04-08 05:30:30,245 INFO L290 TraceCheckUtils]: 41: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-08 05:30:30,245 INFO L290 TraceCheckUtils]: 40: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-08 05:30:30,245 INFO L290 TraceCheckUtils]: 39: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-08 05:30:30,245 INFO L272 TraceCheckUtils]: 38: Hoare triple {7679#(< ~counter~0 20)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7474#true} is VALID [2022-04-08 05:30:30,246 INFO L290 TraceCheckUtils]: 37: Hoare triple {7679#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {7679#(< ~counter~0 20)} is VALID [2022-04-08 05:30:30,246 INFO L290 TraceCheckUtils]: 36: Hoare triple {7737#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7679#(< ~counter~0 20)} is VALID [2022-04-08 05:30:30,247 INFO L290 TraceCheckUtils]: 35: Hoare triple {7737#(< ~counter~0 19)} 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 19)} is VALID [2022-04-08 05:30:30,247 INFO L290 TraceCheckUtils]: 34: Hoare triple {7737#(< ~counter~0 19)} assume !!(~a~0 != ~b~0); {7737#(< ~counter~0 19)} is VALID [2022-04-08 05:30:30,248 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7474#true} {7737#(< ~counter~0 19)} #72#return; {7737#(< ~counter~0 19)} is VALID [2022-04-08 05:30:30,248 INFO L290 TraceCheckUtils]: 32: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-08 05:30:30,248 INFO L290 TraceCheckUtils]: 31: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-08 05:30:30,248 INFO L290 TraceCheckUtils]: 30: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-08 05:30:30,248 INFO L272 TraceCheckUtils]: 29: Hoare triple {7737#(< ~counter~0 19)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7474#true} is VALID [2022-04-08 05:30:30,249 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7474#true} {7737#(< ~counter~0 19)} #70#return; {7737#(< ~counter~0 19)} is VALID [2022-04-08 05:30:30,249 INFO L290 TraceCheckUtils]: 27: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-08 05:30:30,249 INFO L290 TraceCheckUtils]: 26: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-08 05:30:30,249 INFO L290 TraceCheckUtils]: 25: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-08 05:30:30,249 INFO L272 TraceCheckUtils]: 24: Hoare triple {7737#(< ~counter~0 19)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7474#true} is VALID [2022-04-08 05:30:30,250 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7474#true} {7737#(< ~counter~0 19)} #68#return; {7737#(< ~counter~0 19)} is VALID [2022-04-08 05:30:30,250 INFO L290 TraceCheckUtils]: 22: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-08 05:30:30,250 INFO L290 TraceCheckUtils]: 21: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-08 05:30:30,250 INFO L290 TraceCheckUtils]: 20: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-08 05:30:30,250 INFO L272 TraceCheckUtils]: 19: Hoare triple {7737#(< ~counter~0 19)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7474#true} is VALID [2022-04-08 05:30:30,251 INFO L290 TraceCheckUtils]: 18: Hoare triple {7737#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {7737#(< ~counter~0 19)} is VALID [2022-04-08 05:30:30,251 INFO L290 TraceCheckUtils]: 17: Hoare triple {7795#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7737#(< ~counter~0 19)} is VALID [2022-04-08 05:30:30,252 INFO L290 TraceCheckUtils]: 16: Hoare triple {7795#(< ~counter~0 18)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7795#(< ~counter~0 18)} is VALID [2022-04-08 05:30:30,252 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7474#true} {7795#(< ~counter~0 18)} #66#return; {7795#(< ~counter~0 18)} is VALID [2022-04-08 05:30:30,252 INFO L290 TraceCheckUtils]: 14: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-08 05:30:30,252 INFO L290 TraceCheckUtils]: 13: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-08 05:30:30,253 INFO L290 TraceCheckUtils]: 12: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-08 05:30:30,253 INFO L272 TraceCheckUtils]: 11: Hoare triple {7795#(< ~counter~0 18)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7474#true} is VALID [2022-04-08 05:30:30,253 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7474#true} {7795#(< ~counter~0 18)} #64#return; {7795#(< ~counter~0 18)} is VALID [2022-04-08 05:30:30,253 INFO L290 TraceCheckUtils]: 9: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-08 05:30:30,253 INFO L290 TraceCheckUtils]: 8: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-08 05:30:30,253 INFO L290 TraceCheckUtils]: 7: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-08 05:30:30,253 INFO L272 TraceCheckUtils]: 6: Hoare triple {7795#(< ~counter~0 18)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7474#true} is VALID [2022-04-08 05:30:30,254 INFO L290 TraceCheckUtils]: 5: Hoare triple {7795#(< ~counter~0 18)} 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 18)} is VALID [2022-04-08 05:30:30,254 INFO L272 TraceCheckUtils]: 4: Hoare triple {7795#(< ~counter~0 18)} call #t~ret7 := main(); {7795#(< ~counter~0 18)} is VALID [2022-04-08 05:30:30,255 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7795#(< ~counter~0 18)} {7474#true} #82#return; {7795#(< ~counter~0 18)} is VALID [2022-04-08 05:30:30,255 INFO L290 TraceCheckUtils]: 2: Hoare triple {7795#(< ~counter~0 18)} assume true; {7795#(< ~counter~0 18)} is VALID [2022-04-08 05:30:30,255 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 18)} is VALID [2022-04-08 05:30:30,256 INFO L272 TraceCheckUtils]: 0: Hoare triple {7474#true} call ULTIMATE.init(); {7474#true} is VALID [2022-04-08 05:30:30,256 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-08 05:30:30,256 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:30:30,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1601875314] [2022-04-08 05:30:30,256 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:30:30,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [582114864] [2022-04-08 05:30:30,256 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [582114864] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:30:30,256 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:30:30,257 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-08 05:30:30,257 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:30:30,257 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [376101354] [2022-04-08 05:30:30,257 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [376101354] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:30,257 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:30,257 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 05:30:30,257 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [766114940] [2022-04-08 05:30:30,257 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:30:30,258 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-08 05:30:30,258 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:30:30,258 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-08 05:30:30,301 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-08 05:30:30,301 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 05:30:30,301 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:30,302 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 05:30:30,302 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-08 05:30:30,302 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-08 05:30:30,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:30,562 INFO L93 Difference]: Finished difference Result 199 states and 251 transitions. [2022-04-08 05:30:30,562 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 05:30:30,562 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-08 05:30:30,562 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:30:30,562 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-08 05:30:30,564 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-08 05:30:30,564 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-08 05:30:30,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-08 05:30:30,565 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 82 transitions. [2022-04-08 05:30:30,628 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-08 05:30:30,632 INFO L225 Difference]: With dead ends: 199 [2022-04-08 05:30:30,632 INFO L226 Difference]: Without dead ends: 173 [2022-04-08 05:30:30,633 INFO L912 BasicCegarLoop]: 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-08 05:30:30,633 INFO L913 BasicCegarLoop]: 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-08 05:30:30,634 INFO L914 BasicCegarLoop]: 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-08 05:30:30,634 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-08 05:30:30,739 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 173. [2022-04-08 05:30:30,739 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:30:30,740 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-08 05:30:30,740 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-08 05:30:30,741 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-08 05:30:30,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:30,746 INFO L93 Difference]: Finished difference Result 173 states and 215 transitions. [2022-04-08 05:30:30,746 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-08 05:30:30,746 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:30,746 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:30,747 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-08 05:30:30,747 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-08 05:30:30,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:30,751 INFO L93 Difference]: Finished difference Result 173 states and 215 transitions. [2022-04-08 05:30:30,751 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-08 05:30:30,752 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:30,752 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:30,752 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:30:30,752 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:30:30,756 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-08 05:30:30,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 173 states to 173 states and 215 transitions. [2022-04-08 05:30:30,760 INFO L78 Accepts]: Start accepts. Automaton has 173 states and 215 transitions. Word has length 61 [2022-04-08 05:30:30,761 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:30:30,761 INFO L478 AbstractCegarLoop]: Abstraction has 173 states and 215 transitions. [2022-04-08 05:30:30,761 INFO L479 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-08 05:30:30,761 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 173 states and 215 transitions. [2022-04-08 05:30:30,983 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-08 05:30:30,983 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-08 05:30:30,984 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-08 05:30:30,984 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:30:30,984 INFO L499 BasicCegarLoop]: 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-08 05:30:31,000 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-04-08 05:30:31,184 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-08 05:30:31,185 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:30:31,185 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:30:31,185 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 1 times [2022-04-08 05:30:31,185 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:31,185 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1739118525] [2022-04-08 05:30:31,185 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:30:31,185 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 2 times [2022-04-08 05:30:31,186 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:30:31,186 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1901642077] [2022-04-08 05:30:31,186 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:30:31,186 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:30:31,200 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:30:31,200 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [933483031] [2022-04-08 05:30:31,200 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:30:31,200 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:30:31,200 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:30:31,201 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-08 05:30:31,207 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-08 05:30:31,261 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:30:31,261 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:30:31,262 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-08 05:30:31,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:31,274 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:30:31,598 INFO L272 TraceCheckUtils]: 0: Hoare triple {8943#true} call ULTIMATE.init(); {8943#true} is VALID [2022-04-08 05:30:31,599 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-08 05:30:31,599 INFO L290 TraceCheckUtils]: 2: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:30:31,599 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8943#true} {8943#true} #82#return; {8943#true} is VALID [2022-04-08 05:30:31,599 INFO L272 TraceCheckUtils]: 4: Hoare triple {8943#true} call #t~ret7 := main(); {8943#true} is VALID [2022-04-08 05:30:31,599 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-08 05:30:31,599 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-08 05:30:31,599 INFO L290 TraceCheckUtils]: 7: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:30:31,599 INFO L290 TraceCheckUtils]: 8: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:30:31,599 INFO L290 TraceCheckUtils]: 9: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:30:31,599 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8943#true} {8943#true} #64#return; {8943#true} is VALID [2022-04-08 05:30:31,600 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-08 05:30:31,600 INFO L290 TraceCheckUtils]: 12: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:30:31,600 INFO L290 TraceCheckUtils]: 13: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:30:31,600 INFO L290 TraceCheckUtils]: 14: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:30:31,600 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8943#true} {8943#true} #66#return; {8943#true} is VALID [2022-04-08 05:30:31,600 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-08 05:30:31,601 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-08 05:30:31,601 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 < 20);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-08 05:30:31,601 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-08 05:30:31,601 INFO L290 TraceCheckUtils]: 20: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:30:31,602 INFO L290 TraceCheckUtils]: 21: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:30:31,602 INFO L290 TraceCheckUtils]: 22: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:30:31,602 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-08 05:30:31,602 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-08 05:30:31,603 INFO L290 TraceCheckUtils]: 25: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:30:31,603 INFO L290 TraceCheckUtils]: 26: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:30:31,603 INFO L290 TraceCheckUtils]: 27: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:30:31,603 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-08 05:30:31,604 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-08 05:30:31,604 INFO L290 TraceCheckUtils]: 30: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:30:31,604 INFO L290 TraceCheckUtils]: 31: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:30:31,604 INFO L290 TraceCheckUtils]: 32: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:30:31,605 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-08 05:30:31,605 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-08 05:30:31,606 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-08 05:30:31,606 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-08 05:30:31,607 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 < 20);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-08 05:30:31,607 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-08 05:30:31,607 INFO L290 TraceCheckUtils]: 39: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:30:31,607 INFO L290 TraceCheckUtils]: 40: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:30:31,607 INFO L290 TraceCheckUtils]: 41: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:30:31,608 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-08 05:30:31,608 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-08 05:30:31,608 INFO L290 TraceCheckUtils]: 44: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:30:31,608 INFO L290 TraceCheckUtils]: 45: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:30:31,608 INFO L290 TraceCheckUtils]: 46: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:30:31,609 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-08 05:30:31,609 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-08 05:30:31,609 INFO L290 TraceCheckUtils]: 49: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:30:31,609 INFO L290 TraceCheckUtils]: 50: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:30:31,609 INFO L290 TraceCheckUtils]: 51: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:30:31,610 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-08 05:30:31,610 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-08 05:30:31,611 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-08 05:30:31,612 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-08 05:30:31,612 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 < 20);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-08 05:30:31,613 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-08 05:30:31,613 INFO L290 TraceCheckUtils]: 58: Hoare triple {9122#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9126#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:31,614 INFO L290 TraceCheckUtils]: 59: Hoare triple {9126#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8944#false} is VALID [2022-04-08 05:30:31,614 INFO L290 TraceCheckUtils]: 60: Hoare triple {8944#false} assume !false; {8944#false} is VALID [2022-04-08 05:30:31,614 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-08 05:30:31,614 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:30:31,833 INFO L290 TraceCheckUtils]: 60: Hoare triple {8944#false} assume !false; {8944#false} is VALID [2022-04-08 05:30:31,834 INFO L290 TraceCheckUtils]: 59: Hoare triple {9126#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8944#false} is VALID [2022-04-08 05:30:31,834 INFO L290 TraceCheckUtils]: 58: Hoare triple {9122#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9126#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:31,835 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-08 05:30:31,835 INFO L290 TraceCheckUtils]: 56: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 20);havoc #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:30:31,836 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-08 05:30:31,839 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-08 05:30:31,839 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-08 05:30:31,844 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-08 05:30:31,845 INFO L290 TraceCheckUtils]: 51: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:30:31,845 INFO L290 TraceCheckUtils]: 50: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:30:31,845 INFO L290 TraceCheckUtils]: 49: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:30:31,845 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-08 05:30:31,845 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-08 05:30:31,846 INFO L290 TraceCheckUtils]: 46: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:30:31,846 INFO L290 TraceCheckUtils]: 45: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:30:31,846 INFO L290 TraceCheckUtils]: 44: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:30:31,846 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-08 05:30:31,846 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-08 05:30:31,846 INFO L290 TraceCheckUtils]: 41: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:30:31,846 INFO L290 TraceCheckUtils]: 40: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:30:31,846 INFO L290 TraceCheckUtils]: 39: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:30:31,846 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-08 05:30:31,847 INFO L290 TraceCheckUtils]: 37: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 20);havoc #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:30:31,847 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-08 05:30:31,849 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-08 05:30:31,849 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-08 05:30:31,850 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-08 05:30:31,850 INFO L290 TraceCheckUtils]: 32: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:30:31,850 INFO L290 TraceCheckUtils]: 31: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:30:31,850 INFO L290 TraceCheckUtils]: 30: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:30:31,850 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-08 05:30:31,851 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-08 05:30:31,851 INFO L290 TraceCheckUtils]: 27: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:30:31,851 INFO L290 TraceCheckUtils]: 26: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:30:31,851 INFO L290 TraceCheckUtils]: 25: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:30:31,851 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-08 05:30:31,852 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-08 05:30:31,852 INFO L290 TraceCheckUtils]: 22: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:30:31,852 INFO L290 TraceCheckUtils]: 21: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:30:31,852 INFO L290 TraceCheckUtils]: 20: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:30:31,852 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-08 05:30:31,853 INFO L290 TraceCheckUtils]: 18: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 20);havoc #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:30:31,853 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-08 05:30:31,853 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-08 05:30:31,853 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8943#true} {8943#true} #66#return; {8943#true} is VALID [2022-04-08 05:30:31,853 INFO L290 TraceCheckUtils]: 14: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:30:31,853 INFO L290 TraceCheckUtils]: 13: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:30:31,853 INFO L290 TraceCheckUtils]: 12: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:30:31,854 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-08 05:30:31,854 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8943#true} {8943#true} #64#return; {8943#true} is VALID [2022-04-08 05:30:31,854 INFO L290 TraceCheckUtils]: 9: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:30:31,854 INFO L290 TraceCheckUtils]: 8: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-08 05:30:31,854 INFO L290 TraceCheckUtils]: 7: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-08 05:30:31,854 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-08 05:30:31,854 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-08 05:30:31,854 INFO L272 TraceCheckUtils]: 4: Hoare triple {8943#true} call #t~ret7 := main(); {8943#true} is VALID [2022-04-08 05:30:31,854 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8943#true} {8943#true} #82#return; {8943#true} is VALID [2022-04-08 05:30:31,854 INFO L290 TraceCheckUtils]: 2: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-08 05:30:31,854 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-08 05:30:31,854 INFO L272 TraceCheckUtils]: 0: Hoare triple {8943#true} call ULTIMATE.init(); {8943#true} is VALID [2022-04-08 05:30:31,855 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-08 05:30:31,855 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:30:31,855 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1901642077] [2022-04-08 05:30:31,855 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:30:31,855 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [933483031] [2022-04-08 05:30:31,855 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [933483031] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 05:30:31,855 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 05:30:31,855 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-08 05:30:31,855 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:30:31,855 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1739118525] [2022-04-08 05:30:31,855 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1739118525] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:31,855 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:31,856 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:30:31,856 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1535055241] [2022-04-08 05:30:31,856 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:30:31,856 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-08 05:30:31,856 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:30:31,856 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-08 05:30:31,880 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-08 05:30:31,880 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:30:31,880 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:31,880 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:30:31,880 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-08 05:30:31,880 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-08 05:30:32,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:32,112 INFO L93 Difference]: Finished difference Result 179 states and 220 transitions. [2022-04-08 05:30:32,112 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:30:32,112 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-08 05:30:32,113 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:30:32,113 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-08 05:30:32,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-08 05:30:32,114 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-08 05:30:32,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-08 05:30:32,114 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 44 transitions. [2022-04-08 05:30:32,148 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-08 05:30:32,151 INFO L225 Difference]: With dead ends: 179 [2022-04-08 05:30:32,151 INFO L226 Difference]: Without dead ends: 174 [2022-04-08 05:30:32,152 INFO L912 BasicCegarLoop]: 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-08 05:30:32,152 INFO L913 BasicCegarLoop]: 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-08 05:30:32,152 INFO L914 BasicCegarLoop]: 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-08 05:30:32,153 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states. [2022-04-08 05:30:32,263 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 172. [2022-04-08 05:30:32,263 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:30:32,263 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-08 05:30:32,264 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-08 05:30:32,264 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-08 05:30:32,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:32,268 INFO L93 Difference]: Finished difference Result 174 states and 211 transitions. [2022-04-08 05:30:32,268 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 211 transitions. [2022-04-08 05:30:32,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:32,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:32,269 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-08 05:30:32,269 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-08 05:30:32,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:32,273 INFO L93 Difference]: Finished difference Result 174 states and 211 transitions. [2022-04-08 05:30:32,273 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 211 transitions. [2022-04-08 05:30:32,274 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:32,274 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:32,274 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:30:32,274 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:30:32,274 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-08 05:30:32,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 208 transitions. [2022-04-08 05:30:32,279 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 208 transitions. Word has length 61 [2022-04-08 05:30:32,279 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:30:32,279 INFO L478 AbstractCegarLoop]: Abstraction has 172 states and 208 transitions. [2022-04-08 05:30:32,279 INFO L479 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-08 05:30:32,279 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 208 transitions. [2022-04-08 05:30:32,554 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-08 05:30:32,554 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 208 transitions. [2022-04-08 05:30:32,555 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-08 05:30:32,555 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:30:32,555 INFO L499 BasicCegarLoop]: 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-08 05:30:32,572 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-08 05:30:32,759 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 05:30:32,759 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:30:32,760 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:30:32,760 INFO L85 PathProgramCache]: Analyzing trace with hash 404368620, now seen corresponding path program 5 times [2022-04-08 05:30:32,760 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:32,760 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [708748759] [2022-04-08 05:30:32,760 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:30:32,761 INFO L85 PathProgramCache]: Analyzing trace with hash 404368620, now seen corresponding path program 6 times [2022-04-08 05:30:32,761 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:30:32,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [372512891] [2022-04-08 05:30:32,761 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:30:32,761 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:30:32,775 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:30:32,775 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1989947379] [2022-04-08 05:30:32,775 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 05:30:32,775 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:30:32,775 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:30:32,776 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-08 05:30:32,777 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-08 05:30:32,834 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 05:30:32,834 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:30:32,835 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-08 05:30:32,853 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:32,854 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:30:33,337 INFO L272 TraceCheckUtils]: 0: Hoare triple {10368#true} call ULTIMATE.init(); {10368#true} is VALID [2022-04-08 05:30:33,337 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-08 05:30:33,337 INFO L290 TraceCheckUtils]: 2: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:30:33,337 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10368#true} {10368#true} #82#return; {10368#true} is VALID [2022-04-08 05:30:33,337 INFO L272 TraceCheckUtils]: 4: Hoare triple {10368#true} call #t~ret7 := main(); {10368#true} is VALID [2022-04-08 05:30:33,337 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-08 05:30:33,337 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-08 05:30:33,337 INFO L290 TraceCheckUtils]: 7: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:30:33,338 INFO L290 TraceCheckUtils]: 8: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:30:33,338 INFO L290 TraceCheckUtils]: 9: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:30:33,338 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10368#true} {10368#true} #64#return; {10368#true} is VALID [2022-04-08 05:30:33,338 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-08 05:30:33,338 INFO L290 TraceCheckUtils]: 12: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:30:33,338 INFO L290 TraceCheckUtils]: 13: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:30:33,338 INFO L290 TraceCheckUtils]: 14: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:30:33,338 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10368#true} {10368#true} #66#return; {10368#true} is VALID [2022-04-08 05:30:33,338 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-08 05:30:33,339 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-08 05:30:33,339 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 < 20);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-08 05:30:33,339 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-08 05:30:33,339 INFO L290 TraceCheckUtils]: 20: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:30:33,339 INFO L290 TraceCheckUtils]: 21: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:30:33,339 INFO L290 TraceCheckUtils]: 22: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:30:33,340 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-08 05:30:33,340 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-08 05:30:33,340 INFO L290 TraceCheckUtils]: 25: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:30:33,340 INFO L290 TraceCheckUtils]: 26: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:30:33,340 INFO L290 TraceCheckUtils]: 27: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:30:33,341 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-08 05:30:33,341 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-08 05:30:33,341 INFO L290 TraceCheckUtils]: 30: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:30:33,341 INFO L290 TraceCheckUtils]: 31: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:30:33,341 INFO L290 TraceCheckUtils]: 32: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:30:33,342 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-08 05:30:33,342 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-08 05:30:33,342 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-08 05:30:33,343 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-08 05:30:33,343 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 < 20);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-08 05:30:33,343 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-08 05:30:33,343 INFO L290 TraceCheckUtils]: 39: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:30:33,343 INFO L290 TraceCheckUtils]: 40: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:30:33,343 INFO L290 TraceCheckUtils]: 41: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:30:33,344 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-08 05:30:33,344 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-08 05:30:33,344 INFO L290 TraceCheckUtils]: 44: Hoare triple {10368#true} ~cond := #in~cond; {10507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:33,345 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-08 05:30:33,345 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-08 05:30:33,345 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-08 05:30:33,346 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-08 05:30:33,346 INFO L290 TraceCheckUtils]: 49: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:30:33,346 INFO L290 TraceCheckUtils]: 50: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:30:33,346 INFO L290 TraceCheckUtils]: 51: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:30:33,346 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-08 05:30:33,347 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-08 05:30:33,347 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-08 05:30:33,348 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-08 05:30:33,348 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 < 20);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-08 05:30:33,348 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-08 05:30:33,348 INFO L290 TraceCheckUtils]: 58: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:30:33,348 INFO L290 TraceCheckUtils]: 59: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:30:33,348 INFO L290 TraceCheckUtils]: 60: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:30:33,349 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-08 05:30:33,350 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-08 05:30:33,350 INFO L290 TraceCheckUtils]: 63: Hoare triple {10564#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10568#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:33,350 INFO L290 TraceCheckUtils]: 64: Hoare triple {10568#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10369#false} is VALID [2022-04-08 05:30:33,350 INFO L290 TraceCheckUtils]: 65: Hoare triple {10369#false} assume !false; {10369#false} is VALID [2022-04-08 05:30:33,350 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-08 05:30:33,351 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:30:57,553 INFO L290 TraceCheckUtils]: 65: Hoare triple {10369#false} assume !false; {10369#false} is VALID [2022-04-08 05:30:57,554 INFO L290 TraceCheckUtils]: 64: Hoare triple {10568#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10369#false} is VALID [2022-04-08 05:30:57,554 INFO L290 TraceCheckUtils]: 63: Hoare triple {10564#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10568#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:57,555 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-08 05:30:57,555 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-08 05:30:57,556 INFO L290 TraceCheckUtils]: 60: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:30:57,556 INFO L290 TraceCheckUtils]: 59: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:30:57,556 INFO L290 TraceCheckUtils]: 58: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:30:57,556 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-08 05:30:57,556 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 < 20);havoc #t~post6; {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:30:57,557 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-08 05:30:57,703 INFO 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 VALID [2022-04-08 05:30:57,704 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-08 05:30:57,704 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-08 05:30:57,705 INFO L290 TraceCheckUtils]: 51: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:30:57,705 INFO L290 TraceCheckUtils]: 50: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:30:57,705 INFO L290 TraceCheckUtils]: 49: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:30:57,705 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-08 05:30:57,706 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-08 05:30:57,706 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-08 05:30:57,707 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-08 05:30:57,707 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-08 05:30:57,707 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-08 05:30:57,708 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-08 05:30:57,708 INFO L290 TraceCheckUtils]: 41: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:30:57,708 INFO L290 TraceCheckUtils]: 40: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:30:57,708 INFO L290 TraceCheckUtils]: 39: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:30:57,708 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-08 05:30:57,709 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 < 20);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-08 05:30:57,709 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-08 05:30:57,992 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-08 05:30:57,993 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-08 05:30:57,994 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-08 05:30:57,994 INFO L290 TraceCheckUtils]: 32: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:30:57,994 INFO L290 TraceCheckUtils]: 31: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:30:57,995 INFO L290 TraceCheckUtils]: 30: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:30:57,995 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-08 05:30:57,995 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-08 05:30:57,996 INFO L290 TraceCheckUtils]: 27: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:30:57,996 INFO L290 TraceCheckUtils]: 26: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:30:57,996 INFO L290 TraceCheckUtils]: 25: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:30:57,996 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-08 05:30:57,997 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-08 05:30:57,997 INFO L290 TraceCheckUtils]: 22: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:30:57,997 INFO L290 TraceCheckUtils]: 21: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:30:57,997 INFO L290 TraceCheckUtils]: 20: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:30:57,997 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-08 05:30:57,998 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 < 20);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-08 05:30:57,998 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-08 05:30:57,999 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-08 05:30:57,999 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10368#true} {10368#true} #66#return; {10368#true} is VALID [2022-04-08 05:30:57,999 INFO L290 TraceCheckUtils]: 14: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:30:57,999 INFO L290 TraceCheckUtils]: 13: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:30:57,999 INFO L290 TraceCheckUtils]: 12: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:30:57,999 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-08 05:30:57,999 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10368#true} {10368#true} #64#return; {10368#true} is VALID [2022-04-08 05:30:57,999 INFO L290 TraceCheckUtils]: 9: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:30:57,999 INFO L290 TraceCheckUtils]: 8: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-08 05:30:58,000 INFO L290 TraceCheckUtils]: 7: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-08 05:30:58,000 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-08 05:30:58,000 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-08 05:30:58,000 INFO L272 TraceCheckUtils]: 4: Hoare triple {10368#true} call #t~ret7 := main(); {10368#true} is VALID [2022-04-08 05:30:58,000 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10368#true} {10368#true} #82#return; {10368#true} is VALID [2022-04-08 05:30:58,000 INFO L290 TraceCheckUtils]: 2: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-08 05:30:58,000 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-08 05:30:58,000 INFO L272 TraceCheckUtils]: 0: Hoare triple {10368#true} call ULTIMATE.init(); {10368#true} is VALID [2022-04-08 05:30:58,001 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-08 05:30:58,001 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:30:58,001 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [372512891] [2022-04-08 05:30:58,001 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:30:58,001 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1989947379] [2022-04-08 05:30:58,001 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1989947379] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:30:58,001 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:30:58,001 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-08 05:30:58,002 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:30:58,002 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [708748759] [2022-04-08 05:30:58,002 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [708748759] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:58,002 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:58,002 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:30:58,002 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1639324658] [2022-04-08 05:30:58,002 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:30:58,002 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-08 05:30:58,003 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:30:58,003 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-08 05:30:58,050 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-08 05:30:58,050 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:30:58,051 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:58,051 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:30:58,051 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:30:58,051 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-08 05:30:59,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:59,155 INFO L93 Difference]: Finished difference Result 199 states and 247 transitions. [2022-04-08 05:30:59,155 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:30:59,155 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-08 05:30:59,156 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:30:59,156 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-08 05:30:59,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-08 05:30:59,157 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-08 05:30:59,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-08 05:30:59,158 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-08 05:30:59,251 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-08 05:30:59,255 INFO L225 Difference]: With dead ends: 199 [2022-04-08 05:30:59,255 INFO L226 Difference]: Without dead ends: 197 [2022-04-08 05:30:59,256 INFO L912 BasicCegarLoop]: 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-08 05:30:59,256 INFO L913 BasicCegarLoop]: 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-08 05:30:59,256 INFO L914 BasicCegarLoop]: 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-08 05:30:59,257 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-08 05:30:59,371 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 181. [2022-04-08 05:30:59,371 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:30:59,371 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-08 05:30:59,372 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-08 05:30:59,372 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-08 05:30:59,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:59,377 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-08 05:30:59,377 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 245 transitions. [2022-04-08 05:30:59,378 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:59,378 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:59,378 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-08 05:30:59,379 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-08 05:30:59,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:59,383 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-08 05:30:59,383 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 245 transitions. [2022-04-08 05:30:59,384 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:59,384 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:59,384 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:30:59,384 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:30:59,384 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-08 05:30:59,388 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 181 states to 181 states and 220 transitions. [2022-04-08 05:30:59,389 INFO L78 Accepts]: Start accepts. Automaton has 181 states and 220 transitions. Word has length 66 [2022-04-08 05:30:59,389 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:30:59,389 INFO L478 AbstractCegarLoop]: Abstraction has 181 states and 220 transitions. [2022-04-08 05:30:59,389 INFO L479 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-08 05:30:59,389 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 181 states and 220 transitions. [2022-04-08 05:30:59,690 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-08 05:30:59,690 INFO L276 IsEmpty]: Start isEmpty. Operand 181 states and 220 transitions. [2022-04-08 05:30:59,690 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-08 05:30:59,691 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:30:59,691 INFO L499 BasicCegarLoop]: 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-08 05:30:59,717 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-08 05:30:59,891 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-08 05:30:59,891 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:30:59,892 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:30:59,892 INFO L85 PathProgramCache]: Analyzing trace with hash 1105968494, now seen corresponding path program 3 times [2022-04-08 05:30:59,892 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:59,892 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1941280953] [2022-04-08 05:30:59,892 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:30:59,892 INFO L85 PathProgramCache]: Analyzing trace with hash 1105968494, now seen corresponding path program 4 times [2022-04-08 05:30:59,892 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:30:59,892 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2094930692] [2022-04-08 05:30:59,892 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:30:59,892 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:30:59,904 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:30:59,904 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [512718210] [2022-04-08 05:30:59,904 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:30:59,904 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:30:59,904 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:30:59,905 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-08 05:30:59,908 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-08 05:30:59,948 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:30:59,948 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:30:59,949 INFO L263 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-08 05:30:59,960 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:59,961 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:31:00,457 INFO L272 TraceCheckUtils]: 0: Hoare triple {11935#true} call ULTIMATE.init(); {11935#true} is VALID [2022-04-08 05:31:00,457 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-08 05:31:00,457 INFO L290 TraceCheckUtils]: 2: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:31:00,457 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11935#true} {11935#true} #82#return; {11935#true} is VALID [2022-04-08 05:31:00,458 INFO L272 TraceCheckUtils]: 4: Hoare triple {11935#true} call #t~ret7 := main(); {11935#true} is VALID [2022-04-08 05:31:00,458 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-08 05:31:00,458 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-08 05:31:00,458 INFO L290 TraceCheckUtils]: 7: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:31:00,458 INFO L290 TraceCheckUtils]: 8: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:31:00,458 INFO L290 TraceCheckUtils]: 9: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:31:00,458 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11935#true} {11935#true} #64#return; {11935#true} is VALID [2022-04-08 05:31:00,458 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-08 05:31:00,458 INFO L290 TraceCheckUtils]: 12: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:31:00,458 INFO L290 TraceCheckUtils]: 13: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:31:00,458 INFO L290 TraceCheckUtils]: 14: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:31:00,459 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11935#true} {11935#true} #66#return; {11935#true} is VALID [2022-04-08 05:31:00,459 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-08 05:31:00,459 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-08 05:31:00,460 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 < 20);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-08 05:31:00,460 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-08 05:31:00,460 INFO L290 TraceCheckUtils]: 20: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:31:00,460 INFO L290 TraceCheckUtils]: 21: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:31:00,460 INFO L290 TraceCheckUtils]: 22: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:31:00,461 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-08 05:31:00,461 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-08 05:31:00,461 INFO L290 TraceCheckUtils]: 25: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:31:00,461 INFO L290 TraceCheckUtils]: 26: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:31:00,461 INFO L290 TraceCheckUtils]: 27: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:31:00,462 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-08 05:31:00,462 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-08 05:31:00,462 INFO L290 TraceCheckUtils]: 30: Hoare triple {11935#true} ~cond := #in~cond; {12031#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:31:00,462 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-08 05:31:00,463 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-08 05:31:00,463 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-08 05:31:00,464 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-08 05:31:00,464 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-08 05:31:00,465 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-08 05:31:00,465 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 < 20);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-08 05:31:00,465 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-08 05:31:00,466 INFO L290 TraceCheckUtils]: 39: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:31:00,466 INFO L290 TraceCheckUtils]: 40: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:31:00,466 INFO L290 TraceCheckUtils]: 41: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:31:00,466 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-08 05:31:00,466 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-08 05:31:00,466 INFO L290 TraceCheckUtils]: 44: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:31:00,467 INFO L290 TraceCheckUtils]: 45: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:31:00,467 INFO L290 TraceCheckUtils]: 46: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:31:00,467 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-08 05:31:00,467 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-08 05:31:00,468 INFO L290 TraceCheckUtils]: 49: Hoare triple {11935#true} ~cond := #in~cond; {12031#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:31:00,468 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-08 05:31:00,468 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-08 05:31:00,469 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-08 05:31:00,469 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-08 05:31:00,470 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-08 05:31:00,471 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-08 05:31:00,471 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 < 20);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-08 05:31:00,471 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-08 05:31:00,471 INFO L290 TraceCheckUtils]: 58: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:31:00,471 INFO L290 TraceCheckUtils]: 59: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:31:00,471 INFO L290 TraceCheckUtils]: 60: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:31:00,472 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-08 05:31:00,472 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-08 05:31:00,473 INFO L290 TraceCheckUtils]: 63: Hoare triple {12131#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12135#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:31:00,473 INFO L290 TraceCheckUtils]: 64: Hoare triple {12135#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11936#false} is VALID [2022-04-08 05:31:00,473 INFO L290 TraceCheckUtils]: 65: Hoare triple {11936#false} assume !false; {11936#false} is VALID [2022-04-08 05:31:00,474 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-08 05:31:00,474 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:31:37,685 INFO L290 TraceCheckUtils]: 65: Hoare triple {11936#false} assume !false; {11936#false} is VALID [2022-04-08 05:31:37,685 INFO L290 TraceCheckUtils]: 64: Hoare triple {12135#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11936#false} is VALID [2022-04-08 05:31:37,686 INFO L290 TraceCheckUtils]: 63: Hoare triple {12131#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12135#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:31:37,686 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-08 05:31:37,687 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-08 05:31:37,687 INFO L290 TraceCheckUtils]: 60: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:31:37,687 INFO L290 TraceCheckUtils]: 59: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:31:37,687 INFO L290 TraceCheckUtils]: 58: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:31:37,687 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-08 05:31:37,688 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 < 20);havoc #t~post6; {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:31:37,688 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-08 05:31:37,927 INFO 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 VALID [2022-04-08 05:31:37,928 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-08 05:31:37,929 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-08 05:31:37,929 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-08 05:31:37,929 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-08 05:31:37,929 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-08 05:31:37,930 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-08 05:31:37,930 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-08 05:31:37,930 INFO L290 TraceCheckUtils]: 46: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:31:37,930 INFO L290 TraceCheckUtils]: 45: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:31:37,930 INFO L290 TraceCheckUtils]: 44: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:31:37,930 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-08 05:31:37,931 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-08 05:31:37,931 INFO L290 TraceCheckUtils]: 41: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:31:37,931 INFO L290 TraceCheckUtils]: 40: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:31:37,931 INFO L290 TraceCheckUtils]: 39: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:31:37,931 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-08 05:31:37,932 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 < 20);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-08 05:31:37,932 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-08 05:31:39,934 WARN 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 UNKNOWN [2022-04-08 05:31:39,939 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-08 05:31:39,940 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-08 05:31:39,941 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-08 05:31:39,941 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-08 05:31:39,941 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-08 05:31:39,941 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-08 05:31:39,941 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11935#true} {11935#true} #70#return; {11935#true} is VALID [2022-04-08 05:31:39,941 INFO L290 TraceCheckUtils]: 27: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:31:39,941 INFO L290 TraceCheckUtils]: 26: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:31:39,942 INFO L290 TraceCheckUtils]: 25: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:31:39,942 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-08 05:31:39,942 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11935#true} {11935#true} #68#return; {11935#true} is VALID [2022-04-08 05:31:39,942 INFO L290 TraceCheckUtils]: 22: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:31:39,942 INFO L290 TraceCheckUtils]: 21: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:31:39,942 INFO L290 TraceCheckUtils]: 20: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:31:39,942 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-08 05:31:39,942 INFO L290 TraceCheckUtils]: 18: Hoare triple {11935#true} assume !!(#t~post6 < 20);havoc #t~post6; {11935#true} is VALID [2022-04-08 05:31:39,942 INFO L290 TraceCheckUtils]: 17: Hoare triple {11935#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11935#true} is VALID [2022-04-08 05:31:39,942 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-08 05:31:39,942 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11935#true} {11935#true} #66#return; {11935#true} is VALID [2022-04-08 05:31:39,942 INFO L290 TraceCheckUtils]: 14: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:31:39,942 INFO L290 TraceCheckUtils]: 13: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:31:39,942 INFO L290 TraceCheckUtils]: 12: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:31:39,942 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-08 05:31:39,942 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11935#true} {11935#true} #64#return; {11935#true} is VALID [2022-04-08 05:31:39,942 INFO L290 TraceCheckUtils]: 9: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:31:39,943 INFO L290 TraceCheckUtils]: 8: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-08 05:31:39,943 INFO L290 TraceCheckUtils]: 7: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-08 05:31:39,943 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-08 05:31:39,943 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-08 05:31:39,943 INFO L272 TraceCheckUtils]: 4: Hoare triple {11935#true} call #t~ret7 := main(); {11935#true} is VALID [2022-04-08 05:31:39,943 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11935#true} {11935#true} #82#return; {11935#true} is VALID [2022-04-08 05:31:39,943 INFO L290 TraceCheckUtils]: 2: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-08 05:31:39,943 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-08 05:31:39,943 INFO L272 TraceCheckUtils]: 0: Hoare triple {11935#true} call ULTIMATE.init(); {11935#true} is VALID [2022-04-08 05:31:39,943 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-08 05:31:39,943 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:31:39,944 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2094930692] [2022-04-08 05:31:39,944 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:31:39,944 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [512718210] [2022-04-08 05:31:39,944 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [512718210] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:31:39,944 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:31:39,944 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-08 05:31:39,944 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:31:39,944 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1941280953] [2022-04-08 05:31:39,944 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1941280953] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:31:39,944 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:31:39,944 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:31:39,944 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [301444893] [2022-04-08 05:31:39,944 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:31:39,945 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-08 05:31:39,945 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:31:39,945 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-08 05:31:39,984 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-08 05:31:39,984 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:31:39,985 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:31:39,985 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:31:39,985 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:31:39,985 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-08 05:31:41,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:31:41,005 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-08 05:31:41,005 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:31:41,005 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-08 05:31:41,006 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:31:41,006 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-08 05:31:41,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-08 05:31:41,007 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-08 05:31:41,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-08 05:31:41,008 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-08 05:31:41,112 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-08 05:31:41,115 INFO L225 Difference]: With dead ends: 208 [2022-04-08 05:31:41,116 INFO L226 Difference]: Without dead ends: 206 [2022-04-08 05:31:41,116 INFO L912 BasicCegarLoop]: 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-08 05:31:41,116 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 15 mSDsluCounter, 156 mSDsCounter, 0 mSdLazyCounter, 348 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-08 05:31:41,117 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 198 Invalid, 355 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 348 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 05:31:41,117 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states. [2022-04-08 05:31:41,224 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 190. [2022-04-08 05:31:41,224 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:31:41,225 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-08 05:31:41,225 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-08 05:31:41,225 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-08 05:31:41,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:31:41,231 INFO L93 Difference]: Finished difference Result 206 states and 257 transitions. [2022-04-08 05:31:41,231 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 257 transitions. [2022-04-08 05:31:41,232 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:31:41,232 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:31:41,232 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-08 05:31:41,232 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-08 05:31:41,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:31:41,237 INFO L93 Difference]: Finished difference Result 206 states and 257 transitions. [2022-04-08 05:31:41,237 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 257 transitions. [2022-04-08 05:31:41,238 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:31:41,238 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:31:41,238 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:31:41,238 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:31:41,238 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-08 05:31:41,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 190 states to 190 states and 232 transitions. [2022-04-08 05:31:41,243 INFO L78 Accepts]: Start accepts. Automaton has 190 states and 232 transitions. Word has length 66 [2022-04-08 05:31:41,244 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:31:41,244 INFO L478 AbstractCegarLoop]: Abstraction has 190 states and 232 transitions. [2022-04-08 05:31:41,244 INFO L479 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-08 05:31:41,244 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 190 states and 232 transitions. [2022-04-08 05:31:41,565 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-08 05:31:41,565 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 232 transitions. [2022-04-08 05:31:41,566 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-08 05:31:41,566 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:31:41,566 INFO L499 BasicCegarLoop]: 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-08 05:31:41,589 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-08 05:31:41,767 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-08 05:31:41,767 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:31:41,767 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:31:41,767 INFO L85 PathProgramCache]: Analyzing trace with hash 1181721515, now seen corresponding path program 5 times [2022-04-08 05:31:41,767 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:31:41,767 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [11942138] [2022-04-08 05:31:41,768 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:31:41,768 INFO L85 PathProgramCache]: Analyzing trace with hash 1181721515, now seen corresponding path program 6 times [2022-04-08 05:31:41,768 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:31:41,768 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [940885784] [2022-04-08 05:31:41,768 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:31:41,768 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:31:41,778 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:31:41,778 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [493861088] [2022-04-08 05:31:41,778 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 05:31:41,778 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:31:41,778 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:31:41,779 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-08 05:31:41,790 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-08 05:31:41,836 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 05:31:41,836 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:31:41,837 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-08 05:31:41,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:31:41,852 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:31:42,265 INFO L272 TraceCheckUtils]: 0: Hoare triple {13556#true} call ULTIMATE.init(); {13556#true} is VALID [2022-04-08 05:31:42,265 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-08 05:31:42,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:31:42,265 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13556#true} {13556#true} #82#return; {13556#true} is VALID [2022-04-08 05:31:42,265 INFO L272 TraceCheckUtils]: 4: Hoare triple {13556#true} call #t~ret7 := main(); {13556#true} is VALID [2022-04-08 05:31:42,265 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-08 05:31:42,265 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-08 05:31:42,265 INFO L290 TraceCheckUtils]: 7: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:31:42,266 INFO L290 TraceCheckUtils]: 8: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:31:42,266 INFO L290 TraceCheckUtils]: 9: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:31:42,266 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13556#true} {13556#true} #64#return; {13556#true} is VALID [2022-04-08 05:31:42,266 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-08 05:31:42,266 INFO L290 TraceCheckUtils]: 12: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:31:42,266 INFO L290 TraceCheckUtils]: 13: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:31:42,266 INFO L290 TraceCheckUtils]: 14: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:31:42,266 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13556#true} {13556#true} #66#return; {13556#true} is VALID [2022-04-08 05:31:42,279 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-08 05:31:42,280 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-08 05:31:42,280 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 < 20);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-08 05:31:42,280 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-08 05:31:42,280 INFO L290 TraceCheckUtils]: 20: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:31:42,280 INFO L290 TraceCheckUtils]: 21: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:31:42,280 INFO L290 TraceCheckUtils]: 22: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:31:42,281 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-08 05:31:42,281 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-08 05:31:42,281 INFO L290 TraceCheckUtils]: 25: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:31:42,281 INFO L290 TraceCheckUtils]: 26: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:31:42,282 INFO L290 TraceCheckUtils]: 27: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:31:42,282 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-08 05:31:42,282 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-08 05:31:42,282 INFO L290 TraceCheckUtils]: 30: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:31:42,282 INFO L290 TraceCheckUtils]: 31: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:31:42,283 INFO L290 TraceCheckUtils]: 32: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:31:42,283 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-08 05:31:42,284 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-08 05:31:42,284 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-08 05:31:42,284 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-08 05:31:42,285 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 < 20);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-08 05:31:42,285 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-08 05:31:42,285 INFO L290 TraceCheckUtils]: 39: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:31:42,285 INFO L290 TraceCheckUtils]: 40: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:31:42,285 INFO L290 TraceCheckUtils]: 41: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:31:42,286 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-08 05:31:42,286 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-08 05:31:42,286 INFO L290 TraceCheckUtils]: 44: Hoare triple {13556#true} ~cond := #in~cond; {13695#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:31:42,286 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-08 05:31:42,287 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-08 05:31:42,287 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-08 05:31:42,287 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-08 05:31:42,288 INFO L290 TraceCheckUtils]: 49: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:31:42,288 INFO L290 TraceCheckUtils]: 50: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:31:42,288 INFO L290 TraceCheckUtils]: 51: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:31:42,288 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-08 05:31:42,289 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-08 05:31:42,292 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-08 05:31:42,292 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-08 05:31:42,293 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 < 20);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-08 05:31:42,293 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-08 05:31:42,293 INFO L290 TraceCheckUtils]: 58: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:31:42,293 INFO L290 TraceCheckUtils]: 59: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:31:42,293 INFO L290 TraceCheckUtils]: 60: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:31:42,293 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-08 05:31:42,293 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-08 05:31:42,294 INFO L290 TraceCheckUtils]: 63: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:31:42,294 INFO L290 TraceCheckUtils]: 64: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:31:42,294 INFO L290 TraceCheckUtils]: 65: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:31:42,294 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-08 05:31:42,295 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-08 05:31:42,295 INFO L290 TraceCheckUtils]: 68: Hoare triple {13768#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13772#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:31:42,296 INFO L290 TraceCheckUtils]: 69: Hoare triple {13772#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13557#false} is VALID [2022-04-08 05:31:42,296 INFO L290 TraceCheckUtils]: 70: Hoare triple {13557#false} assume !false; {13557#false} is VALID [2022-04-08 05:31:42,296 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-08 05:31:42,296 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:32:15,043 INFO L290 TraceCheckUtils]: 70: Hoare triple {13557#false} assume !false; {13557#false} is VALID [2022-04-08 05:32:15,044 INFO L290 TraceCheckUtils]: 69: Hoare triple {13772#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13557#false} is VALID [2022-04-08 05:32:15,045 INFO L290 TraceCheckUtils]: 68: Hoare triple {13768#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13772#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:15,045 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-08 05:32:15,046 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-08 05:32:15,046 INFO L290 TraceCheckUtils]: 65: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:32:15,046 INFO L290 TraceCheckUtils]: 64: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:32:15,046 INFO L290 TraceCheckUtils]: 63: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:32:15,047 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-08 05:32:15,047 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-08 05:32:15,047 INFO L290 TraceCheckUtils]: 60: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:32:15,047 INFO L290 TraceCheckUtils]: 59: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:32:15,048 INFO L290 TraceCheckUtils]: 58: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:32:15,048 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-08 05:32:15,048 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 < 20);havoc #t~post6; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:32:15,049 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-08 05:32:15,486 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-08 05:32:15,487 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-08 05:32:15,488 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-08 05:32:15,488 INFO L290 TraceCheckUtils]: 51: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:32:15,488 INFO L290 TraceCheckUtils]: 50: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:32:15,488 INFO L290 TraceCheckUtils]: 49: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:32:15,488 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-08 05:32:15,489 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-08 05:32:15,489 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-08 05:32:15,489 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-08 05:32:15,490 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-08 05:32:15,490 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-08 05:32:15,490 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-08 05:32:15,490 INFO L290 TraceCheckUtils]: 41: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:32:15,490 INFO L290 TraceCheckUtils]: 40: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:32:15,490 INFO L290 TraceCheckUtils]: 39: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:32:15,491 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-08 05:32:15,491 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 < 20);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-08 05:32:15,491 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-08 05:32:15,493 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-08 05:32:15,493 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-08 05:32:15,493 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-08 05:32:15,493 INFO L290 TraceCheckUtils]: 32: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:32:15,494 INFO L290 TraceCheckUtils]: 31: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:32:15,494 INFO L290 TraceCheckUtils]: 30: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:32:15,494 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-08 05:32:15,494 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-08 05:32:15,494 INFO L290 TraceCheckUtils]: 27: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:32:15,494 INFO L290 TraceCheckUtils]: 26: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:32:15,494 INFO L290 TraceCheckUtils]: 25: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:32:15,495 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-08 05:32:15,495 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-08 05:32:15,495 INFO L290 TraceCheckUtils]: 22: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:32:15,495 INFO L290 TraceCheckUtils]: 21: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:32:15,495 INFO L290 TraceCheckUtils]: 20: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:32:15,495 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-08 05:32:15,496 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 < 20);havoc #t~post6; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:32:15,496 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-08 05:32:15,496 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-08 05:32:15,497 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13556#true} {13556#true} #66#return; {13556#true} is VALID [2022-04-08 05:32:15,497 INFO L290 TraceCheckUtils]: 14: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:32:15,497 INFO L290 TraceCheckUtils]: 13: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:32:15,497 INFO L290 TraceCheckUtils]: 12: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:32:15,497 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-08 05:32:15,497 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13556#true} {13556#true} #64#return; {13556#true} is VALID [2022-04-08 05:32:15,497 INFO L290 TraceCheckUtils]: 9: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:32:15,497 INFO L290 TraceCheckUtils]: 8: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-08 05:32:15,497 INFO L290 TraceCheckUtils]: 7: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-08 05:32:15,497 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-08 05:32:15,497 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-08 05:32:15,497 INFO L272 TraceCheckUtils]: 4: Hoare triple {13556#true} call #t~ret7 := main(); {13556#true} is VALID [2022-04-08 05:32:15,497 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13556#true} {13556#true} #82#return; {13556#true} is VALID [2022-04-08 05:32:15,497 INFO L290 TraceCheckUtils]: 2: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-08 05:32:15,497 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-08 05:32:15,497 INFO L272 TraceCheckUtils]: 0: Hoare triple {13556#true} call ULTIMATE.init(); {13556#true} is VALID [2022-04-08 05:32:15,498 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-08 05:32:15,498 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:32:15,498 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [940885784] [2022-04-08 05:32:15,498 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:32:15,498 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [493861088] [2022-04-08 05:32:15,498 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [493861088] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:32:15,498 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:32:15,498 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-08 05:32:15,499 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:32:15,499 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [11942138] [2022-04-08 05:32:15,499 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [11942138] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:32:15,499 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:32:15,499 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 05:32:15,499 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1960551042] [2022-04-08 05:32:15,499 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:32:15,499 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-08 05:32:15,500 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:32:15,500 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-08 05:32:15,551 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-08 05:32:15,551 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 05:32:15,551 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:15,552 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 05:32:15,552 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:32:15,552 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-08 05:32:16,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:16,519 INFO L93 Difference]: Finished difference Result 214 states and 271 transitions. [2022-04-08 05:32:16,520 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 05:32:16,520 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-08 05:32:16,520 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:32:16,520 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-08 05:32:16,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-08 05:32:16,521 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-08 05:32:16,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-08 05:32:16,523 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 86 transitions. [2022-04-08 05:32:16,618 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-08 05:32:16,623 INFO L225 Difference]: With dead ends: 214 [2022-04-08 05:32:16,623 INFO L226 Difference]: Without dead ends: 208 [2022-04-08 05:32:16,623 INFO L912 BasicCegarLoop]: 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-08 05:32:16,623 INFO L913 BasicCegarLoop]: 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.4s IncrementalHoareTripleChecker+Time [2022-04-08 05:32:16,624 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 196 Invalid, 351 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 343 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 05:32:16,624 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 208 states. [2022-04-08 05:32:16,742 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 208 to 192. [2022-04-08 05:32:16,743 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:32:16,743 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-08 05:32:16,743 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-08 05:32:16,743 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-08 05:32:16,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:16,748 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-08 05:32:16,748 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 259 transitions. [2022-04-08 05:32:16,749 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:16,749 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:16,749 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-08 05:32:16,750 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-08 05:32:16,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:16,755 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-08 05:32:16,755 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 259 transitions. [2022-04-08 05:32:16,755 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:16,755 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:16,755 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:32:16,756 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:32:16,756 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-08 05:32:16,761 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 192 states to 192 states and 236 transitions. [2022-04-08 05:32:16,761 INFO L78 Accepts]: Start accepts. Automaton has 192 states and 236 transitions. Word has length 71 [2022-04-08 05:32:16,761 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:32:16,761 INFO L478 AbstractCegarLoop]: Abstraction has 192 states and 236 transitions. [2022-04-08 05:32:16,761 INFO L479 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-08 05:32:16,761 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 192 states and 236 transitions. [2022-04-08 05:32:17,158 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-08 05:32:17,159 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 236 transitions. [2022-04-08 05:32:17,160 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-08 05:32:17,160 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:32:17,160 INFO L499 BasicCegarLoop]: 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-08 05:32:17,185 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-08 05:32:17,360 WARN L460 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-08 05:32:17,360 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:32:17,361 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:32:17,361 INFO L85 PathProgramCache]: Analyzing trace with hash 787354729, now seen corresponding path program 3 times [2022-04-08 05:32:17,361 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:17,361 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [46433219] [2022-04-08 05:32:17,361 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:32:17,361 INFO L85 PathProgramCache]: Analyzing trace with hash 787354729, now seen corresponding path program 4 times [2022-04-08 05:32:17,361 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:32:17,362 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1960419654] [2022-04-08 05:32:17,362 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:32:17,362 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:32:17,372 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:32:17,372 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [354271553] [2022-04-08 05:32:17,372 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:32:17,372 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:32:17,372 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:32:17,373 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-08 05:32:17,385 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-08 05:32:17,424 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:32:17,425 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:32:17,425 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-08 05:32:17,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:32:17,438 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:32:17,912 INFO L272 TraceCheckUtils]: 0: Hoare triple {15227#true} call ULTIMATE.init(); {15227#true} is VALID [2022-04-08 05:32:17,912 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-08 05:32:17,912 INFO L290 TraceCheckUtils]: 2: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:17,912 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15227#true} {15227#true} #82#return; {15227#true} is VALID [2022-04-08 05:32:17,912 INFO L272 TraceCheckUtils]: 4: Hoare triple {15227#true} call #t~ret7 := main(); {15227#true} is VALID [2022-04-08 05:32:17,912 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-08 05:32:17,912 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-08 05:32:17,912 INFO L290 TraceCheckUtils]: 7: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:32:17,913 INFO L290 TraceCheckUtils]: 8: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:32:17,913 INFO L290 TraceCheckUtils]: 9: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:17,913 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15227#true} {15227#true} #64#return; {15227#true} is VALID [2022-04-08 05:32:17,913 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-08 05:32:17,913 INFO L290 TraceCheckUtils]: 12: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:32:17,913 INFO L290 TraceCheckUtils]: 13: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:32:17,913 INFO L290 TraceCheckUtils]: 14: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:17,913 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15227#true} {15227#true} #66#return; {15227#true} is VALID [2022-04-08 05:32:17,913 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-08 05:32:17,914 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-08 05:32:17,914 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 < 20);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-08 05:32:17,914 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-08 05:32:17,914 INFO L290 TraceCheckUtils]: 20: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:32:17,914 INFO L290 TraceCheckUtils]: 21: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:32:17,914 INFO L290 TraceCheckUtils]: 22: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:17,915 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-08 05:32:17,915 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-08 05:32:17,915 INFO L290 TraceCheckUtils]: 25: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:32:17,915 INFO L290 TraceCheckUtils]: 26: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:32:17,915 INFO L290 TraceCheckUtils]: 27: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:17,916 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-08 05:32:17,916 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-08 05:32:17,916 INFO L290 TraceCheckUtils]: 30: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:32:17,916 INFO L290 TraceCheckUtils]: 31: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:32:17,916 INFO L290 TraceCheckUtils]: 32: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:17,917 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-08 05:32:17,918 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-08 05:32:17,918 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-08 05:32:17,919 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-08 05:32:17,919 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 < 20);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-08 05:32:17,919 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-08 05:32:17,920 INFO L290 TraceCheckUtils]: 39: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:32:17,920 INFO L290 TraceCheckUtils]: 40: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:32:17,920 INFO L290 TraceCheckUtils]: 41: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:17,920 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-08 05:32:17,921 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-08 05:32:17,921 INFO L290 TraceCheckUtils]: 44: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:32:17,921 INFO L290 TraceCheckUtils]: 45: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:32:17,921 INFO L290 TraceCheckUtils]: 46: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:17,922 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-08 05:32:17,922 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-08 05:32:17,922 INFO L290 TraceCheckUtils]: 49: Hoare triple {15227#true} ~cond := #in~cond; {15381#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:17,922 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-08 05:32:17,923 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-08 05:32:17,923 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-08 05:32:17,924 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-08 05:32:17,925 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-08 05:32:17,925 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-08 05:32:17,926 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 < 20);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-08 05:32:17,926 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-08 05:32:17,926 INFO L290 TraceCheckUtils]: 58: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:32:17,926 INFO L290 TraceCheckUtils]: 59: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:32:17,926 INFO L290 TraceCheckUtils]: 60: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:17,927 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-08 05:32:17,927 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-08 05:32:17,927 INFO L290 TraceCheckUtils]: 63: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:32:17,927 INFO L290 TraceCheckUtils]: 64: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:32:17,927 INFO L290 TraceCheckUtils]: 65: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:17,928 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-08 05:32:17,929 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-08 05:32:17,929 INFO L290 TraceCheckUtils]: 68: Hoare triple {15438#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15442#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:17,930 INFO L290 TraceCheckUtils]: 69: Hoare triple {15442#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15228#false} is VALID [2022-04-08 05:32:17,930 INFO L290 TraceCheckUtils]: 70: Hoare triple {15228#false} assume !false; {15228#false} is VALID [2022-04-08 05:32:17,930 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-08 05:32:17,930 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:32:32,959 INFO L290 TraceCheckUtils]: 70: Hoare triple {15228#false} assume !false; {15228#false} is VALID [2022-04-08 05:32:32,960 INFO L290 TraceCheckUtils]: 69: Hoare triple {15442#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15228#false} is VALID [2022-04-08 05:32:32,960 INFO L290 TraceCheckUtils]: 68: Hoare triple {15438#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15442#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:32,961 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-08 05:32:32,961 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-08 05:32:32,961 INFO L290 TraceCheckUtils]: 65: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:32,961 INFO L290 TraceCheckUtils]: 64: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:32:32,961 INFO L290 TraceCheckUtils]: 63: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:32:32,961 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-08 05:32:32,962 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-08 05:32:32,962 INFO L290 TraceCheckUtils]: 60: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:32,962 INFO L290 TraceCheckUtils]: 59: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:32:32,962 INFO L290 TraceCheckUtils]: 58: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:32:32,962 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-08 05:32:32,963 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 < 20);havoc #t~post6; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:32:32,963 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-08 05:32:33,052 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-08 05:32:33,053 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-08 05:32:33,054 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-08 05:32:33,054 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-08 05:32:33,054 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-08 05:32:33,055 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-08 05:32:33,055 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-08 05:32:33,055 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-08 05:32:33,056 INFO L290 TraceCheckUtils]: 46: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:33,056 INFO L290 TraceCheckUtils]: 45: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:32:33,056 INFO L290 TraceCheckUtils]: 44: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:32:33,056 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-08 05:32:33,056 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-08 05:32:33,056 INFO L290 TraceCheckUtils]: 41: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:33,057 INFO L290 TraceCheckUtils]: 40: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:32:33,057 INFO L290 TraceCheckUtils]: 39: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:32:33,057 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-08 05:32:33,057 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 < 20);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-08 05:32:33,058 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-08 05:32:33,120 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-08 05:32:33,121 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-08 05:32:33,122 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-08 05:32:33,122 INFO L290 TraceCheckUtils]: 32: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:33,122 INFO L290 TraceCheckUtils]: 31: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:32:33,122 INFO L290 TraceCheckUtils]: 30: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:32:33,122 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-08 05:32:33,123 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-08 05:32:33,123 INFO L290 TraceCheckUtils]: 27: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:33,123 INFO L290 TraceCheckUtils]: 26: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:32:33,123 INFO L290 TraceCheckUtils]: 25: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:32:33,123 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-08 05:32:33,124 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-08 05:32:33,124 INFO L290 TraceCheckUtils]: 22: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:33,124 INFO L290 TraceCheckUtils]: 21: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:32:33,124 INFO L290 TraceCheckUtils]: 20: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:32:33,125 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-08 05:32:33,125 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 < 20);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-08 05:32:33,126 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-08 05:32:33,127 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-08 05:32:33,127 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15227#true} {15227#true} #66#return; {15227#true} is VALID [2022-04-08 05:32:33,127 INFO L290 TraceCheckUtils]: 14: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:33,127 INFO L290 TraceCheckUtils]: 13: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:32:33,127 INFO L290 TraceCheckUtils]: 12: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:32:33,127 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-08 05:32:33,127 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15227#true} {15227#true} #64#return; {15227#true} is VALID [2022-04-08 05:32:33,127 INFO L290 TraceCheckUtils]: 9: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:33,127 INFO L290 TraceCheckUtils]: 8: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-08 05:32:33,127 INFO L290 TraceCheckUtils]: 7: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-08 05:32:33,128 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-08 05:32:33,128 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-08 05:32:33,128 INFO L272 TraceCheckUtils]: 4: Hoare triple {15227#true} call #t~ret7 := main(); {15227#true} is VALID [2022-04-08 05:32:33,128 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15227#true} {15227#true} #82#return; {15227#true} is VALID [2022-04-08 05:32:33,128 INFO L290 TraceCheckUtils]: 2: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-08 05:32:33,128 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-08 05:32:33,128 INFO L272 TraceCheckUtils]: 0: Hoare triple {15227#true} call ULTIMATE.init(); {15227#true} is VALID [2022-04-08 05:32:33,129 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-08 05:32:33,129 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:32:33,129 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1960419654] [2022-04-08 05:32:33,129 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:32:33,129 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [354271553] [2022-04-08 05:32:33,129 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [354271553] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:32:33,129 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:32:33,129 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-08 05:32:33,130 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:32:33,130 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [46433219] [2022-04-08 05:32:33,130 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [46433219] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:32:33,130 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:32:33,130 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:32:33,130 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2128663868] [2022-04-08 05:32:33,130 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:32:33,130 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-08 05:32:33,131 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:32:33,131 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-08 05:32:33,186 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-08 05:32:33,186 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:32:33,186 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:33,187 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:32:33,187 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:32:33,187 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-08 05:32:34,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:34,173 INFO L93 Difference]: Finished difference Result 219 states and 281 transitions. [2022-04-08 05:32:34,173 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:32:34,173 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-08 05:32:34,174 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:32:34,174 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-08 05:32:34,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-08 05:32:34,175 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-08 05:32:34,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-08 05:32:34,176 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-08 05:32:34,278 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-08 05:32:34,283 INFO L225 Difference]: With dead ends: 219 [2022-04-08 05:32:34,283 INFO L226 Difference]: Without dead ends: 210 [2022-04-08 05:32:34,283 INFO L912 BasicCegarLoop]: 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-08 05:32:34,284 INFO L913 BasicCegarLoop]: 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-08 05:32:34,284 INFO L914 BasicCegarLoop]: 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-08 05:32:34,285 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states. [2022-04-08 05:32:34,401 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 208. [2022-04-08 05:32:34,401 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:32:34,402 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-08 05:32:34,402 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-08 05:32:34,403 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-08 05:32:34,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:34,408 INFO L93 Difference]: Finished difference Result 210 states and 263 transitions. [2022-04-08 05:32:34,408 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 263 transitions. [2022-04-08 05:32:34,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:34,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:34,409 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-08 05:32:34,409 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-08 05:32:34,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:34,417 INFO L93 Difference]: Finished difference Result 210 states and 263 transitions. [2022-04-08 05:32:34,417 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 263 transitions. [2022-04-08 05:32:34,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:34,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:34,418 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:32:34,418 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:32:34,418 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-08 05:32:34,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 260 transitions. [2022-04-08 05:32:34,423 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 260 transitions. Word has length 71 [2022-04-08 05:32:34,424 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:32:34,424 INFO L478 AbstractCegarLoop]: Abstraction has 208 states and 260 transitions. [2022-04-08 05:32:34,424 INFO L479 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-08 05:32:34,424 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 260 transitions. [2022-04-08 05:32:34,840 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-08 05:32:34,840 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 260 transitions. [2022-04-08 05:32:34,841 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-08 05:32:34,841 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:32:34,841 INFO L499 BasicCegarLoop]: 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-08 05:32:34,858 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-08 05:32:35,047 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-08 05:32:35,047 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:32:35,048 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:32:35,048 INFO L85 PathProgramCache]: Analyzing trace with hash -1898774094, now seen corresponding path program 5 times [2022-04-08 05:32:35,048 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:35,048 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [527946515] [2022-04-08 05:32:35,048 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:32:35,048 INFO L85 PathProgramCache]: Analyzing trace with hash -1898774094, now seen corresponding path program 6 times [2022-04-08 05:32:35,049 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:32:35,049 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1389036070] [2022-04-08 05:32:35,049 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:32:35,049 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:32:35,058 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:32:35,059 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1329579619] [2022-04-08 05:32:35,059 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 05:32:35,059 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:32:35,059 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:32:35,060 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-08 05:32:35,061 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-08 05:32:35,110 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-08 05:32:35,110 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:32:35,111 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 05:32:35,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:32:35,125 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:32:35,444 INFO L272 TraceCheckUtils]: 0: Hoare triple {16944#true} call ULTIMATE.init(); {16944#true} is VALID [2022-04-08 05:32:35,445 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-08 05:32:35,445 INFO L290 TraceCheckUtils]: 2: Hoare triple {16952#(<= ~counter~0 0)} assume true; {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:35,445 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16952#(<= ~counter~0 0)} {16944#true} #82#return; {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:35,446 INFO L272 TraceCheckUtils]: 4: Hoare triple {16952#(<= ~counter~0 0)} call #t~ret7 := main(); {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:35,446 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-08 05:32:35,447 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-08 05:32:35,447 INFO L290 TraceCheckUtils]: 7: Hoare triple {16952#(<= ~counter~0 0)} ~cond := #in~cond; {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:35,447 INFO L290 TraceCheckUtils]: 8: Hoare triple {16952#(<= ~counter~0 0)} assume !(0 == ~cond); {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:35,448 INFO L290 TraceCheckUtils]: 9: Hoare triple {16952#(<= ~counter~0 0)} assume true; {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:35,448 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16952#(<= ~counter~0 0)} {16952#(<= ~counter~0 0)} #64#return; {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:35,449 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-08 05:32:35,449 INFO L290 TraceCheckUtils]: 12: Hoare triple {16952#(<= ~counter~0 0)} ~cond := #in~cond; {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:35,449 INFO L290 TraceCheckUtils]: 13: Hoare triple {16952#(<= ~counter~0 0)} assume !(0 == ~cond); {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:35,450 INFO L290 TraceCheckUtils]: 14: Hoare triple {16952#(<= ~counter~0 0)} assume true; {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:35,450 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16952#(<= ~counter~0 0)} {16952#(<= ~counter~0 0)} #66#return; {16952#(<= ~counter~0 0)} is VALID [2022-04-08 05:32:35,450 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-08 05:32:35,451 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-08 05:32:35,452 INFO L290 TraceCheckUtils]: 18: Hoare triple {17001#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:35,452 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-08 05:32:35,453 INFO L290 TraceCheckUtils]: 20: Hoare triple {17001#(<= ~counter~0 1)} ~cond := #in~cond; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:35,453 INFO L290 TraceCheckUtils]: 21: Hoare triple {17001#(<= ~counter~0 1)} assume !(0 == ~cond); {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:35,453 INFO L290 TraceCheckUtils]: 22: Hoare triple {17001#(<= ~counter~0 1)} assume true; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:35,454 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17001#(<= ~counter~0 1)} {17001#(<= ~counter~0 1)} #68#return; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:35,455 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-08 05:32:35,455 INFO L290 TraceCheckUtils]: 25: Hoare triple {17001#(<= ~counter~0 1)} ~cond := #in~cond; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:35,455 INFO L290 TraceCheckUtils]: 26: Hoare triple {17001#(<= ~counter~0 1)} assume !(0 == ~cond); {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:35,455 INFO L290 TraceCheckUtils]: 27: Hoare triple {17001#(<= ~counter~0 1)} assume true; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:35,456 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {17001#(<= ~counter~0 1)} {17001#(<= ~counter~0 1)} #70#return; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:35,457 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-08 05:32:35,457 INFO L290 TraceCheckUtils]: 30: Hoare triple {17001#(<= ~counter~0 1)} ~cond := #in~cond; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:35,457 INFO L290 TraceCheckUtils]: 31: Hoare triple {17001#(<= ~counter~0 1)} assume !(0 == ~cond); {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:35,458 INFO L290 TraceCheckUtils]: 32: Hoare triple {17001#(<= ~counter~0 1)} assume true; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:35,458 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {17001#(<= ~counter~0 1)} {17001#(<= ~counter~0 1)} #72#return; {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:35,459 INFO L290 TraceCheckUtils]: 34: Hoare triple {17001#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {17001#(<= ~counter~0 1)} is VALID [2022-04-08 05:32:35,459 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-08 05:32:35,460 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-08 05:32:35,460 INFO L290 TraceCheckUtils]: 37: Hoare triple {17059#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:35,461 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-08 05:32:35,461 INFO L290 TraceCheckUtils]: 39: Hoare triple {17059#(<= ~counter~0 2)} ~cond := #in~cond; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:35,461 INFO L290 TraceCheckUtils]: 40: Hoare triple {17059#(<= ~counter~0 2)} assume !(0 == ~cond); {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:35,462 INFO L290 TraceCheckUtils]: 41: Hoare triple {17059#(<= ~counter~0 2)} assume true; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:35,462 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17059#(<= ~counter~0 2)} {17059#(<= ~counter~0 2)} #68#return; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:35,463 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-08 05:32:35,463 INFO L290 TraceCheckUtils]: 44: Hoare triple {17059#(<= ~counter~0 2)} ~cond := #in~cond; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:35,464 INFO L290 TraceCheckUtils]: 45: Hoare triple {17059#(<= ~counter~0 2)} assume !(0 == ~cond); {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:35,464 INFO L290 TraceCheckUtils]: 46: Hoare triple {17059#(<= ~counter~0 2)} assume true; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:35,465 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17059#(<= ~counter~0 2)} {17059#(<= ~counter~0 2)} #70#return; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:35,465 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-08 05:32:35,466 INFO L290 TraceCheckUtils]: 49: Hoare triple {17059#(<= ~counter~0 2)} ~cond := #in~cond; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:35,466 INFO L290 TraceCheckUtils]: 50: Hoare triple {17059#(<= ~counter~0 2)} assume !(0 == ~cond); {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:35,466 INFO L290 TraceCheckUtils]: 51: Hoare triple {17059#(<= ~counter~0 2)} assume true; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:35,467 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17059#(<= ~counter~0 2)} {17059#(<= ~counter~0 2)} #72#return; {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:35,467 INFO L290 TraceCheckUtils]: 53: Hoare triple {17059#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {17059#(<= ~counter~0 2)} is VALID [2022-04-08 05:32:35,468 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-08 05:32:35,468 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-08 05:32:35,468 INFO L290 TraceCheckUtils]: 56: Hoare triple {17117#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:32:35,469 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-08 05:32:35,469 INFO L290 TraceCheckUtils]: 58: Hoare triple {17117#(<= ~counter~0 3)} ~cond := #in~cond; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:32:35,469 INFO L290 TraceCheckUtils]: 59: Hoare triple {17117#(<= ~counter~0 3)} assume !(0 == ~cond); {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:32:35,470 INFO L290 TraceCheckUtils]: 60: Hoare triple {17117#(<= ~counter~0 3)} assume true; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:32:35,470 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {17117#(<= ~counter~0 3)} {17117#(<= ~counter~0 3)} #68#return; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:32:35,471 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-08 05:32:35,471 INFO L290 TraceCheckUtils]: 63: Hoare triple {17117#(<= ~counter~0 3)} ~cond := #in~cond; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:32:35,471 INFO L290 TraceCheckUtils]: 64: Hoare triple {17117#(<= ~counter~0 3)} assume !(0 == ~cond); {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:32:35,472 INFO L290 TraceCheckUtils]: 65: Hoare triple {17117#(<= ~counter~0 3)} assume true; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:32:35,472 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {17117#(<= ~counter~0 3)} {17117#(<= ~counter~0 3)} #70#return; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:32:35,473 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-08 05:32:35,473 INFO L290 TraceCheckUtils]: 68: Hoare triple {17117#(<= ~counter~0 3)} ~cond := #in~cond; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:32:35,473 INFO L290 TraceCheckUtils]: 69: Hoare triple {17117#(<= ~counter~0 3)} assume !(0 == ~cond); {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:32:35,473 INFO L290 TraceCheckUtils]: 70: Hoare triple {17117#(<= ~counter~0 3)} assume true; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:32:35,474 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {17117#(<= ~counter~0 3)} {17117#(<= ~counter~0 3)} #72#return; {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:32:35,474 INFO L290 TraceCheckUtils]: 72: Hoare triple {17117#(<= ~counter~0 3)} assume !!(~a~0 != ~b~0); {17117#(<= ~counter~0 3)} is VALID [2022-04-08 05:32:35,474 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-08 05:32:35,475 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-08 05:32:35,475 INFO L290 TraceCheckUtils]: 75: Hoare triple {17175#(<= |main_#t~post6| 3)} assume !(#t~post6 < 20);havoc #t~post6; {16945#false} is VALID [2022-04-08 05:32:35,475 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-08 05:32:35,475 INFO L290 TraceCheckUtils]: 77: Hoare triple {16945#false} ~cond := #in~cond; {16945#false} is VALID [2022-04-08 05:32:35,475 INFO L290 TraceCheckUtils]: 78: Hoare triple {16945#false} assume 0 == ~cond; {16945#false} is VALID [2022-04-08 05:32:35,475 INFO L290 TraceCheckUtils]: 79: Hoare triple {16945#false} assume !false; {16945#false} is VALID [2022-04-08 05:32:35,476 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-08 05:32:35,476 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:32:35,769 INFO L290 TraceCheckUtils]: 79: Hoare triple {16945#false} assume !false; {16945#false} is VALID [2022-04-08 05:32:35,769 INFO L290 TraceCheckUtils]: 78: Hoare triple {16945#false} assume 0 == ~cond; {16945#false} is VALID [2022-04-08 05:32:35,769 INFO L290 TraceCheckUtils]: 77: Hoare triple {16945#false} ~cond := #in~cond; {16945#false} is VALID [2022-04-08 05:32:35,769 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-08 05:32:35,770 INFO L290 TraceCheckUtils]: 75: Hoare triple {17203#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {16945#false} is VALID [2022-04-08 05:32:35,770 INFO L290 TraceCheckUtils]: 74: Hoare triple {17207#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17203#(< |main_#t~post6| 20)} is VALID [2022-04-08 05:32:35,770 INFO L290 TraceCheckUtils]: 73: Hoare triple {17207#(< ~counter~0 20)} 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 20)} is VALID [2022-04-08 05:32:35,771 INFO L290 TraceCheckUtils]: 72: Hoare triple {17207#(< ~counter~0 20)} assume !!(~a~0 != ~b~0); {17207#(< ~counter~0 20)} is VALID [2022-04-08 05:32:35,771 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16944#true} {17207#(< ~counter~0 20)} #72#return; {17207#(< ~counter~0 20)} is VALID [2022-04-08 05:32:35,771 INFO L290 TraceCheckUtils]: 70: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:32:35,771 INFO L290 TraceCheckUtils]: 69: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:32:35,771 INFO L290 TraceCheckUtils]: 68: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:32:35,771 INFO L272 TraceCheckUtils]: 67: Hoare triple {17207#(< ~counter~0 20)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:32:35,775 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {16944#true} {17207#(< ~counter~0 20)} #70#return; {17207#(< ~counter~0 20)} is VALID [2022-04-08 05:32:35,775 INFO L290 TraceCheckUtils]: 65: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:32:35,775 INFO L290 TraceCheckUtils]: 64: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:32:35,775 INFO L290 TraceCheckUtils]: 63: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:32:35,775 INFO L272 TraceCheckUtils]: 62: Hoare triple {17207#(< ~counter~0 20)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:32:35,776 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16944#true} {17207#(< ~counter~0 20)} #68#return; {17207#(< ~counter~0 20)} is VALID [2022-04-08 05:32:35,776 INFO L290 TraceCheckUtils]: 60: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:32:35,776 INFO L290 TraceCheckUtils]: 59: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:32:35,776 INFO L290 TraceCheckUtils]: 58: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:32:35,776 INFO L272 TraceCheckUtils]: 57: Hoare triple {17207#(< ~counter~0 20)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:32:35,777 INFO L290 TraceCheckUtils]: 56: Hoare triple {17207#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {17207#(< ~counter~0 20)} is VALID [2022-04-08 05:32:35,778 INFO L290 TraceCheckUtils]: 55: Hoare triple {17265#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17207#(< ~counter~0 20)} is VALID [2022-04-08 05:32:35,778 INFO L290 TraceCheckUtils]: 54: Hoare triple {17265#(< ~counter~0 19)} 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 19)} is VALID [2022-04-08 05:32:35,778 INFO L290 TraceCheckUtils]: 53: Hoare triple {17265#(< ~counter~0 19)} assume !!(~a~0 != ~b~0); {17265#(< ~counter~0 19)} is VALID [2022-04-08 05:32:35,779 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {16944#true} {17265#(< ~counter~0 19)} #72#return; {17265#(< ~counter~0 19)} is VALID [2022-04-08 05:32:35,779 INFO L290 TraceCheckUtils]: 51: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:32:35,779 INFO L290 TraceCheckUtils]: 50: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:32:35,779 INFO L290 TraceCheckUtils]: 49: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:32:35,779 INFO L272 TraceCheckUtils]: 48: Hoare triple {17265#(< ~counter~0 19)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:32:35,780 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {16944#true} {17265#(< ~counter~0 19)} #70#return; {17265#(< ~counter~0 19)} is VALID [2022-04-08 05:32:35,780 INFO L290 TraceCheckUtils]: 46: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:32:35,780 INFO L290 TraceCheckUtils]: 45: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:32:35,780 INFO L290 TraceCheckUtils]: 44: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:32:35,780 INFO L272 TraceCheckUtils]: 43: Hoare triple {17265#(< ~counter~0 19)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:32:35,781 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {16944#true} {17265#(< ~counter~0 19)} #68#return; {17265#(< ~counter~0 19)} is VALID [2022-04-08 05:32:35,781 INFO L290 TraceCheckUtils]: 41: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:32:35,781 INFO L290 TraceCheckUtils]: 40: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:32:35,781 INFO L290 TraceCheckUtils]: 39: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:32:35,781 INFO L272 TraceCheckUtils]: 38: Hoare triple {17265#(< ~counter~0 19)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:32:35,782 INFO L290 TraceCheckUtils]: 37: Hoare triple {17265#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {17265#(< ~counter~0 19)} is VALID [2022-04-08 05:32:35,782 INFO L290 TraceCheckUtils]: 36: Hoare triple {17323#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17265#(< ~counter~0 19)} is VALID [2022-04-08 05:32:35,783 INFO L290 TraceCheckUtils]: 35: Hoare triple {17323#(< ~counter~0 18)} 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 18)} is VALID [2022-04-08 05:32:35,783 INFO L290 TraceCheckUtils]: 34: Hoare triple {17323#(< ~counter~0 18)} assume !!(~a~0 != ~b~0); {17323#(< ~counter~0 18)} is VALID [2022-04-08 05:32:35,784 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {16944#true} {17323#(< ~counter~0 18)} #72#return; {17323#(< ~counter~0 18)} is VALID [2022-04-08 05:32:35,784 INFO L290 TraceCheckUtils]: 32: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:32:35,784 INFO L290 TraceCheckUtils]: 31: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:32:35,784 INFO L290 TraceCheckUtils]: 30: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:32:35,784 INFO L272 TraceCheckUtils]: 29: Hoare triple {17323#(< ~counter~0 18)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:32:35,785 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16944#true} {17323#(< ~counter~0 18)} #70#return; {17323#(< ~counter~0 18)} is VALID [2022-04-08 05:32:35,785 INFO L290 TraceCheckUtils]: 27: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:32:35,785 INFO L290 TraceCheckUtils]: 26: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:32:35,785 INFO L290 TraceCheckUtils]: 25: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:32:35,785 INFO L272 TraceCheckUtils]: 24: Hoare triple {17323#(< ~counter~0 18)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:32:35,786 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16944#true} {17323#(< ~counter~0 18)} #68#return; {17323#(< ~counter~0 18)} is VALID [2022-04-08 05:32:35,786 INFO L290 TraceCheckUtils]: 22: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:32:35,786 INFO L290 TraceCheckUtils]: 21: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:32:35,786 INFO L290 TraceCheckUtils]: 20: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:32:35,786 INFO L272 TraceCheckUtils]: 19: Hoare triple {17323#(< ~counter~0 18)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:32:35,786 INFO L290 TraceCheckUtils]: 18: Hoare triple {17323#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {17323#(< ~counter~0 18)} is VALID [2022-04-08 05:32:35,787 INFO L290 TraceCheckUtils]: 17: Hoare triple {17381#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17323#(< ~counter~0 18)} is VALID [2022-04-08 05:32:35,787 INFO L290 TraceCheckUtils]: 16: Hoare triple {17381#(< ~counter~0 17)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17381#(< ~counter~0 17)} is VALID [2022-04-08 05:32:35,788 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16944#true} {17381#(< ~counter~0 17)} #66#return; {17381#(< ~counter~0 17)} is VALID [2022-04-08 05:32:35,788 INFO L290 TraceCheckUtils]: 14: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:32:35,788 INFO L290 TraceCheckUtils]: 13: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:32:35,788 INFO L290 TraceCheckUtils]: 12: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:32:35,788 INFO L272 TraceCheckUtils]: 11: Hoare triple {17381#(< ~counter~0 17)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:32:35,789 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16944#true} {17381#(< ~counter~0 17)} #64#return; {17381#(< ~counter~0 17)} is VALID [2022-04-08 05:32:35,789 INFO L290 TraceCheckUtils]: 9: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-08 05:32:35,789 INFO L290 TraceCheckUtils]: 8: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-08 05:32:35,789 INFO L290 TraceCheckUtils]: 7: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-08 05:32:35,789 INFO L272 TraceCheckUtils]: 6: Hoare triple {17381#(< ~counter~0 17)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16944#true} is VALID [2022-04-08 05:32:35,789 INFO L290 TraceCheckUtils]: 5: Hoare triple {17381#(< ~counter~0 17)} 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 17)} is VALID [2022-04-08 05:32:35,790 INFO L272 TraceCheckUtils]: 4: Hoare triple {17381#(< ~counter~0 17)} call #t~ret7 := main(); {17381#(< ~counter~0 17)} is VALID [2022-04-08 05:32:35,790 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17381#(< ~counter~0 17)} {16944#true} #82#return; {17381#(< ~counter~0 17)} is VALID [2022-04-08 05:32:35,790 INFO L290 TraceCheckUtils]: 2: Hoare triple {17381#(< ~counter~0 17)} assume true; {17381#(< ~counter~0 17)} is VALID [2022-04-08 05:32:35,791 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 17)} is VALID [2022-04-08 05:32:35,791 INFO L272 TraceCheckUtils]: 0: Hoare triple {16944#true} call ULTIMATE.init(); {16944#true} is VALID [2022-04-08 05:32:35,791 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-08 05:32:35,791 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:32:35,791 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1389036070] [2022-04-08 05:32:35,791 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:32:35,792 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1329579619] [2022-04-08 05:32:35,792 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1329579619] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:32:35,792 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:32:35,792 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-08 05:32:35,792 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:32:35,792 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [527946515] [2022-04-08 05:32:35,792 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [527946515] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:32:35,792 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:32:35,792 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 05:32:35,792 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [69574292] [2022-04-08 05:32:35,792 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:32:35,793 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-08 05:32:35,793 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:32:35,793 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-08 05:32:35,848 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-08 05:32:35,848 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 05:32:35,848 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:35,848 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 05:32:35,848 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:32:35,849 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-08 05:32:36,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:36,227 INFO L93 Difference]: Finished difference Result 277 states and 329 transitions. [2022-04-08 05:32:36,227 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 05:32:36,227 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-08 05:32:36,228 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:32:36,228 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-08 05:32:36,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-08 05:32:36,229 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-08 05:32:36,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-08 05:32:36,231 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 96 transitions. [2022-04-08 05:32:36,308 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-08 05:32:36,314 INFO L225 Difference]: With dead ends: 277 [2022-04-08 05:32:36,314 INFO L226 Difference]: Without dead ends: 250 [2022-04-08 05:32:36,315 INFO L912 BasicCegarLoop]: 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-08 05:32:36,315 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 10 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 40 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:32:36,315 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 163 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:32:36,316 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 250 states. [2022-04-08 05:32:36,460 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 250 to 229. [2022-04-08 05:32:36,461 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:32:36,461 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-08 05:32:36,462 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-08 05:32:36,462 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-08 05:32:36,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:36,468 INFO L93 Difference]: Finished difference Result 250 states and 294 transitions. [2022-04-08 05:32:36,468 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 294 transitions. [2022-04-08 05:32:36,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:36,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:36,469 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-08 05:32:36,469 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-08 05:32:36,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:36,474 INFO L93 Difference]: Finished difference Result 250 states and 294 transitions. [2022-04-08 05:32:36,475 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 294 transitions. [2022-04-08 05:32:36,475 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:36,475 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:36,475 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:32:36,475 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:32:36,476 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-08 05:32:36,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 229 states to 229 states and 268 transitions. [2022-04-08 05:32:36,481 INFO L78 Accepts]: Start accepts. Automaton has 229 states and 268 transitions. Word has length 80 [2022-04-08 05:32:36,481 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:32:36,481 INFO L478 AbstractCegarLoop]: Abstraction has 229 states and 268 transitions. [2022-04-08 05:32:36,482 INFO L479 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-08 05:32:36,482 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 229 states and 268 transitions. [2022-04-08 05:32:36,933 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-08 05:32:36,934 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 268 transitions. [2022-04-08 05:32:36,934 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-08 05:32:36,934 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:32:36,935 INFO L499 BasicCegarLoop]: 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-08 05:32:36,960 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-08 05:32:37,135 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-08 05:32:37,135 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:32:37,136 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:32:37,136 INFO L85 PathProgramCache]: Analyzing trace with hash 629296923, now seen corresponding path program 7 times [2022-04-08 05:32:37,136 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:37,136 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1562121502] [2022-04-08 05:32:37,136 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:32:37,136 INFO L85 PathProgramCache]: Analyzing trace with hash 629296923, now seen corresponding path program 8 times [2022-04-08 05:32:37,137 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:32:37,137 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1258250384] [2022-04-08 05:32:37,137 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:32:37,137 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:32:37,149 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:32:37,149 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [98861945] [2022-04-08 05:32:37,149 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:32:37,150 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:32:37,150 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:32:37,151 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-08 05:32:37,152 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-08 05:32:37,203 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:32:37,203 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:32:37,204 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 05:32:37,217 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:32:37,218 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:32:37,970 INFO L272 TraceCheckUtils]: 0: Hoare triple {18953#true} call ULTIMATE.init(); {18953#true} is VALID [2022-04-08 05:32:37,970 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-08 05:32:37,970 INFO L290 TraceCheckUtils]: 2: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:37,971 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18953#true} {18953#true} #82#return; {18953#true} is VALID [2022-04-08 05:32:37,971 INFO L272 TraceCheckUtils]: 4: Hoare triple {18953#true} call #t~ret7 := main(); {18953#true} is VALID [2022-04-08 05:32:37,971 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-08 05:32:37,971 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-08 05:32:37,971 INFO L290 TraceCheckUtils]: 7: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:37,971 INFO L290 TraceCheckUtils]: 8: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:37,971 INFO L290 TraceCheckUtils]: 9: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:37,971 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18953#true} {18953#true} #64#return; {18953#true} is VALID [2022-04-08 05:32:37,971 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-08 05:32:37,975 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-08 05:32:37,975 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-08 05:32:37,976 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-08 05:32:37,976 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-08 05:32:37,977 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-08 05:32:37,977 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-08 05:32:37,978 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 < 20);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-08 05:32:37,978 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-08 05:32:37,978 INFO L290 TraceCheckUtils]: 20: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:37,978 INFO L290 TraceCheckUtils]: 21: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:37,978 INFO L290 TraceCheckUtils]: 22: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:37,979 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-08 05:32:37,979 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-08 05:32:37,979 INFO L290 TraceCheckUtils]: 25: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:37,979 INFO L290 TraceCheckUtils]: 26: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:37,979 INFO L290 TraceCheckUtils]: 27: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:37,980 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-08 05:32:37,980 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-08 05:32:37,980 INFO L290 TraceCheckUtils]: 30: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:37,980 INFO L290 TraceCheckUtils]: 31: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:37,980 INFO L290 TraceCheckUtils]: 32: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:37,981 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-08 05:32:37,982 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-08 05:32:37,982 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-08 05:32:37,983 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-08 05:32:37,983 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 < 20);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-08 05:32:37,983 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-08 05:32:37,983 INFO L290 TraceCheckUtils]: 39: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:37,983 INFO L290 TraceCheckUtils]: 40: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:37,983 INFO L290 TraceCheckUtils]: 41: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:37,984 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-08 05:32:37,984 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-08 05:32:37,984 INFO L290 TraceCheckUtils]: 44: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:37,984 INFO L290 TraceCheckUtils]: 45: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:37,984 INFO L290 TraceCheckUtils]: 46: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:37,985 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-08 05:32:37,985 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-08 05:32:37,985 INFO L290 TraceCheckUtils]: 49: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:37,985 INFO L290 TraceCheckUtils]: 50: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:37,985 INFO L290 TraceCheckUtils]: 51: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:37,986 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-08 05:32:37,986 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-08 05:32:37,987 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-08 05:32:37,987 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-08 05:32:37,988 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 < 20);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-08 05:32:37,988 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-08 05:32:37,988 INFO L290 TraceCheckUtils]: 58: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:37,988 INFO L290 TraceCheckUtils]: 59: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:37,988 INFO L290 TraceCheckUtils]: 60: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:37,989 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-08 05:32:37,989 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-08 05:32:37,989 INFO L290 TraceCheckUtils]: 63: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:37,989 INFO L290 TraceCheckUtils]: 64: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:37,989 INFO L290 TraceCheckUtils]: 65: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:37,990 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-08 05:32:37,990 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-08 05:32:37,990 INFO L290 TraceCheckUtils]: 68: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:37,990 INFO L290 TraceCheckUtils]: 69: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:37,990 INFO L290 TraceCheckUtils]: 70: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:37,991 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-08 05:32:37,991 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-08 05:32:37,992 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-08 05:32:37,992 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-08 05:32:37,993 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 < 20);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-08 05:32:37,993 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-08 05:32:37,993 INFO L290 TraceCheckUtils]: 77: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:37,993 INFO L290 TraceCheckUtils]: 78: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:37,993 INFO L290 TraceCheckUtils]: 79: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:37,994 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-08 05:32:37,994 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-08 05:32:37,994 INFO L290 TraceCheckUtils]: 82: Hoare triple {19208#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19212#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:37,995 INFO L290 TraceCheckUtils]: 83: Hoare triple {19212#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18954#false} is VALID [2022-04-08 05:32:37,995 INFO L290 TraceCheckUtils]: 84: Hoare triple {18954#false} assume !false; {18954#false} is VALID [2022-04-08 05:32:37,995 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-08 05:32:37,995 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:32:38,450 INFO L290 TraceCheckUtils]: 84: Hoare triple {18954#false} assume !false; {18954#false} is VALID [2022-04-08 05:32:38,450 INFO L290 TraceCheckUtils]: 83: Hoare triple {19212#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18954#false} is VALID [2022-04-08 05:32:38,451 INFO L290 TraceCheckUtils]: 82: Hoare triple {19208#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19212#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:38,451 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-08 05:32:38,452 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-08 05:32:38,452 INFO L290 TraceCheckUtils]: 79: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:38,452 INFO L290 TraceCheckUtils]: 78: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:38,452 INFO L290 TraceCheckUtils]: 77: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:38,452 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-08 05:32:38,452 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 < 20);havoc #t~post6; {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:32:38,453 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-08 05:32:38,532 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-08 05:32:38,533 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-08 05:32:38,533 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-08 05:32:38,540 INFO L290 TraceCheckUtils]: 70: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:38,540 INFO L290 TraceCheckUtils]: 69: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:38,540 INFO L290 TraceCheckUtils]: 68: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:38,540 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-08 05:32:38,541 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-08 05:32:38,541 INFO L290 TraceCheckUtils]: 65: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:38,541 INFO L290 TraceCheckUtils]: 64: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:38,541 INFO L290 TraceCheckUtils]: 63: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:38,541 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-08 05:32:38,542 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-08 05:32:38,542 INFO L290 TraceCheckUtils]: 60: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:38,542 INFO L290 TraceCheckUtils]: 59: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:38,542 INFO L290 TraceCheckUtils]: 58: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:38,542 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-08 05:32:38,543 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 < 20);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-08 05:32:38,543 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-08 05:32:38,654 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-08 05:32:38,655 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-08 05:32:38,655 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-08 05:32:38,655 INFO L290 TraceCheckUtils]: 51: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:38,655 INFO L290 TraceCheckUtils]: 50: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:38,656 INFO L290 TraceCheckUtils]: 49: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:38,656 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-08 05:32:38,656 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-08 05:32:38,656 INFO L290 TraceCheckUtils]: 46: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:38,656 INFO L290 TraceCheckUtils]: 45: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:38,656 INFO L290 TraceCheckUtils]: 44: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:38,656 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-08 05:32:38,657 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-08 05:32:38,657 INFO L290 TraceCheckUtils]: 41: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:38,657 INFO L290 TraceCheckUtils]: 40: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:38,657 INFO L290 TraceCheckUtils]: 39: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:38,657 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-08 05:32:38,658 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 < 20);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-08 05:32:38,658 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-08 05:32:39,049 INFO 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 VALID [2022-04-08 05:32:39,050 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-08 05:32:39,050 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-08 05:32:39,050 INFO L290 TraceCheckUtils]: 32: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:39,051 INFO L290 TraceCheckUtils]: 31: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:39,051 INFO L290 TraceCheckUtils]: 30: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:39,051 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-08 05:32:39,051 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-08 05:32:39,051 INFO L290 TraceCheckUtils]: 27: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:39,051 INFO L290 TraceCheckUtils]: 26: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:39,051 INFO L290 TraceCheckUtils]: 25: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:39,051 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-08 05:32:39,052 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-08 05:32:39,052 INFO L290 TraceCheckUtils]: 22: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:39,052 INFO L290 TraceCheckUtils]: 21: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:39,052 INFO L290 TraceCheckUtils]: 20: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:39,052 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-08 05:32:39,053 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 < 20);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-08 05:32:39,053 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-08 05:32:39,053 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-08 05:32:39,054 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18953#true} {18953#true} #66#return; {18953#true} is VALID [2022-04-08 05:32:39,054 INFO L290 TraceCheckUtils]: 14: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:39,054 INFO L290 TraceCheckUtils]: 13: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:39,054 INFO L290 TraceCheckUtils]: 12: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:39,054 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-08 05:32:39,054 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18953#true} {18953#true} #64#return; {18953#true} is VALID [2022-04-08 05:32:39,054 INFO L290 TraceCheckUtils]: 9: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:39,054 INFO L290 TraceCheckUtils]: 8: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-08 05:32:39,054 INFO L290 TraceCheckUtils]: 7: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-08 05:32:39,054 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-08 05:32:39,054 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-08 05:32:39,054 INFO L272 TraceCheckUtils]: 4: Hoare triple {18953#true} call #t~ret7 := main(); {18953#true} is VALID [2022-04-08 05:32:39,055 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18953#true} {18953#true} #82#return; {18953#true} is VALID [2022-04-08 05:32:39,055 INFO L290 TraceCheckUtils]: 2: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-08 05:32:39,055 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-08 05:32:39,055 INFO L272 TraceCheckUtils]: 0: Hoare triple {18953#true} call ULTIMATE.init(); {18953#true} is VALID [2022-04-08 05:32:39,055 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-08 05:32:39,055 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:32:39,056 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1258250384] [2022-04-08 05:32:39,056 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:32:39,056 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [98861945] [2022-04-08 05:32:39,056 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [98861945] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:32:39,056 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:32:39,056 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-08 05:32:39,056 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:32:39,056 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1562121502] [2022-04-08 05:32:39,056 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1562121502] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:32:39,056 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:32:39,056 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 05:32:39,057 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [203287249] [2022-04-08 05:32:39,057 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:32:39,057 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-08 05:32:39,057 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:32:39,057 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-08 05:32:39,110 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-08 05:32:39,110 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 05:32:39,110 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:39,111 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 05:32:39,111 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-08 05:32:39,111 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-08 05:32:40,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:40,968 INFO L93 Difference]: Finished difference Result 256 states and 307 transitions. [2022-04-08 05:32:40,968 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 05:32:40,968 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-08 05:32:40,969 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:32:40,969 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-08 05:32:40,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-08 05:32:40,971 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-08 05:32:40,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-08 05:32:40,973 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-08 05:32:41,093 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-08 05:32:41,099 INFO L225 Difference]: With dead ends: 256 [2022-04-08 05:32:41,099 INFO L226 Difference]: Without dead ends: 254 [2022-04-08 05:32:41,099 INFO L912 BasicCegarLoop]: 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-08 05:32:41,100 INFO L913 BasicCegarLoop]: 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-08 05:32:41,100 INFO L914 BasicCegarLoop]: 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-08 05:32:41,101 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 254 states. [2022-04-08 05:32:41,360 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 254 to 238. [2022-04-08 05:32:41,361 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:32:41,362 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-08 05:32:41,362 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-08 05:32:41,363 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-08 05:32:41,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:41,370 INFO L93 Difference]: Finished difference Result 254 states and 305 transitions. [2022-04-08 05:32:41,370 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 305 transitions. [2022-04-08 05:32:41,371 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:41,371 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:41,372 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-08 05:32:41,372 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-08 05:32:41,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:41,379 INFO L93 Difference]: Finished difference Result 254 states and 305 transitions. [2022-04-08 05:32:41,379 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 305 transitions. [2022-04-08 05:32:41,379 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:41,379 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:41,379 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:32:41,380 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:32:41,381 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-08 05:32:41,388 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 238 states to 238 states and 280 transitions. [2022-04-08 05:32:41,388 INFO L78 Accepts]: Start accepts. Automaton has 238 states and 280 transitions. Word has length 85 [2022-04-08 05:32:41,389 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:32:41,389 INFO L478 AbstractCegarLoop]: Abstraction has 238 states and 280 transitions. [2022-04-08 05:32:41,389 INFO L479 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-08 05:32:41,389 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 238 states and 280 transitions. [2022-04-08 05:32:41,825 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-08 05:32:41,825 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 280 transitions. [2022-04-08 05:32:41,826 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-08 05:32:41,826 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:32:41,826 INFO L499 BasicCegarLoop]: 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-08 05:32:41,850 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-08 05:32:42,039 WARN L460 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-08 05:32:42,040 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:32:42,040 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:32:42,040 INFO L85 PathProgramCache]: Analyzing trace with hash 1330896797, now seen corresponding path program 7 times [2022-04-08 05:32:42,040 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:42,040 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1468375965] [2022-04-08 05:32:42,040 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:32:42,040 INFO L85 PathProgramCache]: Analyzing trace with hash 1330896797, now seen corresponding path program 8 times [2022-04-08 05:32:42,040 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:32:42,041 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1654820586] [2022-04-08 05:32:42,041 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:32:42,041 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:32:42,050 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:32:42,051 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1612432001] [2022-04-08 05:32:42,051 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:32:42,051 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:32:42,051 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:32:42,052 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-08 05:32:42,063 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-08 05:32:42,156 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:32:42,156 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:32:42,158 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-08 05:32:42,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:32:42,173 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:32:43,460 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 05:32:43,520 INFO L272 TraceCheckUtils]: 0: Hoare triple {20977#true} call ULTIMATE.init(); {20977#true} is VALID [2022-04-08 05:32:43,520 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-08 05:32:43,520 INFO L290 TraceCheckUtils]: 2: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:43,520 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20977#true} {20977#true} #82#return; {20977#true} is VALID [2022-04-08 05:32:43,521 INFO L272 TraceCheckUtils]: 4: Hoare triple {20977#true} call #t~ret7 := main(); {20977#true} is VALID [2022-04-08 05:32:43,521 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-08 05:32:43,521 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-08 05:32:43,521 INFO L290 TraceCheckUtils]: 7: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:43,521 INFO L290 TraceCheckUtils]: 8: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:43,521 INFO L290 TraceCheckUtils]: 9: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:43,521 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20977#true} {20977#true} #64#return; {20977#true} is VALID [2022-04-08 05:32:43,521 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-08 05:32:43,521 INFO L290 TraceCheckUtils]: 12: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:43,521 INFO L290 TraceCheckUtils]: 13: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:43,521 INFO L290 TraceCheckUtils]: 14: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:43,522 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20977#true} {20977#true} #66#return; {20977#true} is VALID [2022-04-08 05:32:43,522 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-08 05:32:43,523 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-08 05:32:43,523 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 < 20);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-08 05:32:43,523 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-08 05:32:43,523 INFO L290 TraceCheckUtils]: 20: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:43,523 INFO L290 TraceCheckUtils]: 21: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:43,523 INFO L290 TraceCheckUtils]: 22: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:43,524 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-08 05:32:43,524 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-08 05:32:43,524 INFO L290 TraceCheckUtils]: 25: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:43,525 INFO L290 TraceCheckUtils]: 26: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:43,525 INFO L290 TraceCheckUtils]: 27: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:43,525 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-08 05:32:43,525 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-08 05:32:43,526 INFO L290 TraceCheckUtils]: 30: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:43,526 INFO L290 TraceCheckUtils]: 31: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:43,526 INFO L290 TraceCheckUtils]: 32: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:43,526 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-08 05:32:43,527 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-08 05:32:43,528 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-08 05:32:43,528 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-08 05:32:43,529 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 < 20);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-08 05:32:43,529 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-08 05:32:43,529 INFO L290 TraceCheckUtils]: 39: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:43,529 INFO L290 TraceCheckUtils]: 40: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:43,529 INFO L290 TraceCheckUtils]: 41: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:43,530 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-08 05:32:43,530 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-08 05:32:43,530 INFO L290 TraceCheckUtils]: 44: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:43,530 INFO L290 TraceCheckUtils]: 45: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:43,530 INFO L290 TraceCheckUtils]: 46: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:43,531 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-08 05:32:43,531 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-08 05:32:43,531 INFO L290 TraceCheckUtils]: 49: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:43,531 INFO L290 TraceCheckUtils]: 50: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:43,531 INFO L290 TraceCheckUtils]: 51: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:43,532 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-08 05:32:43,532 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-08 05:32:43,534 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-08 05:32:43,535 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-08 05:32:43,535 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 < 20);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-08 05:32:43,535 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-08 05:32:43,536 INFO L290 TraceCheckUtils]: 58: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:43,536 INFO L290 TraceCheckUtils]: 59: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:43,536 INFO L290 TraceCheckUtils]: 60: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:43,536 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-08 05:32:43,537 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-08 05:32:43,537 INFO L290 TraceCheckUtils]: 63: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:43,537 INFO L290 TraceCheckUtils]: 64: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:43,537 INFO L290 TraceCheckUtils]: 65: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:43,538 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-08 05:32:43,538 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-08 05:32:43,538 INFO L290 TraceCheckUtils]: 68: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:43,538 INFO L290 TraceCheckUtils]: 69: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:43,538 INFO L290 TraceCheckUtils]: 70: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:43,539 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-08 05:32:43,539 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-08 05:32:43,541 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-08 05:32:43,542 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-08 05:32:43,543 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 < 20);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-08 05:32:43,543 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-08 05:32:43,543 INFO L290 TraceCheckUtils]: 77: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:43,543 INFO L290 TraceCheckUtils]: 78: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:43,543 INFO L290 TraceCheckUtils]: 79: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:43,544 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-08 05:32:43,547 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-08 05:32:43,548 INFO L290 TraceCheckUtils]: 82: Hoare triple {21229#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21233#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:43,548 INFO L290 TraceCheckUtils]: 83: Hoare triple {21233#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20978#false} is VALID [2022-04-08 05:32:43,548 INFO L290 TraceCheckUtils]: 84: Hoare triple {20978#false} assume !false; {20978#false} is VALID [2022-04-08 05:32:43,549 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-08 05:32:43,549 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:32:44,239 INFO L290 TraceCheckUtils]: 84: Hoare triple {20978#false} assume !false; {20978#false} is VALID [2022-04-08 05:32:44,239 INFO L290 TraceCheckUtils]: 83: Hoare triple {21233#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20978#false} is VALID [2022-04-08 05:32:44,240 INFO L290 TraceCheckUtils]: 82: Hoare triple {21229#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21233#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:44,241 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-08 05:32:44,242 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-08 05:32:44,242 INFO L290 TraceCheckUtils]: 79: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:44,242 INFO L290 TraceCheckUtils]: 78: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:44,242 INFO L290 TraceCheckUtils]: 77: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:44,242 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-08 05:32:44,243 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 < 20);havoc #t~post6; {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:32:44,243 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-08 05:32:46,019 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-08 05:32:46,019 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-08 05:32:46,020 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-08 05:32:46,020 INFO L290 TraceCheckUtils]: 70: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:46,020 INFO L290 TraceCheckUtils]: 69: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:46,020 INFO L290 TraceCheckUtils]: 68: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:46,020 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-08 05:32:46,021 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-08 05:32:46,021 INFO L290 TraceCheckUtils]: 65: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:46,021 INFO L290 TraceCheckUtils]: 64: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:46,021 INFO L290 TraceCheckUtils]: 63: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:46,021 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-08 05:32:46,022 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-08 05:32:46,022 INFO L290 TraceCheckUtils]: 60: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:46,022 INFO L290 TraceCheckUtils]: 59: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:46,022 INFO L290 TraceCheckUtils]: 58: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:46,022 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-08 05:32:46,023 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 < 20);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-08 05:32:46,023 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-08 05:32:46,165 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-08 05:32:46,165 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-08 05:32:46,166 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-08 05:32:46,166 INFO L290 TraceCheckUtils]: 51: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:46,166 INFO L290 TraceCheckUtils]: 50: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:46,166 INFO L290 TraceCheckUtils]: 49: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:46,166 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-08 05:32:46,167 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-08 05:32:46,167 INFO L290 TraceCheckUtils]: 46: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:46,167 INFO L290 TraceCheckUtils]: 45: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:46,167 INFO L290 TraceCheckUtils]: 44: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:46,167 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-08 05:32:46,168 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-08 05:32:46,168 INFO L290 TraceCheckUtils]: 41: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:46,168 INFO L290 TraceCheckUtils]: 40: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:46,168 INFO L290 TraceCheckUtils]: 39: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:46,168 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-08 05:32:46,169 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 < 20);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-08 05:32:46,169 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-08 05:32:47,014 INFO 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 VALID [2022-04-08 05:32:47,015 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-08 05:32:47,015 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-08 05:32:47,015 INFO L290 TraceCheckUtils]: 32: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:47,015 INFO L290 TraceCheckUtils]: 31: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:47,015 INFO L290 TraceCheckUtils]: 30: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:47,016 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-08 05:32:47,016 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-08 05:32:47,016 INFO L290 TraceCheckUtils]: 27: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:47,016 INFO L290 TraceCheckUtils]: 26: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:47,016 INFO L290 TraceCheckUtils]: 25: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:47,016 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-08 05:32:47,017 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-08 05:32:47,017 INFO L290 TraceCheckUtils]: 22: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:47,017 INFO L290 TraceCheckUtils]: 21: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:47,017 INFO L290 TraceCheckUtils]: 20: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:47,017 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-08 05:32:47,018 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 < 20);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-08 05:32:47,018 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-08 05:32:47,019 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-08 05:32:47,019 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20977#true} {20977#true} #66#return; {20977#true} is VALID [2022-04-08 05:32:47,019 INFO L290 TraceCheckUtils]: 14: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:47,019 INFO L290 TraceCheckUtils]: 13: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:47,019 INFO L290 TraceCheckUtils]: 12: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:47,019 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-08 05:32:47,019 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20977#true} {20977#true} #64#return; {20977#true} is VALID [2022-04-08 05:32:47,019 INFO L290 TraceCheckUtils]: 9: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:47,019 INFO L290 TraceCheckUtils]: 8: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-08 05:32:47,019 INFO L290 TraceCheckUtils]: 7: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-08 05:32:47,019 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-08 05:32:47,019 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-08 05:32:47,019 INFO L272 TraceCheckUtils]: 4: Hoare triple {20977#true} call #t~ret7 := main(); {20977#true} is VALID [2022-04-08 05:32:47,019 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20977#true} {20977#true} #82#return; {20977#true} is VALID [2022-04-08 05:32:47,020 INFO L290 TraceCheckUtils]: 2: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-08 05:32:47,020 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-08 05:32:47,020 INFO L272 TraceCheckUtils]: 0: Hoare triple {20977#true} call ULTIMATE.init(); {20977#true} is VALID [2022-04-08 05:32:47,020 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-08 05:32:47,020 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:32:47,020 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1654820586] [2022-04-08 05:32:47,020 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:32:47,020 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1612432001] [2022-04-08 05:32:47,020 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1612432001] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:32:47,020 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:32:47,021 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-08 05:32:47,021 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:32:47,021 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1468375965] [2022-04-08 05:32:47,021 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1468375965] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:32:47,021 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:32:47,021 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:32:47,021 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1836079535] [2022-04-08 05:32:47,021 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:32:47,022 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-08 05:32:47,022 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:32:47,022 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-08 05:32:47,080 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-08 05:32:47,080 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 05:32:47,080 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:47,081 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 05:32:47,081 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:32:47,081 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-08 05:32:48,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:48,756 INFO L93 Difference]: Finished difference Result 286 states and 341 transitions. [2022-04-08 05:32:48,756 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 05:32:48,756 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-08 05:32:48,756 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:32:48,757 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-08 05:32:48,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2022-04-08 05:32:48,758 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-08 05:32:48,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2022-04-08 05:32:48,760 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 97 transitions. [2022-04-08 05:32:48,890 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-08 05:32:48,897 INFO L225 Difference]: With dead ends: 286 [2022-04-08 05:32:48,897 INFO L226 Difference]: Without dead ends: 284 [2022-04-08 05:32:48,897 INFO L912 BasicCegarLoop]: 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-08 05:32:48,898 INFO L913 BasicCegarLoop]: 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-08 05:32:48,898 INFO L914 BasicCegarLoop]: 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-08 05:32:48,898 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 284 states. [2022-04-08 05:32:49,254 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 284 to 268. [2022-04-08 05:32:49,255 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:32:49,256 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-08 05:32:49,257 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-08 05:32:49,257 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-08 05:32:49,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:49,265 INFO L93 Difference]: Finished difference Result 284 states and 339 transitions. [2022-04-08 05:32:49,265 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 339 transitions. [2022-04-08 05:32:49,266 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:49,266 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:49,266 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-08 05:32:49,267 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-08 05:32:49,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:49,272 INFO L93 Difference]: Finished difference Result 284 states and 339 transitions. [2022-04-08 05:32:49,273 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 339 transitions. [2022-04-08 05:32:49,273 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:49,273 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:49,273 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:32:49,274 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:32:49,274 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-08 05:32:49,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 268 states to 268 states and 314 transitions. [2022-04-08 05:32:49,281 INFO L78 Accepts]: Start accepts. Automaton has 268 states and 314 transitions. Word has length 85 [2022-04-08 05:32:49,281 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:32:49,281 INFO L478 AbstractCegarLoop]: Abstraction has 268 states and 314 transitions. [2022-04-08 05:32:49,281 INFO L479 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-08 05:32:49,281 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 268 states and 314 transitions. [2022-04-08 05:32:49,754 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-08 05:32:49,754 INFO L276 IsEmpty]: Start isEmpty. Operand 268 states and 314 transitions. [2022-04-08 05:32:49,755 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-08 05:32:49,755 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:32:49,755 INFO L499 BasicCegarLoop]: 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-08 05:32:49,771 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-08 05:32:49,955 WARN L460 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-08 05:32:49,955 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:32:49,956 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:32:49,956 INFO L85 PathProgramCache]: Analyzing trace with hash 148216665, now seen corresponding path program 9 times [2022-04-08 05:32:49,956 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:49,956 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1799312217] [2022-04-08 05:32:49,956 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:32:49,956 INFO L85 PathProgramCache]: Analyzing trace with hash 148216665, now seen corresponding path program 10 times [2022-04-08 05:32:49,956 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:32:49,956 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2010210817] [2022-04-08 05:32:49,957 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:32:49,957 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:32:49,966 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:32:49,966 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1425187529] [2022-04-08 05:32:49,966 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:32:49,966 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:32:49,966 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:32:49,967 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:32:49,979 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-08 05:32:50,025 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:32:50,026 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:32:50,027 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-08 05:32:50,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:32:50,041 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:33:32,155 INFO L272 TraceCheckUtils]: 0: Hoare triple {23176#true} call ULTIMATE.init(); {23176#true} is VALID [2022-04-08 05:33:32,156 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-08 05:33:32,156 INFO L290 TraceCheckUtils]: 2: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:33:32,156 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23176#true} {23176#true} #82#return; {23176#true} is VALID [2022-04-08 05:33:32,156 INFO L272 TraceCheckUtils]: 4: Hoare triple {23176#true} call #t~ret7 := main(); {23176#true} is VALID [2022-04-08 05:33:32,156 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-08 05:33:32,156 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-08 05:33:32,156 INFO L290 TraceCheckUtils]: 7: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:33:32,156 INFO L290 TraceCheckUtils]: 8: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:33:32,156 INFO L290 TraceCheckUtils]: 9: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:33:32,156 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23176#true} {23176#true} #64#return; {23176#true} is VALID [2022-04-08 05:33:32,156 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-08 05:33:32,157 INFO L290 TraceCheckUtils]: 12: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:33:32,157 INFO L290 TraceCheckUtils]: 13: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:33:32,157 INFO L290 TraceCheckUtils]: 14: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:33:32,157 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23176#true} {23176#true} #66#return; {23176#true} is VALID [2022-04-08 05:33:32,157 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-08 05:33:32,158 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-08 05:33:32,158 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 < 20);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-08 05:33:32,158 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-08 05:33:32,158 INFO L290 TraceCheckUtils]: 20: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:33:32,158 INFO L290 TraceCheckUtils]: 21: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:33:32,159 INFO L290 TraceCheckUtils]: 22: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:33:32,159 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-08 05:33:32,159 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-08 05:33:32,159 INFO L290 TraceCheckUtils]: 25: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:33:32,159 INFO L290 TraceCheckUtils]: 26: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:33:32,160 INFO L290 TraceCheckUtils]: 27: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:33:32,160 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-08 05:33:32,160 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-08 05:33:32,161 INFO L290 TraceCheckUtils]: 30: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:33:32,161 INFO L290 TraceCheckUtils]: 31: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:33:32,161 INFO L290 TraceCheckUtils]: 32: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:33:32,161 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-08 05:33:32,162 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-08 05:33:32,162 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-08 05:33:32,163 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-08 05:33:32,164 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 < 20);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-08 05:33:32,164 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-08 05:33:32,164 INFO L290 TraceCheckUtils]: 39: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:33:32,164 INFO L290 TraceCheckUtils]: 40: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:33:32,164 INFO L290 TraceCheckUtils]: 41: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:33:32,165 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-08 05:33:32,165 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-08 05:33:32,165 INFO L290 TraceCheckUtils]: 44: Hoare triple {23176#true} ~cond := #in~cond; {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:32,165 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-08 05:33:32,166 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-08 05:33:32,166 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-08 05:33:32,167 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-08 05:33:32,167 INFO L290 TraceCheckUtils]: 49: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:33:32,167 INFO L290 TraceCheckUtils]: 50: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:33:32,167 INFO L290 TraceCheckUtils]: 51: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:33:32,167 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-08 05:33:32,168 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-08 05:33:32,169 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-08 05:33:32,170 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-08 05:33:32,170 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 < 20);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-08 05:33:32,170 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-08 05:33:32,171 INFO L290 TraceCheckUtils]: 58: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:33:32,171 INFO L290 TraceCheckUtils]: 59: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:33:32,171 INFO L290 TraceCheckUtils]: 60: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:33:32,171 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-08 05:33:32,171 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-08 05:33:32,172 INFO L290 TraceCheckUtils]: 63: Hoare triple {23176#true} ~cond := #in~cond; {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:32,172 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-08 05:33:32,172 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-08 05:33:32,173 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-08 05:33:32,173 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-08 05:33:32,174 INFO L290 TraceCheckUtils]: 68: Hoare triple {23176#true} ~cond := #in~cond; {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:32,174 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-08 05:33:32,174 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-08 05:33:32,175 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-08 05:33:32,176 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-08 05:33:32,178 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-08 05:33:32,178 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-08 05:33:32,179 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 < 20);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-08 05:33:32,179 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-08 05:33:32,179 INFO L290 TraceCheckUtils]: 77: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:33:32,179 INFO L290 TraceCheckUtils]: 78: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:33:32,179 INFO L290 TraceCheckUtils]: 79: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:33:32,180 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-08 05:33:32,183 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-08 05:33:32,184 INFO L290 TraceCheckUtils]: 82: Hoare triple {23430#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23434#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:32,184 INFO L290 TraceCheckUtils]: 83: Hoare triple {23434#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23177#false} is VALID [2022-04-08 05:33:32,184 INFO L290 TraceCheckUtils]: 84: Hoare triple {23177#false} assume !false; {23177#false} is VALID [2022-04-08 05:33:32,185 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-08 05:33:32,185 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:34:16,382 INFO L290 TraceCheckUtils]: 84: Hoare triple {23177#false} assume !false; {23177#false} is VALID [2022-04-08 05:34:16,382 INFO L290 TraceCheckUtils]: 83: Hoare triple {23434#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23177#false} is VALID [2022-04-08 05:34:16,383 INFO L290 TraceCheckUtils]: 82: Hoare triple {23430#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23434#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:34:16,383 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-08 05:34:16,384 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-08 05:34:16,384 INFO L290 TraceCheckUtils]: 79: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:34:16,384 INFO L290 TraceCheckUtils]: 78: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:34:16,384 INFO L290 TraceCheckUtils]: 77: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:34:16,384 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-08 05:34:16,385 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 < 20);havoc #t~post6; {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:34:16,385 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-08 05:34:16,650 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-08 05:34:16,651 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-08 05:34:16,652 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-08 05:34:16,652 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-08 05:34:16,653 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-08 05:34:16,653 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-08 05:34:16,653 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-08 05:34:16,654 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-08 05:34:16,654 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-08 05:34:16,656 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-08 05:34:16,656 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-08 05:34:16,656 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-08 05:34:16,656 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {23176#true} {23176#true} #68#return; {23176#true} is VALID [2022-04-08 05:34:16,656 INFO L290 TraceCheckUtils]: 60: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:34:16,657 INFO L290 TraceCheckUtils]: 59: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:34:16,657 INFO L290 TraceCheckUtils]: 58: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:34:16,657 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-08 05:34:16,657 INFO L290 TraceCheckUtils]: 56: Hoare triple {23176#true} assume !!(#t~post6 < 20);havoc #t~post6; {23176#true} is VALID [2022-04-08 05:34:16,657 INFO L290 TraceCheckUtils]: 55: Hoare triple {23176#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23176#true} is VALID [2022-04-08 05:34:16,657 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-08 05:34:16,657 INFO L290 TraceCheckUtils]: 53: Hoare triple {23176#true} assume !!(~a~0 != ~b~0); {23176#true} is VALID [2022-04-08 05:34:16,657 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23176#true} {23176#true} #72#return; {23176#true} is VALID [2022-04-08 05:34:16,657 INFO L290 TraceCheckUtils]: 51: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:34:16,657 INFO L290 TraceCheckUtils]: 50: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:34:16,657 INFO L290 TraceCheckUtils]: 49: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:34:16,657 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-08 05:34:16,658 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23176#true} {23176#true} #70#return; {23176#true} is VALID [2022-04-08 05:34:16,658 INFO L290 TraceCheckUtils]: 46: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:34:16,658 INFO L290 TraceCheckUtils]: 45: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:34:16,658 INFO L290 TraceCheckUtils]: 44: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:34:16,658 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-08 05:34:16,658 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23176#true} {23176#true} #68#return; {23176#true} is VALID [2022-04-08 05:34:16,658 INFO L290 TraceCheckUtils]: 41: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:34:16,658 INFO L290 TraceCheckUtils]: 40: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:34:16,658 INFO L290 TraceCheckUtils]: 39: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:34:16,658 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-08 05:34:16,658 INFO L290 TraceCheckUtils]: 37: Hoare triple {23176#true} assume !!(#t~post6 < 20);havoc #t~post6; {23176#true} is VALID [2022-04-08 05:34:16,658 INFO L290 TraceCheckUtils]: 36: Hoare triple {23176#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23176#true} is VALID [2022-04-08 05:34:16,659 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-08 05:34:16,659 INFO L290 TraceCheckUtils]: 34: Hoare triple {23176#true} assume !!(~a~0 != ~b~0); {23176#true} is VALID [2022-04-08 05:34:16,659 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {23176#true} {23176#true} #72#return; {23176#true} is VALID [2022-04-08 05:34:16,659 INFO L290 TraceCheckUtils]: 32: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:34:16,659 INFO L290 TraceCheckUtils]: 31: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:34:16,659 INFO L290 TraceCheckUtils]: 30: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:34:16,659 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-08 05:34:16,659 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23176#true} {23176#true} #70#return; {23176#true} is VALID [2022-04-08 05:34:16,659 INFO L290 TraceCheckUtils]: 27: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:34:16,659 INFO L290 TraceCheckUtils]: 26: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:34:16,660 INFO L290 TraceCheckUtils]: 25: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:34:16,660 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-08 05:34:16,660 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23176#true} {23176#true} #68#return; {23176#true} is VALID [2022-04-08 05:34:16,660 INFO L290 TraceCheckUtils]: 22: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:34:16,660 INFO L290 TraceCheckUtils]: 21: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:34:16,660 INFO L290 TraceCheckUtils]: 20: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:34:16,660 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-08 05:34:16,660 INFO L290 TraceCheckUtils]: 18: Hoare triple {23176#true} assume !!(#t~post6 < 20);havoc #t~post6; {23176#true} is VALID [2022-04-08 05:34:16,660 INFO L290 TraceCheckUtils]: 17: Hoare triple {23176#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23176#true} is VALID [2022-04-08 05:34:16,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; {23176#true} is VALID [2022-04-08 05:34:16,661 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23176#true} {23176#true} #66#return; {23176#true} is VALID [2022-04-08 05:34:16,661 INFO L290 TraceCheckUtils]: 14: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:34:16,661 INFO L290 TraceCheckUtils]: 13: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:34:16,661 INFO L290 TraceCheckUtils]: 12: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:34:16,661 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-08 05:34:16,661 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23176#true} {23176#true} #64#return; {23176#true} is VALID [2022-04-08 05:34:16,661 INFO L290 TraceCheckUtils]: 9: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:34:16,661 INFO L290 TraceCheckUtils]: 8: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-08 05:34:16,661 INFO L290 TraceCheckUtils]: 7: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-08 05:34:16,661 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-08 05:34:16,661 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-08 05:34:16,662 INFO L272 TraceCheckUtils]: 4: Hoare triple {23176#true} call #t~ret7 := main(); {23176#true} is VALID [2022-04-08 05:34:16,662 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23176#true} {23176#true} #82#return; {23176#true} is VALID [2022-04-08 05:34:16,662 INFO L290 TraceCheckUtils]: 2: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-08 05:34:16,662 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-08 05:34:16,662 INFO L272 TraceCheckUtils]: 0: Hoare triple {23176#true} call ULTIMATE.init(); {23176#true} is VALID [2022-04-08 05:34:16,662 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-08 05:34:16,662 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:34:16,662 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2010210817] [2022-04-08 05:34:16,663 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:34:16,663 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1425187529] [2022-04-08 05:34:16,663 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1425187529] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:34:16,663 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:34:16,663 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-08 05:34:16,663 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:34:16,663 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1799312217] [2022-04-08 05:34:16,663 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1799312217] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:34:16,663 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:34:16,663 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 05:34:16,664 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1521794043] [2022-04-08 05:34:16,664 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:34:16,664 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-08 05:34:16,664 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:34:16,664 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-08 05:34:16,728 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-08 05:34:16,729 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 05:34:16,729 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:34:16,729 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 05:34:16,729 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=140, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:34:16,729 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-08 05:34:18,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:34:18,598 INFO L93 Difference]: Finished difference Result 297 states and 355 transitions. [2022-04-08 05:34:18,598 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 05:34:18,598 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-08 05:34:18,600 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:34:18,600 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-08 05:34:18,602 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-08 05:34:18,602 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-08 05:34:18,603 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-08 05:34:18,603 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 97 transitions. [2022-04-08 05:34:18,745 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-08 05:34:18,753 INFO L225 Difference]: With dead ends: 297 [2022-04-08 05:34:18,753 INFO L226 Difference]: Without dead ends: 295 [2022-04-08 05:34:18,753 INFO L912 BasicCegarLoop]: 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-08 05:34:18,754 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 16 mSDsluCounter, 163 mSDsCounter, 0 mSdLazyCounter, 413 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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, 0.7s IncrementalHoareTripleChecker+Time [2022-04-08 05:34:18,754 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 209 Invalid, 432 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 413 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-08 05:34:18,754 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 295 states. [2022-04-08 05:34:19,018 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 295 to 249. [2022-04-08 05:34:19,018 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:34:19,019 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-08 05:34:19,019 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-08 05:34:19,019 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-08 05:34:19,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:34:19,026 INFO L93 Difference]: Finished difference Result 295 states and 353 transitions. [2022-04-08 05:34:19,026 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 353 transitions. [2022-04-08 05:34:19,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:34:19,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:34:19,027 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-08 05:34:19,028 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-08 05:34:19,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:34:19,034 INFO L93 Difference]: Finished difference Result 295 states and 353 transitions. [2022-04-08 05:34:19,034 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 353 transitions. [2022-04-08 05:34:19,035 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:34:19,035 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:34:19,035 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:34:19,035 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:34:19,035 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-08 05:34:19,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 249 states to 249 states and 294 transitions. [2022-04-08 05:34:19,041 INFO L78 Accepts]: Start accepts. Automaton has 249 states and 294 transitions. Word has length 85 [2022-04-08 05:34:19,041 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:34:19,041 INFO L478 AbstractCegarLoop]: Abstraction has 249 states and 294 transitions. [2022-04-08 05:34:19,042 INFO L479 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-08 05:34:19,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 249 states and 294 transitions. [2022-04-08 05:34:19,582 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-08 05:34:19,583 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 294 transitions. [2022-04-08 05:34:19,583 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-08 05:34:19,583 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:34:19,584 INFO L499 BasicCegarLoop]: 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-08 05:34:19,606 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-08 05:34:19,799 WARN L460 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-08 05:34:19,799 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:34:19,800 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:34:19,800 INFO L85 PathProgramCache]: Analyzing trace with hash 849816539, now seen corresponding path program 11 times [2022-04-08 05:34:19,800 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:34:19,800 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [39633584] [2022-04-08 05:34:19,800 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:34:19,800 INFO L85 PathProgramCache]: Analyzing trace with hash 849816539, now seen corresponding path program 12 times [2022-04-08 05:34:19,800 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:34:19,800 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [429170431] [2022-04-08 05:34:19,800 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:34:19,800 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:34:19,812 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:34:19,812 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [834241367] [2022-04-08 05:34:19,812 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 05:34:19,812 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:34:19,812 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:34:19,813 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-08 05:34:19,816 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-08 05:34:19,896 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 05:34:19,897 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:34:19,898 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 05:34:19,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:34:19,942 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:34:20,369 INFO L272 TraceCheckUtils]: 0: Hoare triple {25385#true} call ULTIMATE.init(); {25385#true} is VALID [2022-04-08 05:34:20,370 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-08 05:34:20,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:34:20,370 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25385#true} {25385#true} #82#return; {25385#true} is VALID [2022-04-08 05:34:20,370 INFO L272 TraceCheckUtils]: 4: Hoare triple {25385#true} call #t~ret7 := main(); {25385#true} is VALID [2022-04-08 05:34:20,370 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-08 05:34:20,370 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-08 05:34:20,370 INFO L290 TraceCheckUtils]: 7: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-08 05:34:20,370 INFO L290 TraceCheckUtils]: 8: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-08 05:34:20,371 INFO L290 TraceCheckUtils]: 9: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:34:20,371 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25385#true} {25385#true} #64#return; {25385#true} is VALID [2022-04-08 05:34:20,371 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-08 05:34:20,371 INFO L290 TraceCheckUtils]: 12: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-08 05:34:20,371 INFO L290 TraceCheckUtils]: 13: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-08 05:34:20,371 INFO L290 TraceCheckUtils]: 14: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:34:20,371 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {25385#true} {25385#true} #66#return; {25385#true} is VALID [2022-04-08 05:34:20,372 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-08 05:34:20,372 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-08 05:34:20,372 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 < 20);havoc #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:20,372 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-08 05:34:20,373 INFO L290 TraceCheckUtils]: 20: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-08 05:34:20,373 INFO L290 TraceCheckUtils]: 21: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-08 05:34:20,373 INFO L290 TraceCheckUtils]: 22: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:34:20,373 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-08 05:34:20,373 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-08 05:34:20,374 INFO L290 TraceCheckUtils]: 25: Hoare triple {25385#true} ~cond := #in~cond; {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:34:20,374 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-08 05:34:20,375 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-08 05:34:20,375 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-08 05:34:20,375 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-08 05:34:20,375 INFO L290 TraceCheckUtils]: 30: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-08 05:34:20,375 INFO L290 TraceCheckUtils]: 31: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-08 05:34:20,376 INFO L290 TraceCheckUtils]: 32: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:34:20,376 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-08 05:34:20,377 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-08 05:34:20,377 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-08 05:34:20,378 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-08 05:34:20,378 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 < 20);havoc #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:20,378 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-08 05:34:20,378 INFO L290 TraceCheckUtils]: 39: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-08 05:34:20,378 INFO L290 TraceCheckUtils]: 40: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-08 05:34:20,378 INFO L290 TraceCheckUtils]: 41: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:34:20,379 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-08 05:34:20,379 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-08 05:34:20,379 INFO L290 TraceCheckUtils]: 44: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-08 05:34:20,379 INFO L290 TraceCheckUtils]: 45: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-08 05:34:20,380 INFO L290 TraceCheckUtils]: 46: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:34:20,380 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-08 05:34:20,380 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-08 05:34:20,380 INFO L290 TraceCheckUtils]: 49: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-08 05:34:20,381 INFO L290 TraceCheckUtils]: 50: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-08 05:34:20,381 INFO L290 TraceCheckUtils]: 51: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:34:20,381 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-08 05:34:20,382 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-08 05:34:20,382 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-08 05:34:20,383 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-08 05:34:20,383 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 < 20);havoc #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:34:20,384 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-08 05:34:20,384 INFO L290 TraceCheckUtils]: 58: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-08 05:34:20,384 INFO L290 TraceCheckUtils]: 59: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-08 05:34:20,384 INFO L290 TraceCheckUtils]: 60: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:34:20,384 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-08 05:34:20,385 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-08 05:34:20,385 INFO L290 TraceCheckUtils]: 63: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-08 05:34:20,385 INFO L290 TraceCheckUtils]: 64: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-08 05:34:20,385 INFO L290 TraceCheckUtils]: 65: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-08 05:34:20,386 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-08 05:34:20,386 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-08 05:34:20,386 INFO L290 TraceCheckUtils]: 68: Hoare triple {25385#true} ~cond := #in~cond; {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:34:20,386 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-08 05:34:20,387 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-08 05:34:20,388 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-08 05:34:20,388 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-08 05:34:20,389 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-08 05:34:20,390 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-08 05:34:20,391 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 < 20);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-08 05:34:20,391 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-08 05:34:20,391 INFO L290 TraceCheckUtils]: 77: Hoare triple {25385#true} ~cond := #in~cond; {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:34:20,392 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-08 05:34:20,392 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-08 05:34:20,406 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-08 05:34:20,407 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-08 05:34:20,407 INFO L290 TraceCheckUtils]: 82: Hoare triple {25639#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25643#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:34:20,407 INFO L290 TraceCheckUtils]: 83: Hoare triple {25643#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25386#false} is VALID [2022-04-08 05:34:20,408 INFO L290 TraceCheckUtils]: 84: Hoare triple {25386#false} assume !false; {25386#false} is VALID [2022-04-08 05:34:20,408 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-08 05:34:20,408 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:35:54,962 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 05:36:06,253 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 05:36:21,514 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-08 05:36:21,515 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:36:21,516 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [429170431] [2022-04-08 05:36:21,516 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:36:21,516 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [834241367] [2022-04-08 05:36:21,516 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [834241367] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 05:36:21,516 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 05:36:21,516 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-08 05:36:21,516 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:36:21,516 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [39633584] [2022-04-08 05:36:21,516 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [39633584] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:36:21,516 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:36:21,516 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 05:36:21,516 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [386280140] [2022-04-08 05:36:21,516 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:36:21,517 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-08 05:36:21,517 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:36:21,517 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-08 05:36:21,556 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-08 05:36:21,556 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 05:36:21,556 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:36:21,556 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 05:36:21,556 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=143, Unknown=1, NotChecked=24, Total=210 [2022-04-08 05:36:21,557 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-08 05:36:23,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:36:23,347 INFO L93 Difference]: Finished difference Result 315 states and 392 transitions. [2022-04-08 05:36:23,347 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 05:36:23,347 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-08 05:36:23,347 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:36:23,347 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-08 05:36:23,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 110 transitions. [2022-04-08 05:36:23,349 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-08 05:36:23,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 110 transitions. [2022-04-08 05:36:23,350 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 110 transitions. [2022-04-08 05:36:23,524 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-08 05:36:23,529 INFO L225 Difference]: With dead ends: 315 [2022-04-08 05:36:23,530 INFO L226 Difference]: Without dead ends: 309 [2022-04-08 05:36:23,530 INFO L912 BasicCegarLoop]: 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-08 05:36:23,530 INFO L913 BasicCegarLoop]: 51 mSDtfsCounter, 26 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 381 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-08 05:36:23,531 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 192 Invalid, 408 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 381 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-08 05:36:23,531 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 309 states. [2022-04-08 05:36:23,799 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 309 to 265. [2022-04-08 05:36:23,799 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:36:23,800 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-08 05:36:23,800 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-08 05:36:23,800 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-08 05:36:23,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:36:23,807 INFO L93 Difference]: Finished difference Result 309 states and 381 transitions. [2022-04-08 05:36:23,807 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 381 transitions. [2022-04-08 05:36:23,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:36:23,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:36:23,809 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-08 05:36:23,809 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-08 05:36:23,816 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:36:23,816 INFO L93 Difference]: Finished difference Result 309 states and 381 transitions. [2022-04-08 05:36:23,816 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 381 transitions. [2022-04-08 05:36:23,817 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:36:23,817 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:36:23,817 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:36:23,817 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:36:23,817 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-08 05:36:23,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 265 states to 265 states and 313 transitions. [2022-04-08 05:36:23,824 INFO L78 Accepts]: Start accepts. Automaton has 265 states and 313 transitions. Word has length 85 [2022-04-08 05:36:23,824 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:36:23,824 INFO L478 AbstractCegarLoop]: Abstraction has 265 states and 313 transitions. [2022-04-08 05:36:23,824 INFO L479 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-08 05:36:23,824 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 265 states and 313 transitions. [2022-04-08 05:36:24,563 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-08 05:36:24,563 INFO L276 IsEmpty]: Start isEmpty. Operand 265 states and 313 transitions. [2022-04-08 05:36:24,564 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-08 05:36:24,564 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:36:24,564 INFO L499 BasicCegarLoop]: 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-08 05:36:24,593 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-08 05:36:24,765 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-08 05:36:24,765 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:36:24,765 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:36:24,765 INFO L85 PathProgramCache]: Analyzing trace with hash -1358919972, now seen corresponding path program 13 times [2022-04-08 05:36:24,765 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:36:24,766 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [357587165] [2022-04-08 05:36:24,766 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:36:24,766 INFO L85 PathProgramCache]: Analyzing trace with hash -1358919972, now seen corresponding path program 14 times [2022-04-08 05:36:24,766 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:36:24,766 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [316894736] [2022-04-08 05:36:24,766 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:36:24,766 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:36:24,777 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:36:24,777 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1134059672] [2022-04-08 05:36:24,777 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:36:24,777 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:36:24,777 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:36:24,779 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-08 05:36:24,781 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-08 05:36:24,877 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:36:24,877 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:36:24,878 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 05:36:24,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:36:24,896 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:36:26,060 INFO L272 TraceCheckUtils]: 0: Hoare triple {27480#true} call ULTIMATE.init(); {27480#true} is VALID [2022-04-08 05:36:26,060 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-08 05:36:26,060 INFO L290 TraceCheckUtils]: 2: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:26,060 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27480#true} {27480#true} #82#return; {27480#true} is VALID [2022-04-08 05:36:26,060 INFO L272 TraceCheckUtils]: 4: Hoare triple {27480#true} call #t~ret7 := main(); {27480#true} is VALID [2022-04-08 05:36:26,060 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-08 05:36:26,060 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-08 05:36:26,061 INFO L290 TraceCheckUtils]: 7: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:26,061 INFO L290 TraceCheckUtils]: 8: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:26,061 INFO L290 TraceCheckUtils]: 9: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:26,061 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27480#true} {27480#true} #64#return; {27480#true} is VALID [2022-04-08 05:36:26,061 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-08 05:36:26,061 INFO L290 TraceCheckUtils]: 12: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:26,061 INFO L290 TraceCheckUtils]: 13: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:26,061 INFO L290 TraceCheckUtils]: 14: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:26,061 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27480#true} {27480#true} #66#return; {27480#true} is VALID [2022-04-08 05:36:26,062 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-08 05:36:26,062 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-08 05:36:26,063 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 < 20);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-08 05:36:26,063 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-08 05:36:26,063 INFO L290 TraceCheckUtils]: 20: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:26,063 INFO L290 TraceCheckUtils]: 21: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:26,063 INFO L290 TraceCheckUtils]: 22: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:26,064 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-08 05:36:26,064 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-08 05:36:26,064 INFO L290 TraceCheckUtils]: 25: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:26,064 INFO L290 TraceCheckUtils]: 26: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:26,064 INFO L290 TraceCheckUtils]: 27: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:26,065 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-08 05:36:26,065 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-08 05:36:26,065 INFO L290 TraceCheckUtils]: 30: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:26,065 INFO L290 TraceCheckUtils]: 31: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:26,065 INFO L290 TraceCheckUtils]: 32: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:26,066 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-08 05:36:26,066 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-08 05:36:26,067 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-08 05:36:26,068 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-08 05:36:26,068 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 < 20);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-08 05:36:26,068 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-08 05:36:26,068 INFO L290 TraceCheckUtils]: 39: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:26,068 INFO L290 TraceCheckUtils]: 40: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:26,068 INFO L290 TraceCheckUtils]: 41: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:26,069 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-08 05:36:26,069 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-08 05:36:26,069 INFO L290 TraceCheckUtils]: 44: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:26,069 INFO L290 TraceCheckUtils]: 45: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:26,069 INFO L290 TraceCheckUtils]: 46: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:26,070 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-08 05:36:26,070 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-08 05:36:26,070 INFO L290 TraceCheckUtils]: 49: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:26,070 INFO L290 TraceCheckUtils]: 50: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:26,070 INFO L290 TraceCheckUtils]: 51: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:26,071 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-08 05:36:26,072 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-08 05:36:26,073 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-08 05:36:26,074 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-08 05:36:26,074 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 < 20);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-08 05:36:26,074 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-08 05:36:26,074 INFO L290 TraceCheckUtils]: 58: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:26,074 INFO L290 TraceCheckUtils]: 59: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:26,074 INFO L290 TraceCheckUtils]: 60: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:26,075 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-08 05:36:26,075 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-08 05:36:26,075 INFO L290 TraceCheckUtils]: 63: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:26,076 INFO L290 TraceCheckUtils]: 64: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:26,076 INFO L290 TraceCheckUtils]: 65: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:26,076 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-08 05:36:26,077 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-08 05:36:26,077 INFO L290 TraceCheckUtils]: 68: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:26,077 INFO L290 TraceCheckUtils]: 69: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:26,077 INFO L290 TraceCheckUtils]: 70: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:26,078 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-08 05:36:26,078 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-08 05:36:26,080 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-08 05:36:26,081 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-08 05:36:26,081 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 < 20);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-08 05:36:26,081 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-08 05:36:26,081 INFO L290 TraceCheckUtils]: 77: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:26,082 INFO L290 TraceCheckUtils]: 78: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:26,082 INFO L290 TraceCheckUtils]: 79: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:26,082 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-08 05:36:26,083 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-08 05:36:26,083 INFO L290 TraceCheckUtils]: 82: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:26,083 INFO L290 TraceCheckUtils]: 83: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:26,083 INFO L290 TraceCheckUtils]: 84: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:26,084 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-08 05:36:26,085 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-08 05:36:26,085 INFO L290 TraceCheckUtils]: 87: Hoare triple {27748#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27752#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:36:26,086 INFO L290 TraceCheckUtils]: 88: Hoare triple {27752#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27481#false} is VALID [2022-04-08 05:36:26,086 INFO L290 TraceCheckUtils]: 89: Hoare triple {27481#false} assume !false; {27481#false} is VALID [2022-04-08 05:36:26,086 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-08 05:36:26,086 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:36:26,838 INFO L290 TraceCheckUtils]: 89: Hoare triple {27481#false} assume !false; {27481#false} is VALID [2022-04-08 05:36:26,838 INFO L290 TraceCheckUtils]: 88: Hoare triple {27752#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27481#false} is VALID [2022-04-08 05:36:26,839 INFO L290 TraceCheckUtils]: 87: Hoare triple {27748#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27752#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:36:26,839 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-08 05:36:26,840 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-08 05:36:26,840 INFO L290 TraceCheckUtils]: 84: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:26,840 INFO L290 TraceCheckUtils]: 83: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:26,841 INFO L290 TraceCheckUtils]: 82: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:26,841 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-08 05:36:26,841 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-08 05:36:26,841 INFO L290 TraceCheckUtils]: 79: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:26,841 INFO L290 TraceCheckUtils]: 78: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:26,841 INFO L290 TraceCheckUtils]: 77: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:26,841 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-08 05:36:26,842 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 < 20);havoc #t~post6; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:36:26,842 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-08 05:36:26,983 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-08 05:36:26,984 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-08 05:36:26,985 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-08 05:36:26,985 INFO L290 TraceCheckUtils]: 70: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:26,985 INFO L290 TraceCheckUtils]: 69: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:26,985 INFO L290 TraceCheckUtils]: 68: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:26,985 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-08 05:36:26,986 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-08 05:36:26,986 INFO L290 TraceCheckUtils]: 65: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:26,986 INFO L290 TraceCheckUtils]: 64: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:26,986 INFO L290 TraceCheckUtils]: 63: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:26,986 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-08 05:36:26,987 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-08 05:36:26,987 INFO L290 TraceCheckUtils]: 60: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:26,987 INFO L290 TraceCheckUtils]: 59: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:26,987 INFO L290 TraceCheckUtils]: 58: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:26,987 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-08 05:36:26,987 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 < 20);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-08 05:36:26,988 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-08 05:36:27,458 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-08 05:36:27,459 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-08 05:36:27,460 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-08 05:36:27,460 INFO L290 TraceCheckUtils]: 51: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:27,460 INFO L290 TraceCheckUtils]: 50: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:27,460 INFO L290 TraceCheckUtils]: 49: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:27,460 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-08 05:36:27,461 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-08 05:36:27,461 INFO L290 TraceCheckUtils]: 46: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:27,461 INFO L290 TraceCheckUtils]: 45: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:27,461 INFO L290 TraceCheckUtils]: 44: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:27,461 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-08 05:36:27,461 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-08 05:36:27,462 INFO L290 TraceCheckUtils]: 41: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:27,462 INFO L290 TraceCheckUtils]: 40: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:27,462 INFO L290 TraceCheckUtils]: 39: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:27,462 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-08 05:36:27,462 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 < 20);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-08 05:36:27,463 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-08 05:36:28,744 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-08 05:36:28,745 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-08 05:36:28,746 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-08 05:36:28,746 INFO L290 TraceCheckUtils]: 32: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:28,746 INFO L290 TraceCheckUtils]: 31: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:28,746 INFO L290 TraceCheckUtils]: 30: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:28,746 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-08 05:36:28,747 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-08 05:36:28,747 INFO L290 TraceCheckUtils]: 27: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:28,747 INFO L290 TraceCheckUtils]: 26: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:28,747 INFO L290 TraceCheckUtils]: 25: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:28,747 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-08 05:36:28,747 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-08 05:36:28,748 INFO L290 TraceCheckUtils]: 22: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:28,748 INFO L290 TraceCheckUtils]: 21: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:28,748 INFO L290 TraceCheckUtils]: 20: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:28,748 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-08 05:36:28,748 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 < 20);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-08 05:36:28,749 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-08 05:36:28,749 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-08 05:36:28,749 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27480#true} {27480#true} #66#return; {27480#true} is VALID [2022-04-08 05:36:28,749 INFO L290 TraceCheckUtils]: 14: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:28,749 INFO L290 TraceCheckUtils]: 13: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:28,749 INFO L290 TraceCheckUtils]: 12: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:28,749 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-08 05:36:28,749 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27480#true} {27480#true} #64#return; {27480#true} is VALID [2022-04-08 05:36:28,749 INFO L290 TraceCheckUtils]: 9: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:28,750 INFO L290 TraceCheckUtils]: 8: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-08 05:36:28,750 INFO L290 TraceCheckUtils]: 7: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-08 05:36:28,750 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-08 05:36:28,750 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-08 05:36:28,750 INFO L272 TraceCheckUtils]: 4: Hoare triple {27480#true} call #t~ret7 := main(); {27480#true} is VALID [2022-04-08 05:36:28,750 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27480#true} {27480#true} #82#return; {27480#true} is VALID [2022-04-08 05:36:28,750 INFO L290 TraceCheckUtils]: 2: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-08 05:36:28,750 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-08 05:36:28,750 INFO L272 TraceCheckUtils]: 0: Hoare triple {27480#true} call ULTIMATE.init(); {27480#true} is VALID [2022-04-08 05:36:28,750 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-08 05:36:28,751 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:36:28,751 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [316894736] [2022-04-08 05:36:28,751 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:36:28,751 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1134059672] [2022-04-08 05:36:28,751 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1134059672] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:36:28,751 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:36:28,751 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-08 05:36:28,751 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:36:28,751 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [357587165] [2022-04-08 05:36:28,751 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [357587165] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:36:28,751 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:36:28,751 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:36:28,752 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1462974246] [2022-04-08 05:36:28,752 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:36:28,752 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-08 05:36:28,752 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:36:28,752 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-08 05:36:28,809 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-08 05:36:28,809 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:36:28,809 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:36:28,810 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:36:28,810 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:36:28,810 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-08 05:36:32,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:36:32,419 INFO L93 Difference]: Finished difference Result 291 states and 354 transitions. [2022-04-08 05:36:32,419 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:36:32,420 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-08 05:36:32,420 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:36:32,420 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-08 05:36:32,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-08 05:36:32,421 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-08 05:36:32,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-08 05:36:32,422 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2022-04-08 05:36:32,531 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-08 05:36:32,536 INFO L225 Difference]: With dead ends: 291 [2022-04-08 05:36:32,536 INFO L226 Difference]: Without dead ends: 285 [2022-04-08 05:36:32,536 INFO L912 BasicCegarLoop]: 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-08 05:36:32,537 INFO L913 BasicCegarLoop]: 55 mSDtfsCounter, 10 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 284 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s 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, 1.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:36:32,537 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 241 Invalid, 294 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 284 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-08 05:36:32,537 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 285 states. [2022-04-08 05:36:32,827 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 285 to 269. [2022-04-08 05:36:32,828 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:36:32,828 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-08 05:36:32,828 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-08 05:36:32,829 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-08 05:36:32,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:36:32,834 INFO L93 Difference]: Finished difference Result 285 states and 342 transitions. [2022-04-08 05:36:32,834 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 342 transitions. [2022-04-08 05:36:32,835 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:36:32,835 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:36:32,835 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-08 05:36:32,835 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-08 05:36:32,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:36:32,841 INFO L93 Difference]: Finished difference Result 285 states and 342 transitions. [2022-04-08 05:36:32,841 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 342 transitions. [2022-04-08 05:36:32,842 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:36:32,842 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:36:32,842 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:36:32,842 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:36:32,843 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-08 05:36:32,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 269 states to 269 states and 319 transitions. [2022-04-08 05:36:32,849 INFO L78 Accepts]: Start accepts. Automaton has 269 states and 319 transitions. Word has length 90 [2022-04-08 05:36:32,849 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:36:32,849 INFO L478 AbstractCegarLoop]: Abstraction has 269 states and 319 transitions. [2022-04-08 05:36:32,850 INFO L479 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-08 05:36:32,850 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 269 states and 319 transitions. [2022-04-08 05:36:33,504 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-08 05:36:33,505 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 319 transitions. [2022-04-08 05:36:33,505 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-08 05:36:33,505 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:36:33,505 INFO L499 BasicCegarLoop]: 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-08 05:36:33,522 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-08 05:36:33,706 WARN L460 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-08 05:36:33,706 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:36:33,706 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:36:33,706 INFO L85 PathProgramCache]: Analyzing trace with hash -1753286758, now seen corresponding path program 15 times [2022-04-08 05:36:33,706 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:36:33,707 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [760148211] [2022-04-08 05:36:33,707 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:36:33,707 INFO L85 PathProgramCache]: Analyzing trace with hash -1753286758, now seen corresponding path program 16 times [2022-04-08 05:36:33,707 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:36:33,707 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1197314117] [2022-04-08 05:36:33,707 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:36:33,707 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:36:33,716 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:36:33,717 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [986465771] [2022-04-08 05:36:33,717 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:36:33,717 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:36:33,717 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:36:33,718 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-08 05:36:33,733 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-08 05:36:33,774 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:36:33,775 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:36:33,776 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-08 05:36:33,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:36:33,801 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:36:35,314 INFO L272 TraceCheckUtils]: 0: Hoare triple {29725#true} call ULTIMATE.init(); {29725#true} is VALID [2022-04-08 05:36:35,314 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-08 05:36:35,314 INFO L290 TraceCheckUtils]: 2: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:36:35,315 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29725#true} {29725#true} #82#return; {29725#true} is VALID [2022-04-08 05:36:35,315 INFO L272 TraceCheckUtils]: 4: Hoare triple {29725#true} call #t~ret7 := main(); {29725#true} is VALID [2022-04-08 05:36:35,315 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-08 05:36:35,315 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-08 05:36:35,315 INFO L290 TraceCheckUtils]: 7: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:36:35,315 INFO L290 TraceCheckUtils]: 8: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:36:35,315 INFO L290 TraceCheckUtils]: 9: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:36:35,315 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29725#true} {29725#true} #64#return; {29725#true} is VALID [2022-04-08 05:36:35,315 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-08 05:36:35,315 INFO L290 TraceCheckUtils]: 12: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:36:35,315 INFO L290 TraceCheckUtils]: 13: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:36:35,315 INFO L290 TraceCheckUtils]: 14: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:36:35,316 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29725#true} {29725#true} #66#return; {29725#true} is VALID [2022-04-08 05:36:35,317 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-08 05:36:35,317 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-08 05:36:35,318 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 < 20);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-08 05:36:35,318 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-08 05:36:35,318 INFO L290 TraceCheckUtils]: 20: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:36:35,318 INFO L290 TraceCheckUtils]: 21: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:36:35,318 INFO L290 TraceCheckUtils]: 22: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:36:35,319 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-08 05:36:35,319 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-08 05:36:35,319 INFO L290 TraceCheckUtils]: 25: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:36:35,319 INFO L290 TraceCheckUtils]: 26: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:36:35,319 INFO L290 TraceCheckUtils]: 27: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:36:35,320 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-08 05:36:35,320 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-08 05:36:35,320 INFO L290 TraceCheckUtils]: 30: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:36:35,320 INFO L290 TraceCheckUtils]: 31: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:36:35,320 INFO L290 TraceCheckUtils]: 32: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:36:35,321 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-08 05:36:35,321 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-08 05:36:35,322 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-08 05:36:35,323 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-08 05:36:35,323 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 < 20);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-08 05:36:35,323 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-08 05:36:35,323 INFO L290 TraceCheckUtils]: 39: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:36:35,323 INFO L290 TraceCheckUtils]: 40: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:36:35,323 INFO L290 TraceCheckUtils]: 41: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:36:35,324 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-08 05:36:35,324 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-08 05:36:35,324 INFO L290 TraceCheckUtils]: 44: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:36:35,324 INFO L290 TraceCheckUtils]: 45: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:36:35,325 INFO L290 TraceCheckUtils]: 46: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:36:35,325 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-08 05:36:35,325 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-08 05:36:35,326 INFO L290 TraceCheckUtils]: 49: Hoare triple {29725#true} ~cond := #in~cond; {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:36:35,326 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-08 05:36:35,326 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-08 05:36:35,327 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-08 05:36:35,328 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-08 05:36:35,329 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-08 05:36:35,330 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-08 05:36:35,330 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 < 20);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-08 05:36:35,330 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-08 05:36:35,330 INFO L290 TraceCheckUtils]: 58: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:36:35,330 INFO L290 TraceCheckUtils]: 59: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:36:35,331 INFO L290 TraceCheckUtils]: 60: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:36:35,331 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-08 05:36:35,331 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-08 05:36:35,332 INFO L290 TraceCheckUtils]: 63: Hoare triple {29725#true} ~cond := #in~cond; {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:36:35,332 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-08 05:36:35,332 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-08 05:36:35,334 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-08 05:36:35,334 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-08 05:36:35,334 INFO L290 TraceCheckUtils]: 68: Hoare triple {29725#true} ~cond := #in~cond; {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:36:35,334 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-08 05:36:35,335 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-08 05:36:35,335 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-08 05:36:35,336 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-08 05:36:35,343 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-08 05:36:35,344 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-08 05:36:35,344 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 < 20);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-08 05:36:35,344 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-08 05:36:35,345 INFO L290 TraceCheckUtils]: 77: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:36:35,345 INFO L290 TraceCheckUtils]: 78: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:36:35,345 INFO L290 TraceCheckUtils]: 79: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:36:35,345 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-08 05:36:35,345 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-08 05:36:35,346 INFO L290 TraceCheckUtils]: 82: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:36:35,346 INFO L290 TraceCheckUtils]: 83: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:36:35,346 INFO L290 TraceCheckUtils]: 84: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:36:35,346 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-08 05:36:35,349 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-08 05:36:35,350 INFO L290 TraceCheckUtils]: 87: Hoare triple {29995#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29999#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:36:35,350 INFO L290 TraceCheckUtils]: 88: Hoare triple {29999#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29726#false} is VALID [2022-04-08 05:36:35,350 INFO L290 TraceCheckUtils]: 89: Hoare triple {29726#false} assume !false; {29726#false} is VALID [2022-04-08 05:36:35,351 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-08 05:36:35,351 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:37:04,362 INFO L290 TraceCheckUtils]: 89: Hoare triple {29726#false} assume !false; {29726#false} is VALID [2022-04-08 05:37:04,362 INFO L290 TraceCheckUtils]: 88: Hoare triple {29999#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29726#false} is VALID [2022-04-08 05:37:04,362 INFO L290 TraceCheckUtils]: 87: Hoare triple {29995#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29999#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:37:04,363 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-08 05:37:04,364 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-08 05:37:04,364 INFO L290 TraceCheckUtils]: 84: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:37:04,364 INFO L290 TraceCheckUtils]: 83: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:37:04,364 INFO L290 TraceCheckUtils]: 82: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:37:04,364 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-08 05:37:04,364 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-08 05:37:04,365 INFO L290 TraceCheckUtils]: 79: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:37:04,365 INFO L290 TraceCheckUtils]: 78: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:37:04,365 INFO L290 TraceCheckUtils]: 77: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:37:04,365 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-08 05:37:04,365 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 < 20);havoc #t~post6; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:37:04,365 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-08 05:37:04,533 INFO 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 VALID [2022-04-08 05:37:04,534 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-08 05:37:04,535 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-08 05:37:04,535 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-08 05:37:04,535 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-08 05:37:04,536 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-08 05:37:04,536 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-08 05:37:04,537 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-08 05:37:04,537 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-08 05:37:04,538 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-08 05:37:04,538 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-08 05:37:04,538 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-08 05:37:04,538 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {29725#true} {29725#true} #68#return; {29725#true} is VALID [2022-04-08 05:37:04,538 INFO L290 TraceCheckUtils]: 60: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:37:04,538 INFO L290 TraceCheckUtils]: 59: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:37:04,538 INFO L290 TraceCheckUtils]: 58: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:37:04,538 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-08 05:37:04,538 INFO L290 TraceCheckUtils]: 56: Hoare triple {29725#true} assume !!(#t~post6 < 20);havoc #t~post6; {29725#true} is VALID [2022-04-08 05:37:04,538 INFO L290 TraceCheckUtils]: 55: Hoare triple {29725#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29725#true} is VALID [2022-04-08 05:37:04,538 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-08 05:37:04,538 INFO L290 TraceCheckUtils]: 53: Hoare triple {29725#true} assume !!(~a~0 != ~b~0); {29725#true} is VALID [2022-04-08 05:37:04,539 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {29725#true} {29725#true} #72#return; {29725#true} is VALID [2022-04-08 05:37:04,539 INFO L290 TraceCheckUtils]: 51: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:37:04,539 INFO L290 TraceCheckUtils]: 50: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:37:04,539 INFO L290 TraceCheckUtils]: 49: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:37:04,539 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-08 05:37:04,539 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {29725#true} {29725#true} #70#return; {29725#true} is VALID [2022-04-08 05:37:04,539 INFO L290 TraceCheckUtils]: 46: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:37:04,539 INFO L290 TraceCheckUtils]: 45: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:37:04,539 INFO L290 TraceCheckUtils]: 44: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:37:04,539 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-08 05:37:04,540 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {29725#true} {29725#true} #68#return; {29725#true} is VALID [2022-04-08 05:37:04,540 INFO L290 TraceCheckUtils]: 41: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:37:04,540 INFO L290 TraceCheckUtils]: 40: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:37:04,540 INFO L290 TraceCheckUtils]: 39: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:37:04,540 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-08 05:37:04,540 INFO L290 TraceCheckUtils]: 37: Hoare triple {29725#true} assume !!(#t~post6 < 20);havoc #t~post6; {29725#true} is VALID [2022-04-08 05:37:04,540 INFO L290 TraceCheckUtils]: 36: Hoare triple {29725#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29725#true} is VALID [2022-04-08 05:37:04,540 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-08 05:37:04,540 INFO L290 TraceCheckUtils]: 34: Hoare triple {29725#true} assume !!(~a~0 != ~b~0); {29725#true} is VALID [2022-04-08 05:37:04,540 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {29725#true} {29725#true} #72#return; {29725#true} is VALID [2022-04-08 05:37:04,540 INFO L290 TraceCheckUtils]: 32: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:37:04,540 INFO L290 TraceCheckUtils]: 31: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:37:04,541 INFO L290 TraceCheckUtils]: 30: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:37:04,541 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-08 05:37:04,541 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {29725#true} {29725#true} #70#return; {29725#true} is VALID [2022-04-08 05:37:04,541 INFO L290 TraceCheckUtils]: 27: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:37:04,541 INFO L290 TraceCheckUtils]: 26: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:37:04,541 INFO L290 TraceCheckUtils]: 25: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:37:04,541 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-08 05:37:04,541 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {29725#true} {29725#true} #68#return; {29725#true} is VALID [2022-04-08 05:37:04,541 INFO L290 TraceCheckUtils]: 22: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:37:04,541 INFO L290 TraceCheckUtils]: 21: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:37:04,541 INFO L290 TraceCheckUtils]: 20: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:37:04,541 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-08 05:37:04,542 INFO L290 TraceCheckUtils]: 18: Hoare triple {29725#true} assume !!(#t~post6 < 20);havoc #t~post6; {29725#true} is VALID [2022-04-08 05:37:04,542 INFO L290 TraceCheckUtils]: 17: Hoare triple {29725#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29725#true} is VALID [2022-04-08 05:37:04,542 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-08 05:37:04,542 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29725#true} {29725#true} #66#return; {29725#true} is VALID [2022-04-08 05:37:04,542 INFO L290 TraceCheckUtils]: 14: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:37:04,542 INFO L290 TraceCheckUtils]: 13: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:37:04,542 INFO L290 TraceCheckUtils]: 12: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:37:04,542 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-08 05:37:04,542 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29725#true} {29725#true} #64#return; {29725#true} is VALID [2022-04-08 05:37:04,542 INFO L290 TraceCheckUtils]: 9: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:37:04,542 INFO L290 TraceCheckUtils]: 8: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-08 05:37:04,542 INFO L290 TraceCheckUtils]: 7: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-08 05:37:04,542 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-08 05:37:04,543 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-08 05:37:04,543 INFO L272 TraceCheckUtils]: 4: Hoare triple {29725#true} call #t~ret7 := main(); {29725#true} is VALID [2022-04-08 05:37:04,543 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29725#true} {29725#true} #82#return; {29725#true} is VALID [2022-04-08 05:37:04,543 INFO L290 TraceCheckUtils]: 2: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-08 05:37:04,543 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-08 05:37:04,543 INFO L272 TraceCheckUtils]: 0: Hoare triple {29725#true} call ULTIMATE.init(); {29725#true} is VALID [2022-04-08 05:37:04,543 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-08 05:37:04,544 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:37:04,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1197314117] [2022-04-08 05:37:04,544 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:37:04,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [986465771] [2022-04-08 05:37:04,544 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [986465771] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:37:04,544 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:37:04,544 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-08 05:37:04,544 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:37:04,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [760148211] [2022-04-08 05:37:04,544 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [760148211] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:37:04,544 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:37:04,545 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 05:37:04,545 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2101018614] [2022-04-08 05:37:04,545 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:37:04,545 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-08 05:37:04,545 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:37:04,545 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-08 05:37:04,625 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-08 05:37:04,625 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 05:37:04,625 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:37:04,626 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 05:37:04,626 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-08 05:37:04,626 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-08 05:37:08,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:37:08,205 INFO L93 Difference]: Finished difference Result 310 states and 377 transitions. [2022-04-08 05:37:08,205 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 05:37:08,205 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-08 05:37:08,205 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:37:08,206 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-08 05:37:08,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-08 05:37:08,207 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-08 05:37:08,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-08 05:37:08,208 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-08 05:37:08,319 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-08 05:37:08,325 INFO L225 Difference]: With dead ends: 310 [2022-04-08 05:37:08,325 INFO L226 Difference]: Without dead ends: 304 [2022-04-08 05:37:08,325 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 181 GetRequests, 164 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=53, Invalid=219, Unknown=0, NotChecked=0, Total=272 [2022-04-08 05:37:08,325 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 15 mSDsluCounter, 171 mSDsCounter, 0 mSdLazyCounter, 419 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-08 05:37:08,326 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 219 Invalid, 433 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 419 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-08 05:37:08,326 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 304 states. [2022-04-08 05:37:08,636 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 304 to 284. [2022-04-08 05:37:08,636 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:37:08,637 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-08 05:37:08,637 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-08 05:37:08,638 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-08 05:37:08,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:37:08,644 INFO L93 Difference]: Finished difference Result 304 states and 365 transitions. [2022-04-08 05:37:08,644 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 365 transitions. [2022-04-08 05:37:08,645 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:37:08,645 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:37:08,645 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-08 05:37:08,646 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-08 05:37:08,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:37:08,652 INFO L93 Difference]: Finished difference Result 304 states and 365 transitions. [2022-04-08 05:37:08,652 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 365 transitions. [2022-04-08 05:37:08,653 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:37:08,653 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:37:08,653 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:37:08,653 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:37:08,653 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-08 05:37:08,660 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 284 states to 284 states and 336 transitions. [2022-04-08 05:37:08,661 INFO L78 Accepts]: Start accepts. Automaton has 284 states and 336 transitions. Word has length 90 [2022-04-08 05:37:08,661 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:37:08,661 INFO L478 AbstractCegarLoop]: Abstraction has 284 states and 336 transitions. [2022-04-08 05:37:08,661 INFO L479 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-08 05:37:08,661 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 284 states and 336 transitions. [2022-04-08 05:37:09,499 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-08 05:37:09,499 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 336 transitions. [2022-04-08 05:37:09,500 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-08 05:37:09,500 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:37:09,500 INFO L499 BasicCegarLoop]: 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-08 05:37:09,528 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-08 05:37:09,721 WARN L460 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-08 05:37:09,722 INFO L403 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:37:09,722 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:37:09,722 INFO L85 PathProgramCache]: Analyzing trace with hash 27865438, now seen corresponding path program 17 times [2022-04-08 05:37:09,722 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:37:09,722 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2088526643] [2022-04-08 05:37:09,722 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:37:09,722 INFO L85 PathProgramCache]: Analyzing trace with hash 27865438, now seen corresponding path program 18 times [2022-04-08 05:37:09,723 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:37:09,723 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [167367787] [2022-04-08 05:37:09,723 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:37:09,723 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:37:09,732 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:37:09,732 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1563868466] [2022-04-08 05:37:09,732 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 05:37:09,732 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:37:09,732 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:37:09,733 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-08 05:37:09,734 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-08 05:37:09,839 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 05:37:09,839 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:37:09,840 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-08 05:37:10,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:37:10,039 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:39:16,676 INFO L272 TraceCheckUtils]: 0: Hoare triple {32079#true} call ULTIMATE.init(); {32079#true} is VALID [2022-04-08 05:39:16,677 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-08 05:39:16,677 INFO L290 TraceCheckUtils]: 2: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:16,677 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32079#true} {32079#true} #82#return; {32079#true} is VALID [2022-04-08 05:39:16,677 INFO L272 TraceCheckUtils]: 4: Hoare triple {32079#true} call #t~ret7 := main(); {32079#true} is VALID [2022-04-08 05:39:16,677 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-08 05:39:16,677 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-08 05:39:16,677 INFO L290 TraceCheckUtils]: 7: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:16,677 INFO L290 TraceCheckUtils]: 8: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:16,677 INFO L290 TraceCheckUtils]: 9: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:16,677 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32079#true} {32079#true} #64#return; {32079#true} is VALID [2022-04-08 05:39:16,677 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-08 05:39:16,677 INFO L290 TraceCheckUtils]: 12: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:16,677 INFO L290 TraceCheckUtils]: 13: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:16,677 INFO L290 TraceCheckUtils]: 14: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:16,677 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {32079#true} {32079#true} #66#return; {32079#true} is VALID [2022-04-08 05:39:16,678 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-08 05:39:16,678 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-08 05:39:16,679 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 < 20);havoc #t~post6; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:39:16,679 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-08 05:39:16,679 INFO L290 TraceCheckUtils]: 20: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:16,679 INFO L290 TraceCheckUtils]: 21: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:16,679 INFO L290 TraceCheckUtils]: 22: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:16,679 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-08 05:39:16,679 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-08 05:39:16,679 INFO L290 TraceCheckUtils]: 25: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:16,680 INFO L290 TraceCheckUtils]: 26: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:16,680 INFO L290 TraceCheckUtils]: 27: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:16,680 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-08 05:39:16,680 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-08 05:39:16,680 INFO L290 TraceCheckUtils]: 30: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:16,680 INFO L290 TraceCheckUtils]: 31: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:16,680 INFO L290 TraceCheckUtils]: 32: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:16,681 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-08 05:39:16,681 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-08 05:39:16,682 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-08 05:39:16,682 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-08 05:39:16,682 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 < 20);havoc #t~post6; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:39:16,682 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-08 05:39:16,682 INFO L290 TraceCheckUtils]: 39: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:16,683 INFO L290 TraceCheckUtils]: 40: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:16,683 INFO L290 TraceCheckUtils]: 41: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:16,683 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-08 05:39:16,683 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-08 05:39:16,684 INFO L290 TraceCheckUtils]: 44: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:16,684 INFO L290 TraceCheckUtils]: 45: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:16,684 INFO L290 TraceCheckUtils]: 46: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:16,684 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-08 05:39:16,685 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-08 05:39:16,685 INFO L290 TraceCheckUtils]: 49: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:16,685 INFO L290 TraceCheckUtils]: 50: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:16,685 INFO L290 TraceCheckUtils]: 51: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:16,686 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-08 05:39:16,686 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-08 05:39:16,687 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-08 05:39:16,687 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-08 05:39:16,688 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 < 20);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-08 05:39:16,688 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-08 05:39:16,688 INFO L290 TraceCheckUtils]: 58: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:16,688 INFO L290 TraceCheckUtils]: 59: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:16,688 INFO L290 TraceCheckUtils]: 60: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:16,689 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-08 05:39:16,689 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-08 05:39:16,689 INFO L290 TraceCheckUtils]: 63: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:16,689 INFO L290 TraceCheckUtils]: 64: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:16,689 INFO L290 TraceCheckUtils]: 65: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:16,690 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-08 05:39:16,690 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-08 05:39:16,691 INFO L290 TraceCheckUtils]: 68: Hoare triple {32079#true} ~cond := #in~cond; {32290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:39:16,691 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-08 05:39:16,692 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-08 05:39:16,693 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-08 05:39:16,693 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-08 05:39:16,707 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-08 05:39:16,708 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-08 05:39:16,709 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 < 20);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-08 05:39:16,709 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-08 05:39:16,709 INFO L290 TraceCheckUtils]: 77: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:16,709 INFO L290 TraceCheckUtils]: 78: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:16,709 INFO L290 TraceCheckUtils]: 79: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:16,710 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-08 05:39:16,710 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-08 05:39:16,710 INFO L290 TraceCheckUtils]: 82: Hoare triple {32079#true} ~cond := #in~cond; {32290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:39:16,710 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-08 05:39:16,711 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-08 05:39:17,652 INFO 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 VALID [2022-04-08 05:39:17,653 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-08 05:39:17,653 INFO L290 TraceCheckUtils]: 87: Hoare triple {32349#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {32353#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:39:17,654 INFO L290 TraceCheckUtils]: 88: Hoare triple {32353#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {32080#false} is VALID [2022-04-08 05:39:17,654 INFO L290 TraceCheckUtils]: 89: Hoare triple {32080#false} assume !false; {32080#false} is VALID [2022-04-08 05:39:17,654 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-08 05:39:17,654 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:39:46,600 INFO L290 TraceCheckUtils]: 89: Hoare triple {32080#false} assume !false; {32080#false} is VALID [2022-04-08 05:39:46,601 INFO L290 TraceCheckUtils]: 88: Hoare triple {32353#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {32080#false} is VALID [2022-04-08 05:39:46,601 INFO L290 TraceCheckUtils]: 87: Hoare triple {32349#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {32353#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:39:46,601 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-08 05:39:46,602 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-08 05:39:46,602 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-08 05:39:46,603 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-08 05:39:46,603 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-08 05:39:46,603 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-08 05:39:46,604 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-08 05:39:46,604 INFO L290 TraceCheckUtils]: 79: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:46,604 INFO L290 TraceCheckUtils]: 78: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:46,604 INFO L290 TraceCheckUtils]: 77: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:46,604 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-08 05:39:46,604 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 < 20);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-08 05:39:46,605 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-08 05:39:46,786 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-08 05:39:46,787 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-08 05:39:46,787 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-08 05:39:46,788 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-08 05:39:46,788 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-08 05:39:46,788 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-08 05:39:46,788 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-08 05:39:46,788 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {32079#true} {32079#true} #70#return; {32079#true} is VALID [2022-04-08 05:39:46,789 INFO L290 TraceCheckUtils]: 65: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:46,789 INFO L290 TraceCheckUtils]: 64: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:46,789 INFO L290 TraceCheckUtils]: 63: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:46,789 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-08 05:39:46,789 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {32079#true} {32079#true} #68#return; {32079#true} is VALID [2022-04-08 05:39:46,789 INFO L290 TraceCheckUtils]: 60: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:46,789 INFO L290 TraceCheckUtils]: 59: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:46,789 INFO L290 TraceCheckUtils]: 58: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:46,789 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-08 05:39:46,789 INFO L290 TraceCheckUtils]: 56: Hoare triple {32079#true} assume !!(#t~post6 < 20);havoc #t~post6; {32079#true} is VALID [2022-04-08 05:39:46,789 INFO L290 TraceCheckUtils]: 55: Hoare triple {32079#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32079#true} is VALID [2022-04-08 05:39:46,789 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-08 05:39:46,789 INFO L290 TraceCheckUtils]: 53: Hoare triple {32079#true} assume !!(~a~0 != ~b~0); {32079#true} is VALID [2022-04-08 05:39:46,789 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {32079#true} {32079#true} #72#return; {32079#true} is VALID [2022-04-08 05:39:46,789 INFO L290 TraceCheckUtils]: 51: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:46,789 INFO L290 TraceCheckUtils]: 50: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:46,789 INFO L290 TraceCheckUtils]: 49: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:46,789 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-08 05:39:46,789 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {32079#true} {32079#true} #70#return; {32079#true} is VALID [2022-04-08 05:39:46,790 INFO L290 TraceCheckUtils]: 46: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:46,790 INFO L290 TraceCheckUtils]: 45: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:46,790 INFO L290 TraceCheckUtils]: 44: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:46,790 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-08 05:39:46,790 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {32079#true} {32079#true} #68#return; {32079#true} is VALID [2022-04-08 05:39:46,790 INFO L290 TraceCheckUtils]: 41: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:46,790 INFO L290 TraceCheckUtils]: 40: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:46,790 INFO L290 TraceCheckUtils]: 39: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:46,790 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-08 05:39:46,790 INFO L290 TraceCheckUtils]: 37: Hoare triple {32079#true} assume !!(#t~post6 < 20);havoc #t~post6; {32079#true} is VALID [2022-04-08 05:39:46,790 INFO L290 TraceCheckUtils]: 36: Hoare triple {32079#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32079#true} is VALID [2022-04-08 05:39:46,790 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-08 05:39:46,790 INFO L290 TraceCheckUtils]: 34: Hoare triple {32079#true} assume !!(~a~0 != ~b~0); {32079#true} is VALID [2022-04-08 05:39:46,790 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {32079#true} {32079#true} #72#return; {32079#true} is VALID [2022-04-08 05:39:46,791 INFO L290 TraceCheckUtils]: 32: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:46,791 INFO L290 TraceCheckUtils]: 31: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:46,791 INFO L290 TraceCheckUtils]: 30: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:46,791 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-08 05:39:46,791 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {32079#true} {32079#true} #70#return; {32079#true} is VALID [2022-04-08 05:39:46,791 INFO L290 TraceCheckUtils]: 27: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:46,791 INFO L290 TraceCheckUtils]: 26: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:46,791 INFO L290 TraceCheckUtils]: 25: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:46,791 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-08 05:39:46,791 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {32079#true} {32079#true} #68#return; {32079#true} is VALID [2022-04-08 05:39:46,791 INFO L290 TraceCheckUtils]: 22: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:46,791 INFO L290 TraceCheckUtils]: 21: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:46,791 INFO L290 TraceCheckUtils]: 20: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:46,792 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-08 05:39:46,792 INFO L290 TraceCheckUtils]: 18: Hoare triple {32079#true} assume !!(#t~post6 < 20);havoc #t~post6; {32079#true} is VALID [2022-04-08 05:39:46,792 INFO L290 TraceCheckUtils]: 17: Hoare triple {32079#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32079#true} is VALID [2022-04-08 05:39:46,792 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-08 05:39:46,792 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {32079#true} {32079#true} #66#return; {32079#true} is VALID [2022-04-08 05:39:46,792 INFO L290 TraceCheckUtils]: 14: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:46,792 INFO L290 TraceCheckUtils]: 13: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:46,792 INFO L290 TraceCheckUtils]: 12: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:46,792 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-08 05:39:46,792 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32079#true} {32079#true} #64#return; {32079#true} is VALID [2022-04-08 05:39:46,792 INFO L290 TraceCheckUtils]: 9: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:46,792 INFO L290 TraceCheckUtils]: 8: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-08 05:39:46,792 INFO L290 TraceCheckUtils]: 7: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-08 05:39:46,792 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-08 05:39:46,792 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-08 05:39:46,792 INFO L272 TraceCheckUtils]: 4: Hoare triple {32079#true} call #t~ret7 := main(); {32079#true} is VALID [2022-04-08 05:39:46,792 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32079#true} {32079#true} #82#return; {32079#true} is VALID [2022-04-08 05:39:46,792 INFO L290 TraceCheckUtils]: 2: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-08 05:39:46,793 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-08 05:39:46,793 INFO L272 TraceCheckUtils]: 0: Hoare triple {32079#true} call ULTIMATE.init(); {32079#true} is VALID [2022-04-08 05:39:46,793 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-08 05:39:46,793 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:39:46,793 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [167367787] [2022-04-08 05:39:46,793 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:39:46,793 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1563868466] [2022-04-08 05:39:46,793 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1563868466] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:39:46,793 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:39:46,793 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 14 [2022-04-08 05:39:46,794 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:39:46,794 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2088526643] [2022-04-08 05:39:46,794 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2088526643] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:39:46,794 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:39:46,794 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 05:39:46,794 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1342285798] [2022-04-08 05:39:46,794 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:39:46,794 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-08 05:39:46,794 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:39:46,794 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-08 05:39:48,864 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-08 05:39:48,865 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 05:39:48,865 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:39:48,865 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 05:39:48,865 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=143, Unknown=1, NotChecked=0, Total=182 [2022-04-08 05:39:48,865 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-08 05:39:53,221 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.27s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 05:39:55,514 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 05:39:57,550 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 05:39:59,574 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 05:40:15,901 WARN L232 SmtUtils]: Spent 13.31s 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-08 05:40:22,687 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 05:40:25,435 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 05:40:28,870 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 05:40:33,397 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 05:40:33,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:40:33,981 INFO L93 Difference]: Finished difference Result 351 states and 439 transitions. [2022-04-08 05:40:33,981 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 05:40:33,981 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-08 05:40:33,981 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:40:33,981 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-08 05:40:33,982 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-08 05:40:33,983 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-08 05:40:33,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-08 05:40:33,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 131 transitions. [2022-04-08 05:40:36,584 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 130 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 05:40:36,593 INFO L225 Difference]: With dead ends: 351 [2022-04-08 05:40:36,593 INFO L226 Difference]: Without dead ends: 330 [2022-04-08 05:40:36,594 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 182 GetRequests, 165 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 17.7s TimeCoverageRelationStatistics Valid=57, Invalid=214, Unknown=1, NotChecked=0, Total=272 [2022-04-08 05:40:36,594 INFO L913 BasicCegarLoop]: 54 mSDtfsCounter, 25 mSDsluCounter, 207 mSDsCounter, 0 mSdLazyCounter, 572 mSolverCounterSat, 29 mSolverCounterUnsat, 7 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 20.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 261 SdHoareTripleChecker+Invalid, 608 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 572 IncrementalHoareTripleChecker+Invalid, 7 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 20.7s IncrementalHoareTripleChecker+Time [2022-04-08 05:40:36,595 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [40 Valid, 261 Invalid, 608 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 572 Invalid, 7 Unknown, 0 Unchecked, 20.7s Time] [2022-04-08 05:40:36,595 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 330 states. [2022-04-08 05:40:36,968 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 330 to 321. [2022-04-08 05:40:36,969 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:40:36,971 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-08 05:40:36,971 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-08 05:40:36,972 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-08 05:40:36,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:40:36,979 INFO L93 Difference]: Finished difference Result 330 states and 403 transitions. [2022-04-08 05:40:36,979 INFO L276 IsEmpty]: Start isEmpty. Operand 330 states and 403 transitions. [2022-04-08 05:40:36,980 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:40:36,981 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:40:36,981 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-08 05:40:36,981 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-08 05:40:36,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:40:36,989 INFO L93 Difference]: Finished difference Result 330 states and 403 transitions. [2022-04-08 05:40:36,989 INFO L276 IsEmpty]: Start isEmpty. Operand 330 states and 403 transitions. [2022-04-08 05:40:36,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:40:36,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:40:36,990 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:40:36,990 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:40:36,990 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-08 05:40:36,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 321 states to 321 states and 389 transitions. [2022-04-08 05:40:36,999 INFO L78 Accepts]: Start accepts. Automaton has 321 states and 389 transitions. Word has length 90 [2022-04-08 05:40:36,999 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:40:36,999 INFO L478 AbstractCegarLoop]: Abstraction has 321 states and 389 transitions. [2022-04-08 05:40:36,999 INFO L479 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-08 05:40:36,999 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 321 states and 389 transitions. [2022-04-08 05:40:40,309 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-08 05:40:40,310 INFO L276 IsEmpty]: Start isEmpty. Operand 321 states and 389 transitions. [2022-04-08 05:40:40,311 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-08 05:40:40,311 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:40:40,312 INFO L499 BasicCegarLoop]: 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-08 05:40:40,337 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-08 05:40:40,534 WARN L460 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-08 05:40:40,535 INFO L403 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:40:40,535 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:40:40,535 INFO L85 PathProgramCache]: Analyzing trace with hash -1449122399, now seen corresponding path program 7 times [2022-04-08 05:40:40,535 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:40:40,535 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [471977370] [2022-04-08 05:40:40,536 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:40:40,536 INFO L85 PathProgramCache]: Analyzing trace with hash -1449122399, now seen corresponding path program 8 times [2022-04-08 05:40:40,536 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:40:40,536 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [60154180] [2022-04-08 05:40:40,536 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:40:40,536 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:40:40,546 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:40:40,546 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1359798960] [2022-04-08 05:40:40,546 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:40:40,546 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:40:40,546 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:40:40,547 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-08 05:40:40,548 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-08 05:40:40,612 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:40:40,613 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:40:40,614 INFO L263 TraceCheckSpWp]: Trace formula consists of 259 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 05:40:40,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:40:40,633 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:40:41,019 INFO L272 TraceCheckUtils]: 0: Hoare triple {34642#true} call ULTIMATE.init(); {34642#true} is VALID [2022-04-08 05:40:41,020 INFO L290 TraceCheckUtils]: 1: Hoare triple {34642#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; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:40:41,020 INFO L290 TraceCheckUtils]: 2: Hoare triple {34650#(<= ~counter~0 0)} assume true; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:40:41,020 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34650#(<= ~counter~0 0)} {34642#true} #82#return; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:40:41,021 INFO L272 TraceCheckUtils]: 4: Hoare triple {34650#(<= ~counter~0 0)} call #t~ret7 := main(); {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:40:41,021 INFO L290 TraceCheckUtils]: 5: Hoare triple {34650#(<= ~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; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:40:41,021 INFO L272 TraceCheckUtils]: 6: Hoare triple {34650#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:40:41,021 INFO L290 TraceCheckUtils]: 7: Hoare triple {34650#(<= ~counter~0 0)} ~cond := #in~cond; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:40:41,022 INFO L290 TraceCheckUtils]: 8: Hoare triple {34650#(<= ~counter~0 0)} assume !(0 == ~cond); {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:40:41,022 INFO L290 TraceCheckUtils]: 9: Hoare triple {34650#(<= ~counter~0 0)} assume true; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:40:41,022 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34650#(<= ~counter~0 0)} {34650#(<= ~counter~0 0)} #64#return; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:40:41,023 INFO L272 TraceCheckUtils]: 11: Hoare triple {34650#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:40:41,023 INFO L290 TraceCheckUtils]: 12: Hoare triple {34650#(<= ~counter~0 0)} ~cond := #in~cond; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:40:41,023 INFO L290 TraceCheckUtils]: 13: Hoare triple {34650#(<= ~counter~0 0)} assume !(0 == ~cond); {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:40:41,024 INFO L290 TraceCheckUtils]: 14: Hoare triple {34650#(<= ~counter~0 0)} assume true; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:40:41,024 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {34650#(<= ~counter~0 0)} {34650#(<= ~counter~0 0)} #66#return; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:40:41,024 INFO L290 TraceCheckUtils]: 16: Hoare triple {34650#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {34650#(<= ~counter~0 0)} is VALID [2022-04-08 05:40:41,025 INFO L290 TraceCheckUtils]: 17: Hoare triple {34650#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:40:41,025 INFO L290 TraceCheckUtils]: 18: Hoare triple {34699#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:40:41,026 INFO L272 TraceCheckUtils]: 19: Hoare triple {34699#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:40:41,027 INFO L290 TraceCheckUtils]: 20: Hoare triple {34699#(<= ~counter~0 1)} ~cond := #in~cond; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:40:41,027 INFO L290 TraceCheckUtils]: 21: Hoare triple {34699#(<= ~counter~0 1)} assume !(0 == ~cond); {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:40:41,028 INFO L290 TraceCheckUtils]: 22: Hoare triple {34699#(<= ~counter~0 1)} assume true; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:40:41,028 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {34699#(<= ~counter~0 1)} {34699#(<= ~counter~0 1)} #68#return; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:40:41,029 INFO L272 TraceCheckUtils]: 24: Hoare triple {34699#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:40:41,029 INFO L290 TraceCheckUtils]: 25: Hoare triple {34699#(<= ~counter~0 1)} ~cond := #in~cond; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:40:41,029 INFO L290 TraceCheckUtils]: 26: Hoare triple {34699#(<= ~counter~0 1)} assume !(0 == ~cond); {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:40:41,029 INFO L290 TraceCheckUtils]: 27: Hoare triple {34699#(<= ~counter~0 1)} assume true; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:40:41,030 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {34699#(<= ~counter~0 1)} {34699#(<= ~counter~0 1)} #70#return; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:40:41,030 INFO L272 TraceCheckUtils]: 29: Hoare triple {34699#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:40:41,031 INFO L290 TraceCheckUtils]: 30: Hoare triple {34699#(<= ~counter~0 1)} ~cond := #in~cond; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:40:41,031 INFO L290 TraceCheckUtils]: 31: Hoare triple {34699#(<= ~counter~0 1)} assume !(0 == ~cond); {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:40:41,031 INFO L290 TraceCheckUtils]: 32: Hoare triple {34699#(<= ~counter~0 1)} assume true; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:40:41,032 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {34699#(<= ~counter~0 1)} {34699#(<= ~counter~0 1)} #72#return; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:40:41,032 INFO L290 TraceCheckUtils]: 34: Hoare triple {34699#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:40:41,032 INFO L290 TraceCheckUtils]: 35: Hoare triple {34699#(<= ~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; {34699#(<= ~counter~0 1)} is VALID [2022-04-08 05:40:41,033 INFO L290 TraceCheckUtils]: 36: Hoare triple {34699#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:40:41,033 INFO L290 TraceCheckUtils]: 37: Hoare triple {34757#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:40:41,033 INFO L272 TraceCheckUtils]: 38: Hoare triple {34757#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:40:41,034 INFO L290 TraceCheckUtils]: 39: Hoare triple {34757#(<= ~counter~0 2)} ~cond := #in~cond; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:40:41,034 INFO L290 TraceCheckUtils]: 40: Hoare triple {34757#(<= ~counter~0 2)} assume !(0 == ~cond); {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:40:41,034 INFO L290 TraceCheckUtils]: 41: Hoare triple {34757#(<= ~counter~0 2)} assume true; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:40:41,035 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {34757#(<= ~counter~0 2)} {34757#(<= ~counter~0 2)} #68#return; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:40:41,035 INFO L272 TraceCheckUtils]: 43: Hoare triple {34757#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:40:41,035 INFO L290 TraceCheckUtils]: 44: Hoare triple {34757#(<= ~counter~0 2)} ~cond := #in~cond; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:40:41,036 INFO L290 TraceCheckUtils]: 45: Hoare triple {34757#(<= ~counter~0 2)} assume !(0 == ~cond); {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:40:41,036 INFO L290 TraceCheckUtils]: 46: Hoare triple {34757#(<= ~counter~0 2)} assume true; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:40:41,037 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {34757#(<= ~counter~0 2)} {34757#(<= ~counter~0 2)} #70#return; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:40:41,037 INFO L272 TraceCheckUtils]: 48: Hoare triple {34757#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:40:41,037 INFO L290 TraceCheckUtils]: 49: Hoare triple {34757#(<= ~counter~0 2)} ~cond := #in~cond; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:40:41,038 INFO L290 TraceCheckUtils]: 50: Hoare triple {34757#(<= ~counter~0 2)} assume !(0 == ~cond); {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:40:41,038 INFO L290 TraceCheckUtils]: 51: Hoare triple {34757#(<= ~counter~0 2)} assume true; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:40:41,038 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {34757#(<= ~counter~0 2)} {34757#(<= ~counter~0 2)} #72#return; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:40:41,039 INFO L290 TraceCheckUtils]: 53: Hoare triple {34757#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:40:41,039 INFO L290 TraceCheckUtils]: 54: Hoare triple {34757#(<= ~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; {34757#(<= ~counter~0 2)} is VALID [2022-04-08 05:40:41,039 INFO L290 TraceCheckUtils]: 55: Hoare triple {34757#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:40:41,040 INFO L290 TraceCheckUtils]: 56: Hoare triple {34815#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:40:41,040 INFO L272 TraceCheckUtils]: 57: Hoare triple {34815#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:40:41,040 INFO L290 TraceCheckUtils]: 58: Hoare triple {34815#(<= ~counter~0 3)} ~cond := #in~cond; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:40:41,041 INFO L290 TraceCheckUtils]: 59: Hoare triple {34815#(<= ~counter~0 3)} assume !(0 == ~cond); {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:40:41,041 INFO L290 TraceCheckUtils]: 60: Hoare triple {34815#(<= ~counter~0 3)} assume true; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:40:41,041 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {34815#(<= ~counter~0 3)} {34815#(<= ~counter~0 3)} #68#return; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:40:41,042 INFO L272 TraceCheckUtils]: 62: Hoare triple {34815#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:40:41,042 INFO L290 TraceCheckUtils]: 63: Hoare triple {34815#(<= ~counter~0 3)} ~cond := #in~cond; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:40:41,042 INFO L290 TraceCheckUtils]: 64: Hoare triple {34815#(<= ~counter~0 3)} assume !(0 == ~cond); {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:40:41,043 INFO L290 TraceCheckUtils]: 65: Hoare triple {34815#(<= ~counter~0 3)} assume true; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:40:41,043 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {34815#(<= ~counter~0 3)} {34815#(<= ~counter~0 3)} #70#return; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:40:41,044 INFO L272 TraceCheckUtils]: 67: Hoare triple {34815#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:40:41,044 INFO L290 TraceCheckUtils]: 68: Hoare triple {34815#(<= ~counter~0 3)} ~cond := #in~cond; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:40:41,044 INFO L290 TraceCheckUtils]: 69: Hoare triple {34815#(<= ~counter~0 3)} assume !(0 == ~cond); {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:40:41,045 INFO L290 TraceCheckUtils]: 70: Hoare triple {34815#(<= ~counter~0 3)} assume true; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:40:41,045 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {34815#(<= ~counter~0 3)} {34815#(<= ~counter~0 3)} #72#return; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:40:41,045 INFO L290 TraceCheckUtils]: 72: Hoare triple {34815#(<= ~counter~0 3)} assume !!(~a~0 != ~b~0); {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:40:41,046 INFO L290 TraceCheckUtils]: 73: Hoare triple {34815#(<= ~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; {34815#(<= ~counter~0 3)} is VALID [2022-04-08 05:40:41,046 INFO L290 TraceCheckUtils]: 74: Hoare triple {34815#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:40:41,046 INFO L290 TraceCheckUtils]: 75: Hoare triple {34873#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:40:41,047 INFO L272 TraceCheckUtils]: 76: Hoare triple {34873#(<= ~counter~0 4)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:40:41,047 INFO L290 TraceCheckUtils]: 77: Hoare triple {34873#(<= ~counter~0 4)} ~cond := #in~cond; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:40:41,047 INFO L290 TraceCheckUtils]: 78: Hoare triple {34873#(<= ~counter~0 4)} assume !(0 == ~cond); {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:40:41,048 INFO L290 TraceCheckUtils]: 79: Hoare triple {34873#(<= ~counter~0 4)} assume true; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:40:41,048 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {34873#(<= ~counter~0 4)} {34873#(<= ~counter~0 4)} #68#return; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:40:41,049 INFO L272 TraceCheckUtils]: 81: Hoare triple {34873#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:40:41,049 INFO L290 TraceCheckUtils]: 82: Hoare triple {34873#(<= ~counter~0 4)} ~cond := #in~cond; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:40:41,049 INFO L290 TraceCheckUtils]: 83: Hoare triple {34873#(<= ~counter~0 4)} assume !(0 == ~cond); {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:40:41,049 INFO L290 TraceCheckUtils]: 84: Hoare triple {34873#(<= ~counter~0 4)} assume true; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:40:41,050 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {34873#(<= ~counter~0 4)} {34873#(<= ~counter~0 4)} #70#return; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:40:41,050 INFO L272 TraceCheckUtils]: 86: Hoare triple {34873#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:40:41,051 INFO L290 TraceCheckUtils]: 87: Hoare triple {34873#(<= ~counter~0 4)} ~cond := #in~cond; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:40:41,051 INFO L290 TraceCheckUtils]: 88: Hoare triple {34873#(<= ~counter~0 4)} assume !(0 == ~cond); {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:40:41,051 INFO L290 TraceCheckUtils]: 89: Hoare triple {34873#(<= ~counter~0 4)} assume true; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:40:41,052 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {34873#(<= ~counter~0 4)} {34873#(<= ~counter~0 4)} #72#return; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:40:41,052 INFO L290 TraceCheckUtils]: 91: Hoare triple {34873#(<= ~counter~0 4)} assume !!(~a~0 != ~b~0); {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:40:41,052 INFO L290 TraceCheckUtils]: 92: Hoare triple {34873#(<= ~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; {34873#(<= ~counter~0 4)} is VALID [2022-04-08 05:40:41,052 INFO L290 TraceCheckUtils]: 93: Hoare triple {34873#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34931#(<= |main_#t~post6| 4)} is VALID [2022-04-08 05:40:41,053 INFO L290 TraceCheckUtils]: 94: Hoare triple {34931#(<= |main_#t~post6| 4)} assume !(#t~post6 < 20);havoc #t~post6; {34643#false} is VALID [2022-04-08 05:40:41,053 INFO L272 TraceCheckUtils]: 95: Hoare triple {34643#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {34643#false} is VALID [2022-04-08 05:40:41,053 INFO L290 TraceCheckUtils]: 96: Hoare triple {34643#false} ~cond := #in~cond; {34643#false} is VALID [2022-04-08 05:40:41,053 INFO L290 TraceCheckUtils]: 97: Hoare triple {34643#false} assume 0 == ~cond; {34643#false} is VALID [2022-04-08 05:40:41,053 INFO L290 TraceCheckUtils]: 98: Hoare triple {34643#false} assume !false; {34643#false} is VALID [2022-04-08 05:40:41,053 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-08 05:40:41,053 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:40:41,433 INFO L290 TraceCheckUtils]: 98: Hoare triple {34643#false} assume !false; {34643#false} is VALID [2022-04-08 05:40:41,433 INFO L290 TraceCheckUtils]: 97: Hoare triple {34643#false} assume 0 == ~cond; {34643#false} is VALID [2022-04-08 05:40:41,433 INFO L290 TraceCheckUtils]: 96: Hoare triple {34643#false} ~cond := #in~cond; {34643#false} is VALID [2022-04-08 05:40:41,433 INFO L272 TraceCheckUtils]: 95: Hoare triple {34643#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {34643#false} is VALID [2022-04-08 05:40:41,434 INFO L290 TraceCheckUtils]: 94: Hoare triple {34959#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {34643#false} is VALID [2022-04-08 05:40:41,434 INFO L290 TraceCheckUtils]: 93: Hoare triple {34963#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34959#(< |main_#t~post6| 20)} is VALID [2022-04-08 05:40:41,434 INFO L290 TraceCheckUtils]: 92: Hoare triple {34963#(< ~counter~0 20)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {34963#(< ~counter~0 20)} is VALID [2022-04-08 05:40:41,434 INFO L290 TraceCheckUtils]: 91: Hoare triple {34963#(< ~counter~0 20)} assume !!(~a~0 != ~b~0); {34963#(< ~counter~0 20)} is VALID [2022-04-08 05:40:41,435 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {34642#true} {34963#(< ~counter~0 20)} #72#return; {34963#(< ~counter~0 20)} is VALID [2022-04-08 05:40:41,435 INFO L290 TraceCheckUtils]: 89: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:40:41,435 INFO L290 TraceCheckUtils]: 88: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:40:41,435 INFO L290 TraceCheckUtils]: 87: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:40:41,435 INFO L272 TraceCheckUtils]: 86: Hoare triple {34963#(< ~counter~0 20)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:40:41,436 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {34642#true} {34963#(< ~counter~0 20)} #70#return; {34963#(< ~counter~0 20)} is VALID [2022-04-08 05:40:41,436 INFO L290 TraceCheckUtils]: 84: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:40:41,436 INFO L290 TraceCheckUtils]: 83: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:40:41,436 INFO L290 TraceCheckUtils]: 82: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:40:41,436 INFO L272 TraceCheckUtils]: 81: Hoare triple {34963#(< ~counter~0 20)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:40:41,436 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {34642#true} {34963#(< ~counter~0 20)} #68#return; {34963#(< ~counter~0 20)} is VALID [2022-04-08 05:40:41,437 INFO L290 TraceCheckUtils]: 79: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:40:41,437 INFO L290 TraceCheckUtils]: 78: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:40:41,437 INFO L290 TraceCheckUtils]: 77: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:40:41,437 INFO L272 TraceCheckUtils]: 76: Hoare triple {34963#(< ~counter~0 20)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:40:41,437 INFO L290 TraceCheckUtils]: 75: Hoare triple {34963#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {34963#(< ~counter~0 20)} is VALID [2022-04-08 05:40:41,438 INFO L290 TraceCheckUtils]: 74: Hoare triple {35021#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34963#(< ~counter~0 20)} is VALID [2022-04-08 05:40:41,438 INFO L290 TraceCheckUtils]: 73: Hoare triple {35021#(< ~counter~0 19)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {35021#(< ~counter~0 19)} is VALID [2022-04-08 05:40:41,439 INFO L290 TraceCheckUtils]: 72: Hoare triple {35021#(< ~counter~0 19)} assume !!(~a~0 != ~b~0); {35021#(< ~counter~0 19)} is VALID [2022-04-08 05:40:41,439 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {34642#true} {35021#(< ~counter~0 19)} #72#return; {35021#(< ~counter~0 19)} is VALID [2022-04-08 05:40:41,439 INFO L290 TraceCheckUtils]: 70: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:40:41,439 INFO L290 TraceCheckUtils]: 69: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:40:41,439 INFO L290 TraceCheckUtils]: 68: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:40:41,439 INFO L272 TraceCheckUtils]: 67: Hoare triple {35021#(< ~counter~0 19)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:40:41,440 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {34642#true} {35021#(< ~counter~0 19)} #70#return; {35021#(< ~counter~0 19)} is VALID [2022-04-08 05:40:41,440 INFO L290 TraceCheckUtils]: 65: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:40:41,440 INFO L290 TraceCheckUtils]: 64: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:40:41,440 INFO L290 TraceCheckUtils]: 63: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:40:41,440 INFO L272 TraceCheckUtils]: 62: Hoare triple {35021#(< ~counter~0 19)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:40:41,443 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {34642#true} {35021#(< ~counter~0 19)} #68#return; {35021#(< ~counter~0 19)} is VALID [2022-04-08 05:40:41,443 INFO L290 TraceCheckUtils]: 60: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:40:41,443 INFO L290 TraceCheckUtils]: 59: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:40:41,443 INFO L290 TraceCheckUtils]: 58: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:40:41,444 INFO L272 TraceCheckUtils]: 57: Hoare triple {35021#(< ~counter~0 19)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:40:41,444 INFO L290 TraceCheckUtils]: 56: Hoare triple {35021#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {35021#(< ~counter~0 19)} is VALID [2022-04-08 05:40:41,444 INFO L290 TraceCheckUtils]: 55: Hoare triple {35079#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35021#(< ~counter~0 19)} is VALID [2022-04-08 05:40:41,445 INFO L290 TraceCheckUtils]: 54: Hoare triple {35079#(< ~counter~0 18)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {35079#(< ~counter~0 18)} is VALID [2022-04-08 05:40:41,445 INFO L290 TraceCheckUtils]: 53: Hoare triple {35079#(< ~counter~0 18)} assume !!(~a~0 != ~b~0); {35079#(< ~counter~0 18)} is VALID [2022-04-08 05:40:41,445 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {34642#true} {35079#(< ~counter~0 18)} #72#return; {35079#(< ~counter~0 18)} is VALID [2022-04-08 05:40:41,446 INFO L290 TraceCheckUtils]: 51: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:40:41,446 INFO L290 TraceCheckUtils]: 50: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:40:41,446 INFO L290 TraceCheckUtils]: 49: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:40:41,446 INFO L272 TraceCheckUtils]: 48: Hoare triple {35079#(< ~counter~0 18)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:40:41,446 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {34642#true} {35079#(< ~counter~0 18)} #70#return; {35079#(< ~counter~0 18)} is VALID [2022-04-08 05:40:41,446 INFO L290 TraceCheckUtils]: 46: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:40:41,446 INFO L290 TraceCheckUtils]: 45: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:40:41,446 INFO L290 TraceCheckUtils]: 44: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:40:41,446 INFO L272 TraceCheckUtils]: 43: Hoare triple {35079#(< ~counter~0 18)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:40:41,447 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {34642#true} {35079#(< ~counter~0 18)} #68#return; {35079#(< ~counter~0 18)} is VALID [2022-04-08 05:40:41,447 INFO L290 TraceCheckUtils]: 41: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:40:41,447 INFO L290 TraceCheckUtils]: 40: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:40:41,447 INFO L290 TraceCheckUtils]: 39: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:40:41,447 INFO L272 TraceCheckUtils]: 38: Hoare triple {35079#(< ~counter~0 18)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:40:41,447 INFO L290 TraceCheckUtils]: 37: Hoare triple {35079#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {35079#(< ~counter~0 18)} is VALID [2022-04-08 05:40:41,448 INFO L290 TraceCheckUtils]: 36: Hoare triple {35137#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35079#(< ~counter~0 18)} is VALID [2022-04-08 05:40:41,448 INFO L290 TraceCheckUtils]: 35: Hoare triple {35137#(< ~counter~0 17)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {35137#(< ~counter~0 17)} is VALID [2022-04-08 05:40:41,448 INFO L290 TraceCheckUtils]: 34: Hoare triple {35137#(< ~counter~0 17)} assume !!(~a~0 != ~b~0); {35137#(< ~counter~0 17)} is VALID [2022-04-08 05:40:41,449 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {34642#true} {35137#(< ~counter~0 17)} #72#return; {35137#(< ~counter~0 17)} is VALID [2022-04-08 05:40:41,449 INFO L290 TraceCheckUtils]: 32: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:40:41,449 INFO L290 TraceCheckUtils]: 31: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:40:41,449 INFO L290 TraceCheckUtils]: 30: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:40:41,449 INFO L272 TraceCheckUtils]: 29: Hoare triple {35137#(< ~counter~0 17)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:40:41,450 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {34642#true} {35137#(< ~counter~0 17)} #70#return; {35137#(< ~counter~0 17)} is VALID [2022-04-08 05:40:41,450 INFO L290 TraceCheckUtils]: 27: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:40:41,450 INFO L290 TraceCheckUtils]: 26: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:40:41,450 INFO L290 TraceCheckUtils]: 25: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:40:41,450 INFO L272 TraceCheckUtils]: 24: Hoare triple {35137#(< ~counter~0 17)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:40:41,450 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {34642#true} {35137#(< ~counter~0 17)} #68#return; {35137#(< ~counter~0 17)} is VALID [2022-04-08 05:40:41,451 INFO L290 TraceCheckUtils]: 22: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:40:41,451 INFO L290 TraceCheckUtils]: 21: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:40:41,451 INFO L290 TraceCheckUtils]: 20: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:40:41,451 INFO L272 TraceCheckUtils]: 19: Hoare triple {35137#(< ~counter~0 17)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:40:41,451 INFO L290 TraceCheckUtils]: 18: Hoare triple {35137#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {35137#(< ~counter~0 17)} is VALID [2022-04-08 05:40:41,451 INFO L290 TraceCheckUtils]: 17: Hoare triple {35195#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35137#(< ~counter~0 17)} is VALID [2022-04-08 05:40:41,452 INFO L290 TraceCheckUtils]: 16: Hoare triple {35195#(< ~counter~0 16)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {35195#(< ~counter~0 16)} is VALID [2022-04-08 05:40:41,452 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {34642#true} {35195#(< ~counter~0 16)} #66#return; {35195#(< ~counter~0 16)} is VALID [2022-04-08 05:40:41,452 INFO L290 TraceCheckUtils]: 14: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:40:41,452 INFO L290 TraceCheckUtils]: 13: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:40:41,452 INFO L290 TraceCheckUtils]: 12: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:40:41,452 INFO L272 TraceCheckUtils]: 11: Hoare triple {35195#(< ~counter~0 16)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:40:41,453 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34642#true} {35195#(< ~counter~0 16)} #64#return; {35195#(< ~counter~0 16)} is VALID [2022-04-08 05:40:41,453 INFO L290 TraceCheckUtils]: 9: Hoare triple {34642#true} assume true; {34642#true} is VALID [2022-04-08 05:40:41,453 INFO L290 TraceCheckUtils]: 8: Hoare triple {34642#true} assume !(0 == ~cond); {34642#true} is VALID [2022-04-08 05:40:41,453 INFO L290 TraceCheckUtils]: 7: Hoare triple {34642#true} ~cond := #in~cond; {34642#true} is VALID [2022-04-08 05:40:41,453 INFO L272 TraceCheckUtils]: 6: Hoare triple {35195#(< ~counter~0 16)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {34642#true} is VALID [2022-04-08 05:40:41,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {35195#(< ~counter~0 16)} 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; {35195#(< ~counter~0 16)} is VALID [2022-04-08 05:40:41,454 INFO L272 TraceCheckUtils]: 4: Hoare triple {35195#(< ~counter~0 16)} call #t~ret7 := main(); {35195#(< ~counter~0 16)} is VALID [2022-04-08 05:40:41,454 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35195#(< ~counter~0 16)} {34642#true} #82#return; {35195#(< ~counter~0 16)} is VALID [2022-04-08 05:40:41,454 INFO L290 TraceCheckUtils]: 2: Hoare triple {35195#(< ~counter~0 16)} assume true; {35195#(< ~counter~0 16)} is VALID [2022-04-08 05:40:41,454 INFO L290 TraceCheckUtils]: 1: Hoare triple {34642#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; {35195#(< ~counter~0 16)} is VALID [2022-04-08 05:40:41,455 INFO L272 TraceCheckUtils]: 0: Hoare triple {34642#true} call ULTIMATE.init(); {34642#true} is VALID [2022-04-08 05:40:41,455 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-08 05:40:41,455 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:40:41,455 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [60154180] [2022-04-08 05:40:41,455 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:40:41,455 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1359798960] [2022-04-08 05:40:41,455 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1359798960] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:40:41,455 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:40:41,455 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-08 05:40:41,455 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:40:41,456 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [471977370] [2022-04-08 05:40:41,456 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [471977370] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:40:41,456 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:40:41,456 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:40:41,456 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1149004301] [2022-04-08 05:40:41,456 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:40:41,457 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-08 05:40:41,457 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:40:41,457 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-08 05:40:41,521 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-08 05:40:41,521 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 05:40:41,521 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:40:41,522 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 05:40:41,522 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:40:41,522 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-08 05:40:42,277 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:40:42,277 INFO L93 Difference]: Finished difference Result 414 states and 490 transitions. [2022-04-08 05:40:42,277 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 05:40:42,277 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-08 05:40:42,278 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:40:42,278 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-08 05:40:42,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 110 transitions. [2022-04-08 05:40:42,279 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-08 05:40:42,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 110 transitions. [2022-04-08 05:40:42,279 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 110 transitions. [2022-04-08 05:40:42,369 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-08 05:40:42,379 INFO L225 Difference]: With dead ends: 414 [2022-04-08 05:40:42,379 INFO L226 Difference]: Without dead ends: 391 [2022-04-08 05:40:42,380 INFO L912 BasicCegarLoop]: 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-08 05:40:42,380 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 19 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 57 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 145 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 57 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:40:42,380 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 145 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:40:42,381 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 391 states. [2022-04-08 05:40:42,831 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 391 to 376. [2022-04-08 05:40:42,831 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:40:42,832 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-08 05:40:42,832 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-08 05:40:42,833 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-08 05:40:42,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:40:42,840 INFO L93 Difference]: Finished difference Result 391 states and 456 transitions. [2022-04-08 05:40:42,840 INFO L276 IsEmpty]: Start isEmpty. Operand 391 states and 456 transitions. [2022-04-08 05:40:42,841 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:40:42,842 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:40:42,842 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-08 05:40:42,842 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-08 05:40:42,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:40:42,851 INFO L93 Difference]: Finished difference Result 391 states and 456 transitions. [2022-04-08 05:40:42,851 INFO L276 IsEmpty]: Start isEmpty. Operand 391 states and 456 transitions. [2022-04-08 05:40:42,852 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:40:42,852 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:40:42,852 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:40:42,852 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:40:42,853 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-08 05:40:42,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 376 states to 376 states and 436 transitions. [2022-04-08 05:40:42,863 INFO L78 Accepts]: Start accepts. Automaton has 376 states and 436 transitions. Word has length 99 [2022-04-08 05:40:42,864 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:40:42,864 INFO L478 AbstractCegarLoop]: Abstraction has 376 states and 436 transitions. [2022-04-08 05:40:42,864 INFO L479 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-08 05:40:42,864 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 376 states and 436 transitions. [2022-04-08 05:40:46,723 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-08 05:40:46,724 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 436 transitions. [2022-04-08 05:40:46,724 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-08 05:40:46,724 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:40:46,725 INFO L499 BasicCegarLoop]: 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-08 05:40:46,741 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-08 05:40:46,927 WARN L460 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-08 05:40:46,927 INFO L403 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:40:46,928 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:40:46,928 INFO L85 PathProgramCache]: Analyzing trace with hash 340347020, now seen corresponding path program 9 times [2022-04-08 05:40:46,928 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:40:46,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1383885947] [2022-04-08 05:40:46,928 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:40:46,928 INFO L85 PathProgramCache]: Analyzing trace with hash 340347020, now seen corresponding path program 10 times [2022-04-08 05:40:46,928 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:40:46,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [307745736] [2022-04-08 05:40:46,928 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:40:46,928 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:40:46,939 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:40:46,940 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [266775313] [2022-04-08 05:40:46,940 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:40:46,940 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:40:46,940 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:40:46,941 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-08 05:40:46,963 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-08 05:40:47,002 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:40:47,002 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:40:47,003 INFO L263 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-08 05:40:47,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:40:47,021 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:40:51,513 INFO L272 TraceCheckUtils]: 0: Hoare triple {37619#true} call ULTIMATE.init(); {37619#true} is VALID [2022-04-08 05:40:51,513 INFO L290 TraceCheckUtils]: 1: Hoare triple {37619#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; {37619#true} is VALID [2022-04-08 05:40:51,514 INFO L290 TraceCheckUtils]: 2: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:40:51,514 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37619#true} {37619#true} #82#return; {37619#true} is VALID [2022-04-08 05:40:51,514 INFO L272 TraceCheckUtils]: 4: Hoare triple {37619#true} call #t~ret7 := main(); {37619#true} is VALID [2022-04-08 05:40:51,514 INFO L290 TraceCheckUtils]: 5: Hoare triple {37619#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; {37619#true} is VALID [2022-04-08 05:40:51,514 INFO L272 TraceCheckUtils]: 6: Hoare triple {37619#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:40:51,514 INFO L290 TraceCheckUtils]: 7: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:40:51,514 INFO L290 TraceCheckUtils]: 8: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:40:51,514 INFO L290 TraceCheckUtils]: 9: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:40:51,514 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {37619#true} {37619#true} #64#return; {37619#true} is VALID [2022-04-08 05:40:51,514 INFO L272 TraceCheckUtils]: 11: Hoare triple {37619#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:40:51,514 INFO L290 TraceCheckUtils]: 12: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:40:51,514 INFO L290 TraceCheckUtils]: 13: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:40:51,514 INFO L290 TraceCheckUtils]: 14: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:40:51,514 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {37619#true} {37619#true} #66#return; {37619#true} is VALID [2022-04-08 05:40:51,515 INFO L290 TraceCheckUtils]: 16: Hoare triple {37619#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {37672#(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-08 05:40:51,515 INFO L290 TraceCheckUtils]: 17: Hoare triple {37672#(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; {37672#(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-08 05:40:51,515 INFO L290 TraceCheckUtils]: 18: Hoare triple {37672#(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 < 20);havoc #t~post6; {37672#(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-08 05:40:51,515 INFO L272 TraceCheckUtils]: 19: Hoare triple {37672#(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)); {37619#true} is VALID [2022-04-08 05:40:51,515 INFO L290 TraceCheckUtils]: 20: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:40:51,516 INFO L290 TraceCheckUtils]: 21: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:40:51,516 INFO L290 TraceCheckUtils]: 22: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:40:51,516 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {37619#true} {37672#(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; {37672#(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-08 05:40:51,516 INFO L272 TraceCheckUtils]: 24: Hoare triple {37672#(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)); {37619#true} is VALID [2022-04-08 05:40:51,516 INFO L290 TraceCheckUtils]: 25: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:40:51,516 INFO L290 TraceCheckUtils]: 26: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:40:51,516 INFO L290 TraceCheckUtils]: 27: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:40:51,517 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {37619#true} {37672#(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; {37672#(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-08 05:40:51,517 INFO L272 TraceCheckUtils]: 29: Hoare triple {37672#(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)); {37619#true} is VALID [2022-04-08 05:40:51,517 INFO L290 TraceCheckUtils]: 30: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:40:51,517 INFO L290 TraceCheckUtils]: 31: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:40:51,517 INFO L290 TraceCheckUtils]: 32: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:40:51,518 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {37619#true} {37672#(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; {37672#(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-08 05:40:51,518 INFO L290 TraceCheckUtils]: 34: Hoare triple {37672#(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); {37672#(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-08 05:40:51,519 INFO L290 TraceCheckUtils]: 35: Hoare triple {37672#(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; {37730#(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-08 05:40:51,519 INFO L290 TraceCheckUtils]: 36: Hoare triple {37730#(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; {37730#(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-08 05:40:51,519 INFO L290 TraceCheckUtils]: 37: Hoare triple {37730#(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 < 20);havoc #t~post6; {37730#(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-08 05:40:51,519 INFO L272 TraceCheckUtils]: 38: Hoare triple {37730#(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)); {37619#true} is VALID [2022-04-08 05:40:51,520 INFO L290 TraceCheckUtils]: 39: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:40:51,520 INFO L290 TraceCheckUtils]: 40: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:40:51,520 INFO L290 TraceCheckUtils]: 41: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:40:51,520 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {37619#true} {37730#(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; {37730#(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-08 05:40:51,520 INFO L272 TraceCheckUtils]: 43: Hoare triple {37730#(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)); {37619#true} is VALID [2022-04-08 05:40:51,520 INFO L290 TraceCheckUtils]: 44: Hoare triple {37619#true} ~cond := #in~cond; {37758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:40:51,521 INFO L290 TraceCheckUtils]: 45: Hoare triple {37758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:40:51,521 INFO L290 TraceCheckUtils]: 46: Hoare triple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:40:51,522 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} {37730#(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; {37769#(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-08 05:40:51,522 INFO L272 TraceCheckUtils]: 48: Hoare triple {37769#(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)); {37619#true} is VALID [2022-04-08 05:40:51,522 INFO L290 TraceCheckUtils]: 49: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:40:51,522 INFO L290 TraceCheckUtils]: 50: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:40:51,522 INFO L290 TraceCheckUtils]: 51: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:40:51,523 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {37619#true} {37769#(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; {37769#(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-08 05:40:51,528 INFO L290 TraceCheckUtils]: 53: Hoare triple {37769#(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); {37769#(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-08 05:40:51,530 INFO L290 TraceCheckUtils]: 54: Hoare triple {37769#(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; {37791#(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-08 05:40:51,531 INFO L290 TraceCheckUtils]: 55: Hoare triple {37791#(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; {37791#(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-08 05:40:51,532 INFO L290 TraceCheckUtils]: 56: Hoare triple {37791#(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 < 20);havoc #t~post6; {37791#(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-08 05:40:51,532 INFO L272 TraceCheckUtils]: 57: Hoare triple {37791#(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)); {37619#true} is VALID [2022-04-08 05:40:51,532 INFO L290 TraceCheckUtils]: 58: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:40:51,532 INFO L290 TraceCheckUtils]: 59: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:40:51,532 INFO L290 TraceCheckUtils]: 60: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:40:51,533 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {37619#true} {37791#(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; {37791#(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-08 05:40:51,533 INFO L272 TraceCheckUtils]: 62: Hoare triple {37791#(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)); {37619#true} is VALID [2022-04-08 05:40:51,533 INFO L290 TraceCheckUtils]: 63: Hoare triple {37619#true} ~cond := #in~cond; {37758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:40:51,534 INFO L290 TraceCheckUtils]: 64: Hoare triple {37758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:40:51,534 INFO L290 TraceCheckUtils]: 65: Hoare triple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:40:51,535 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} {37791#(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; {37791#(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-08 05:40:51,535 INFO L272 TraceCheckUtils]: 67: Hoare triple {37791#(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)); {37619#true} is VALID [2022-04-08 05:40:51,535 INFO L290 TraceCheckUtils]: 68: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:40:51,535 INFO L290 TraceCheckUtils]: 69: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:40:51,535 INFO L290 TraceCheckUtils]: 70: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:40:51,536 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {37619#true} {37791#(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; {37791#(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-08 05:40:51,536 INFO L290 TraceCheckUtils]: 72: Hoare triple {37791#(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); {37791#(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-08 05:40:51,541 INFO L290 TraceCheckUtils]: 73: Hoare triple {37791#(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; {37849#(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-08 05:40:51,542 INFO L290 TraceCheckUtils]: 74: Hoare triple {37849#(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; {37849#(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-08 05:40:51,543 INFO L290 TraceCheckUtils]: 75: Hoare triple {37849#(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 < 20);havoc #t~post6; {37849#(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-08 05:40:51,543 INFO L272 TraceCheckUtils]: 76: Hoare triple {37849#(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)); {37619#true} is VALID [2022-04-08 05:40:51,543 INFO L290 TraceCheckUtils]: 77: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:40:51,543 INFO L290 TraceCheckUtils]: 78: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:40:51,543 INFO L290 TraceCheckUtils]: 79: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:40:51,544 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {37619#true} {37849#(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; {37849#(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-08 05:40:51,544 INFO L272 TraceCheckUtils]: 81: Hoare triple {37849#(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)); {37619#true} is VALID [2022-04-08 05:40:51,544 INFO L290 TraceCheckUtils]: 82: Hoare triple {37619#true} ~cond := #in~cond; {37758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:40:51,545 INFO L290 TraceCheckUtils]: 83: Hoare triple {37758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:40:51,545 INFO L290 TraceCheckUtils]: 84: Hoare triple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:40:51,546 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} {37849#(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; {37849#(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-08 05:40:51,546 INFO L272 TraceCheckUtils]: 86: Hoare triple {37849#(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)); {37619#true} is VALID [2022-04-08 05:40:51,546 INFO L290 TraceCheckUtils]: 87: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:40:51,546 INFO L290 TraceCheckUtils]: 88: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:40:51,546 INFO L290 TraceCheckUtils]: 89: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:40:51,547 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {37619#true} {37849#(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; {37849#(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-08 05:40:51,547 INFO L290 TraceCheckUtils]: 91: Hoare triple {37849#(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); {37849#(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-08 05:40:51,552 INFO L290 TraceCheckUtils]: 92: Hoare triple {37849#(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; {37907#(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-08 05:40:51,553 INFO L290 TraceCheckUtils]: 93: Hoare triple {37907#(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; {37907#(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-08 05:40:51,553 INFO L290 TraceCheckUtils]: 94: Hoare triple {37907#(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 < 20);havoc #t~post6; {37907#(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-08 05:40:51,553 INFO L272 TraceCheckUtils]: 95: Hoare triple {37907#(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)); {37619#true} is VALID [2022-04-08 05:40:51,553 INFO L290 TraceCheckUtils]: 96: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:40:51,553 INFO L290 TraceCheckUtils]: 97: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:40:51,553 INFO L290 TraceCheckUtils]: 98: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:40:51,554 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {37619#true} {37907#(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; {37907#(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-08 05:40:51,558 INFO L272 TraceCheckUtils]: 100: Hoare triple {37907#(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)); {37932#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:40:51,558 INFO L290 TraceCheckUtils]: 101: Hoare triple {37932#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {37936#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:40:51,559 INFO L290 TraceCheckUtils]: 102: Hoare triple {37936#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {37620#false} is VALID [2022-04-08 05:40:51,559 INFO L290 TraceCheckUtils]: 103: Hoare triple {37620#false} assume !false; {37620#false} is VALID [2022-04-08 05:40:51,559 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-08 05:40:51,559 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:41:42,523 INFO L290 TraceCheckUtils]: 103: Hoare triple {37620#false} assume !false; {37620#false} is VALID [2022-04-08 05:41:42,524 INFO L290 TraceCheckUtils]: 102: Hoare triple {37936#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {37620#false} is VALID [2022-04-08 05:41:42,524 INFO L290 TraceCheckUtils]: 101: Hoare triple {37932#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {37936#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:41:42,525 INFO L272 TraceCheckUtils]: 100: Hoare triple {37952#(= 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)); {37932#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:41:42,525 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {37619#true} {37952#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {37952#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:41:42,526 INFO L290 TraceCheckUtils]: 98: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:41:42,526 INFO L290 TraceCheckUtils]: 97: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:41:42,526 INFO L290 TraceCheckUtils]: 96: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:41:42,526 INFO L272 TraceCheckUtils]: 95: Hoare triple {37952#(= 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)); {37619#true} is VALID [2022-04-08 05:41:42,526 INFO L290 TraceCheckUtils]: 94: Hoare triple {37952#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {37952#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:41:42,526 INFO L290 TraceCheckUtils]: 93: Hoare triple {37952#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37952#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:41:42,633 INFO L290 TraceCheckUtils]: 92: Hoare triple {37977#(= (+ 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; {37952#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:41:42,633 INFO L290 TraceCheckUtils]: 91: Hoare triple {37977#(= (+ 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); {37977#(= (+ 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-08 05:41:42,634 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {37619#true} {37977#(= (+ 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; {37977#(= (+ 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-08 05:41:42,634 INFO L290 TraceCheckUtils]: 89: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:41:42,634 INFO L290 TraceCheckUtils]: 88: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:41:42,634 INFO L290 TraceCheckUtils]: 87: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:41:42,634 INFO L272 TraceCheckUtils]: 86: Hoare triple {37977#(= (+ 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)); {37619#true} is VALID [2022-04-08 05:41:42,635 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} {37999#(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; {37977#(= (+ 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-08 05:41:42,635 INFO L290 TraceCheckUtils]: 84: Hoare triple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:41:42,636 INFO L290 TraceCheckUtils]: 83: Hoare triple {38009#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:41:42,636 INFO L290 TraceCheckUtils]: 82: Hoare triple {37619#true} ~cond := #in~cond; {38009#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:41:42,636 INFO L272 TraceCheckUtils]: 81: Hoare triple {37999#(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)); {37619#true} is VALID [2022-04-08 05:41:42,637 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {37619#true} {37999#(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; {37999#(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-08 05:41:42,637 INFO L290 TraceCheckUtils]: 79: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:41:42,637 INFO L290 TraceCheckUtils]: 78: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:41:42,637 INFO L290 TraceCheckUtils]: 77: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:41:42,637 INFO L272 TraceCheckUtils]: 76: Hoare triple {37999#(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)); {37619#true} is VALID [2022-04-08 05:41:42,637 INFO L290 TraceCheckUtils]: 75: Hoare triple {37999#(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 < 20);havoc #t~post6; {37999#(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-08 05:41:42,638 INFO L290 TraceCheckUtils]: 74: Hoare triple {37999#(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; {37999#(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-08 05:41:42,734 INFO L290 TraceCheckUtils]: 73: Hoare triple {38037#(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; {37999#(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-08 05:41:42,735 INFO L290 TraceCheckUtils]: 72: Hoare triple {38037#(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); {38037#(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-08 05:41:42,735 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {37619#true} {38037#(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; {38037#(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-08 05:41:42,735 INFO L290 TraceCheckUtils]: 70: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:41:42,736 INFO L290 TraceCheckUtils]: 69: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:41:42,736 INFO L290 TraceCheckUtils]: 68: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:41:42,736 INFO L272 TraceCheckUtils]: 67: Hoare triple {38037#(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)); {37619#true} is VALID [2022-04-08 05:41:42,738 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} {37619#true} #70#return; {38037#(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-08 05:41:42,738 INFO L290 TraceCheckUtils]: 65: Hoare triple {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:41:42,747 INFO L290 TraceCheckUtils]: 64: Hoare triple {38009#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {37762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:41:42,748 INFO L290 TraceCheckUtils]: 63: Hoare triple {37619#true} ~cond := #in~cond; {38009#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:41:42,748 INFO L272 TraceCheckUtils]: 62: Hoare triple {37619#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:41:42,748 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {37619#true} {37619#true} #68#return; {37619#true} is VALID [2022-04-08 05:41:42,748 INFO L290 TraceCheckUtils]: 60: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:41:42,748 INFO L290 TraceCheckUtils]: 59: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:41:42,748 INFO L290 TraceCheckUtils]: 58: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:41:42,748 INFO L272 TraceCheckUtils]: 57: Hoare triple {37619#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:41:42,748 INFO L290 TraceCheckUtils]: 56: Hoare triple {37619#true} assume !!(#t~post6 < 20);havoc #t~post6; {37619#true} is VALID [2022-04-08 05:41:42,748 INFO L290 TraceCheckUtils]: 55: Hoare triple {37619#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37619#true} is VALID [2022-04-08 05:41:42,748 INFO L290 TraceCheckUtils]: 54: Hoare triple {37619#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37619#true} is VALID [2022-04-08 05:41:42,749 INFO L290 TraceCheckUtils]: 53: Hoare triple {37619#true} assume !!(~a~0 != ~b~0); {37619#true} is VALID [2022-04-08 05:41:42,749 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {37619#true} {37619#true} #72#return; {37619#true} is VALID [2022-04-08 05:41:42,749 INFO L290 TraceCheckUtils]: 51: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:41:42,749 INFO L290 TraceCheckUtils]: 50: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:41:42,749 INFO L290 TraceCheckUtils]: 49: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:41:42,749 INFO L272 TraceCheckUtils]: 48: Hoare triple {37619#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:41:42,749 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {37619#true} {37619#true} #70#return; {37619#true} is VALID [2022-04-08 05:41:42,749 INFO L290 TraceCheckUtils]: 46: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:41:42,749 INFO L290 TraceCheckUtils]: 45: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:41:42,749 INFO L290 TraceCheckUtils]: 44: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:41:42,749 INFO L272 TraceCheckUtils]: 43: Hoare triple {37619#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:41:42,749 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {37619#true} {37619#true} #68#return; {37619#true} is VALID [2022-04-08 05:41:42,749 INFO L290 TraceCheckUtils]: 41: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:41:42,750 INFO L290 TraceCheckUtils]: 40: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:41:42,750 INFO L290 TraceCheckUtils]: 39: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:41:42,750 INFO L272 TraceCheckUtils]: 38: Hoare triple {37619#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:41:42,750 INFO L290 TraceCheckUtils]: 37: Hoare triple {37619#true} assume !!(#t~post6 < 20);havoc #t~post6; {37619#true} is VALID [2022-04-08 05:41:42,750 INFO L290 TraceCheckUtils]: 36: Hoare triple {37619#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37619#true} is VALID [2022-04-08 05:41:42,750 INFO L290 TraceCheckUtils]: 35: Hoare triple {37619#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37619#true} is VALID [2022-04-08 05:41:42,750 INFO L290 TraceCheckUtils]: 34: Hoare triple {37619#true} assume !!(~a~0 != ~b~0); {37619#true} is VALID [2022-04-08 05:41:42,750 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {37619#true} {37619#true} #72#return; {37619#true} is VALID [2022-04-08 05:41:42,750 INFO L290 TraceCheckUtils]: 32: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:41:42,750 INFO L290 TraceCheckUtils]: 31: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:41:42,750 INFO L290 TraceCheckUtils]: 30: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:41:42,750 INFO L272 TraceCheckUtils]: 29: Hoare triple {37619#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:41:42,750 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {37619#true} {37619#true} #70#return; {37619#true} is VALID [2022-04-08 05:41:42,751 INFO L290 TraceCheckUtils]: 27: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:41:42,751 INFO L290 TraceCheckUtils]: 26: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:41:42,751 INFO L290 TraceCheckUtils]: 25: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:41:42,751 INFO L272 TraceCheckUtils]: 24: Hoare triple {37619#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:41:42,751 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {37619#true} {37619#true} #68#return; {37619#true} is VALID [2022-04-08 05:41:42,751 INFO L290 TraceCheckUtils]: 22: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:41:42,751 INFO L290 TraceCheckUtils]: 21: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:41:42,751 INFO L290 TraceCheckUtils]: 20: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:41:42,751 INFO L272 TraceCheckUtils]: 19: Hoare triple {37619#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:41:42,751 INFO L290 TraceCheckUtils]: 18: Hoare triple {37619#true} assume !!(#t~post6 < 20);havoc #t~post6; {37619#true} is VALID [2022-04-08 05:41:42,751 INFO L290 TraceCheckUtils]: 17: Hoare triple {37619#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37619#true} is VALID [2022-04-08 05:41:42,751 INFO L290 TraceCheckUtils]: 16: Hoare triple {37619#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {37619#true} is VALID [2022-04-08 05:41:42,752 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {37619#true} {37619#true} #66#return; {37619#true} is VALID [2022-04-08 05:41:42,752 INFO L290 TraceCheckUtils]: 14: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:41:42,752 INFO L290 TraceCheckUtils]: 13: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:41:42,752 INFO L290 TraceCheckUtils]: 12: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:41:42,752 INFO L272 TraceCheckUtils]: 11: Hoare triple {37619#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:41:42,752 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {37619#true} {37619#true} #64#return; {37619#true} is VALID [2022-04-08 05:41:42,752 INFO L290 TraceCheckUtils]: 9: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:41:42,752 INFO L290 TraceCheckUtils]: 8: Hoare triple {37619#true} assume !(0 == ~cond); {37619#true} is VALID [2022-04-08 05:41:42,752 INFO L290 TraceCheckUtils]: 7: Hoare triple {37619#true} ~cond := #in~cond; {37619#true} is VALID [2022-04-08 05:41:42,752 INFO L272 TraceCheckUtils]: 6: Hoare triple {37619#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {37619#true} is VALID [2022-04-08 05:41:42,752 INFO L290 TraceCheckUtils]: 5: Hoare triple {37619#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; {37619#true} is VALID [2022-04-08 05:41:42,752 INFO L272 TraceCheckUtils]: 4: Hoare triple {37619#true} call #t~ret7 := main(); {37619#true} is VALID [2022-04-08 05:41:42,753 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37619#true} {37619#true} #82#return; {37619#true} is VALID [2022-04-08 05:41:42,753 INFO L290 TraceCheckUtils]: 2: Hoare triple {37619#true} assume true; {37619#true} is VALID [2022-04-08 05:41:42,753 INFO L290 TraceCheckUtils]: 1: Hoare triple {37619#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; {37619#true} is VALID [2022-04-08 05:41:42,753 INFO L272 TraceCheckUtils]: 0: Hoare triple {37619#true} call ULTIMATE.init(); {37619#true} is VALID [2022-04-08 05:41:42,753 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-08 05:41:42,753 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:41:42,753 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [307745736] [2022-04-08 05:41:42,754 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:41:42,754 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [266775313] [2022-04-08 05:41:42,754 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [266775313] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:41:42,754 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:41:42,754 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 17 [2022-04-08 05:41:42,754 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:41:42,754 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1383885947] [2022-04-08 05:41:42,754 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1383885947] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:41:42,754 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:41:42,754 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 05:41:42,754 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1440027380] [2022-04-08 05:41:42,754 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:41:42,755 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-08 05:41:42,755 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:41:42,755 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-08 05:41:42,869 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-08 05:41:42,869 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 05:41:42,869 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:41:42,870 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 05:41:42,870 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=216, Unknown=0, NotChecked=0, Total=272 [2022-04-08 05:41:42,870 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-08 05:41:46,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:46,797 INFO L93 Difference]: Finished difference Result 403 states and 475 transitions. [2022-04-08 05:41:46,797 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 05:41:46,797 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-08 05:41:46,797 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:41:46,798 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-08 05:41:46,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 108 transitions. [2022-04-08 05:41:46,799 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-08 05:41:46,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 108 transitions. [2022-04-08 05:41:46,800 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 108 transitions. [2022-04-08 05:41:46,979 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-08 05:41:46,990 INFO L225 Difference]: With dead ends: 403 [2022-04-08 05:41:46,990 INFO L226 Difference]: Without dead ends: 401 [2022-04-08 05:41:46,990 INFO L912 BasicCegarLoop]: 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-08 05:41:46,991 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 14 mSDsluCounter, 237 mSDsCounter, 0 mSdLazyCounter, 609 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s 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.8s IncrementalHoareTripleChecker+Time [2022-04-08 05:41:46,991 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 290 Invalid, 620 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 609 Invalid, 0 Unknown, 0 Unchecked, 1.8s Time] [2022-04-08 05:41:46,991 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 401 states. [2022-04-08 05:41:47,487 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 401 to 385. [2022-04-08 05:41:47,488 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:41:47,488 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-08 05:41:47,488 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-08 05:41:47,489 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-08 05:41:47,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:47,498 INFO L93 Difference]: Finished difference Result 401 states and 473 transitions. [2022-04-08 05:41:47,498 INFO L276 IsEmpty]: Start isEmpty. Operand 401 states and 473 transitions. [2022-04-08 05:41:47,499 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:41:47,499 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:41:47,499 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-08 05:41:47,500 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-08 05:41:47,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:47,509 INFO L93 Difference]: Finished difference Result 401 states and 473 transitions. [2022-04-08 05:41:47,509 INFO L276 IsEmpty]: Start isEmpty. Operand 401 states and 473 transitions. [2022-04-08 05:41:47,510 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:41:47,510 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:41:47,510 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:41:47,510 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:41:47,511 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-08 05:41:47,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 385 states to 385 states and 448 transitions. [2022-04-08 05:41:47,522 INFO L78 Accepts]: Start accepts. Automaton has 385 states and 448 transitions. Word has length 104 [2022-04-08 05:41:47,522 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:41:47,523 INFO L478 AbstractCegarLoop]: Abstraction has 385 states and 448 transitions. [2022-04-08 05:41:47,523 INFO L479 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-08 05:41:47,523 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 385 states and 448 transitions. [2022-04-08 05:41:51,648 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-08 05:41:51,648 INFO L276 IsEmpty]: Start isEmpty. Operand 385 states and 448 transitions. [2022-04-08 05:41:51,649 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-08 05:41:51,649 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:41:51,649 INFO L499 BasicCegarLoop]: 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-08 05:41:51,666 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-08 05:41:51,851 WARN L460 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-08 05:41:51,851 INFO L403 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:41:51,852 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:41:51,852 INFO L85 PathProgramCache]: Analyzing trace with hash 1041946894, now seen corresponding path program 19 times [2022-04-08 05:41:51,852 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:41:51,852 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1447588451] [2022-04-08 05:41:51,852 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:41:51,852 INFO L85 PathProgramCache]: Analyzing trace with hash 1041946894, now seen corresponding path program 20 times [2022-04-08 05:41:51,852 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:41:51,852 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1128378449] [2022-04-08 05:41:51,852 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:41:51,854 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:41:51,863 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:41:51,863 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [99275758] [2022-04-08 05:41:51,863 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:41:51,864 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:41:51,864 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:41:51,864 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-08 05:41:51,865 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-08 05:41:51,925 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:41:51,925 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:41:51,926 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-08 05:41:51,944 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:41:51,945 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:41:53,871 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 05:41:53,939 INFO L272 TraceCheckUtils]: 0: Hoare triple {40641#true} call ULTIMATE.init(); {40641#true} is VALID [2022-04-08 05:41:53,939 INFO L290 TraceCheckUtils]: 1: Hoare triple {40641#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; {40641#true} is VALID [2022-04-08 05:41:53,940 INFO L290 TraceCheckUtils]: 2: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:53,940 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40641#true} {40641#true} #82#return; {40641#true} is VALID [2022-04-08 05:41:53,940 INFO L272 TraceCheckUtils]: 4: Hoare triple {40641#true} call #t~ret7 := main(); {40641#true} is VALID [2022-04-08 05:41:53,940 INFO L290 TraceCheckUtils]: 5: Hoare triple {40641#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; {40641#true} is VALID [2022-04-08 05:41:53,940 INFO L272 TraceCheckUtils]: 6: Hoare triple {40641#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40641#true} is VALID [2022-04-08 05:41:53,940 INFO L290 TraceCheckUtils]: 7: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:53,940 INFO L290 TraceCheckUtils]: 8: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:53,940 INFO L290 TraceCheckUtils]: 9: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:53,940 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {40641#true} {40641#true} #64#return; {40641#true} is VALID [2022-04-08 05:41:53,940 INFO L272 TraceCheckUtils]: 11: Hoare triple {40641#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40641#true} is VALID [2022-04-08 05:41:53,940 INFO L290 TraceCheckUtils]: 12: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:53,952 INFO L290 TraceCheckUtils]: 13: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:53,952 INFO L290 TraceCheckUtils]: 14: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:53,952 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {40641#true} {40641#true} #66#return; {40641#true} is VALID [2022-04-08 05:41:53,955 INFO L290 TraceCheckUtils]: 16: Hoare triple {40641#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {40694#(and (= 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-08 05:41:53,955 INFO L290 TraceCheckUtils]: 17: Hoare triple {40694#(and (= 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; {40694#(and (= 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-08 05:41:53,956 INFO L290 TraceCheckUtils]: 18: Hoare triple {40694#(and (= 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 < 20);havoc #t~post6; {40694#(and (= 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-08 05:41:53,956 INFO L272 TraceCheckUtils]: 19: Hoare triple {40694#(and (= 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)); {40641#true} is VALID [2022-04-08 05:41:53,956 INFO L290 TraceCheckUtils]: 20: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:53,956 INFO L290 TraceCheckUtils]: 21: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:53,956 INFO L290 TraceCheckUtils]: 22: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:53,957 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {40641#true} {40694#(and (= 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; {40694#(and (= 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-08 05:41:53,957 INFO L272 TraceCheckUtils]: 24: Hoare triple {40694#(and (= 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)); {40641#true} is VALID [2022-04-08 05:41:53,957 INFO L290 TraceCheckUtils]: 25: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:53,957 INFO L290 TraceCheckUtils]: 26: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:53,957 INFO L290 TraceCheckUtils]: 27: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:53,958 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {40641#true} {40694#(and (= 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; {40694#(and (= 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-08 05:41:53,958 INFO L272 TraceCheckUtils]: 29: Hoare triple {40694#(and (= 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)); {40641#true} is VALID [2022-04-08 05:41:53,958 INFO L290 TraceCheckUtils]: 30: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:53,958 INFO L290 TraceCheckUtils]: 31: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:53,958 INFO L290 TraceCheckUtils]: 32: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:53,959 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {40641#true} {40694#(and (= 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; {40694#(and (= 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-08 05:41:53,959 INFO L290 TraceCheckUtils]: 34: Hoare triple {40694#(and (= 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); {40694#(and (= 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-08 05:41:53,960 INFO L290 TraceCheckUtils]: 35: Hoare triple {40694#(and (= 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; {40752#(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-08 05:41:53,961 INFO L290 TraceCheckUtils]: 36: Hoare triple {40752#(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; {40752#(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-08 05:41:53,961 INFO L290 TraceCheckUtils]: 37: Hoare triple {40752#(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 < 20);havoc #t~post6; {40752#(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-08 05:41:53,961 INFO L272 TraceCheckUtils]: 38: Hoare triple {40752#(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)); {40641#true} is VALID [2022-04-08 05:41:53,961 INFO L290 TraceCheckUtils]: 39: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:53,961 INFO L290 TraceCheckUtils]: 40: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:53,962 INFO L290 TraceCheckUtils]: 41: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:53,962 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {40641#true} {40752#(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; {40752#(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-08 05:41:53,962 INFO L272 TraceCheckUtils]: 43: Hoare triple {40752#(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)); {40641#true} is VALID [2022-04-08 05:41:53,962 INFO L290 TraceCheckUtils]: 44: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:53,963 INFO L290 TraceCheckUtils]: 45: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:53,963 INFO L290 TraceCheckUtils]: 46: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:53,963 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {40641#true} {40752#(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; {40752#(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-08 05:41:53,963 INFO L272 TraceCheckUtils]: 48: Hoare triple {40752#(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)); {40641#true} is VALID [2022-04-08 05:41:53,963 INFO L290 TraceCheckUtils]: 49: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:53,964 INFO L290 TraceCheckUtils]: 50: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:53,964 INFO L290 TraceCheckUtils]: 51: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:53,964 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {40641#true} {40752#(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; {40752#(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-08 05:41:53,965 INFO L290 TraceCheckUtils]: 53: Hoare triple {40752#(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); {40752#(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-08 05:41:53,966 INFO L290 TraceCheckUtils]: 54: Hoare triple {40752#(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; {40810#(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-08 05:41:53,967 INFO L290 TraceCheckUtils]: 55: Hoare triple {40810#(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; {40810#(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-08 05:41:53,968 INFO L290 TraceCheckUtils]: 56: Hoare triple {40810#(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 < 20);havoc #t~post6; {40810#(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-08 05:41:53,968 INFO L272 TraceCheckUtils]: 57: Hoare triple {40810#(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)); {40641#true} is VALID [2022-04-08 05:41:53,968 INFO L290 TraceCheckUtils]: 58: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:53,968 INFO L290 TraceCheckUtils]: 59: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:53,968 INFO L290 TraceCheckUtils]: 60: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:53,969 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {40641#true} {40810#(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; {40810#(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-08 05:41:53,969 INFO L272 TraceCheckUtils]: 62: Hoare triple {40810#(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)); {40641#true} is VALID [2022-04-08 05:41:53,969 INFO L290 TraceCheckUtils]: 63: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:53,969 INFO L290 TraceCheckUtils]: 64: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:53,969 INFO L290 TraceCheckUtils]: 65: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:53,970 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {40641#true} {40810#(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; {40810#(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-08 05:41:53,970 INFO L272 TraceCheckUtils]: 67: Hoare triple {40810#(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)); {40641#true} is VALID [2022-04-08 05:41:53,970 INFO L290 TraceCheckUtils]: 68: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:53,970 INFO L290 TraceCheckUtils]: 69: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:53,970 INFO L290 TraceCheckUtils]: 70: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:53,971 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40641#true} {40810#(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; {40810#(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-08 05:41:53,971 INFO L290 TraceCheckUtils]: 72: Hoare triple {40810#(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); {40865#(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-08 05:41:53,973 INFO L290 TraceCheckUtils]: 73: Hoare triple {40865#(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; {40869#(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-08 05:41:53,974 INFO L290 TraceCheckUtils]: 74: Hoare triple {40869#(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; {40869#(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-08 05:41:53,975 INFO L290 TraceCheckUtils]: 75: Hoare triple {40869#(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 < 20);havoc #t~post6; {40869#(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-08 05:41:53,975 INFO L272 TraceCheckUtils]: 76: Hoare triple {40869#(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)); {40641#true} is VALID [2022-04-08 05:41:53,975 INFO L290 TraceCheckUtils]: 77: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:53,975 INFO L290 TraceCheckUtils]: 78: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:53,975 INFO L290 TraceCheckUtils]: 79: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:53,976 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {40641#true} {40869#(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; {40869#(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-08 05:41:53,976 INFO L272 TraceCheckUtils]: 81: Hoare triple {40869#(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)); {40641#true} is VALID [2022-04-08 05:41:53,976 INFO L290 TraceCheckUtils]: 82: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:53,976 INFO L290 TraceCheckUtils]: 83: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:53,976 INFO L290 TraceCheckUtils]: 84: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:53,977 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {40641#true} {40869#(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; {40869#(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-08 05:41:53,977 INFO L272 TraceCheckUtils]: 86: Hoare triple {40869#(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)); {40641#true} is VALID [2022-04-08 05:41:53,977 INFO L290 TraceCheckUtils]: 87: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:53,977 INFO L290 TraceCheckUtils]: 88: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:53,977 INFO L290 TraceCheckUtils]: 89: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:53,978 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {40641#true} {40869#(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; {40869#(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-08 05:41:53,978 INFO L290 TraceCheckUtils]: 91: Hoare triple {40869#(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); {40869#(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-08 05:41:53,981 INFO L290 TraceCheckUtils]: 92: Hoare triple {40869#(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; {40927#(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-08 05:41:53,982 INFO L290 TraceCheckUtils]: 93: Hoare triple {40927#(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; {40927#(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-08 05:41:53,983 INFO L290 TraceCheckUtils]: 94: Hoare triple {40927#(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 < 20);havoc #t~post6; {40927#(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-08 05:41:53,983 INFO L272 TraceCheckUtils]: 95: Hoare triple {40927#(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)); {40641#true} is VALID [2022-04-08 05:41:53,983 INFO L290 TraceCheckUtils]: 96: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:53,983 INFO L290 TraceCheckUtils]: 97: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:53,983 INFO L290 TraceCheckUtils]: 98: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:53,984 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {40641#true} {40927#(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; {40927#(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-08 05:41:53,987 INFO L272 TraceCheckUtils]: 100: Hoare triple {40927#(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)); {40952#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:41:53,987 INFO L290 TraceCheckUtils]: 101: Hoare triple {40952#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {40956#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:41:53,988 INFO L290 TraceCheckUtils]: 102: Hoare triple {40956#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {40642#false} is VALID [2022-04-08 05:41:53,988 INFO L290 TraceCheckUtils]: 103: Hoare triple {40642#false} assume !false; {40642#false} is VALID [2022-04-08 05:41:53,988 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-08 05:41:53,988 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:41:55,041 INFO L290 TraceCheckUtils]: 103: Hoare triple {40642#false} assume !false; {40642#false} is VALID [2022-04-08 05:41:55,042 INFO L290 TraceCheckUtils]: 102: Hoare triple {40956#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {40642#false} is VALID [2022-04-08 05:41:55,042 INFO L290 TraceCheckUtils]: 101: Hoare triple {40952#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {40956#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:41:55,043 INFO L272 TraceCheckUtils]: 100: Hoare triple {40972#(= 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)); {40952#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:41:55,043 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {40641#true} {40972#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {40972#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:41:55,043 INFO L290 TraceCheckUtils]: 98: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:55,043 INFO L290 TraceCheckUtils]: 97: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:55,043 INFO L290 TraceCheckUtils]: 96: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:55,043 INFO L272 TraceCheckUtils]: 95: Hoare triple {40972#(= 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)); {40641#true} is VALID [2022-04-08 05:41:55,044 INFO L290 TraceCheckUtils]: 94: Hoare triple {40972#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {40972#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:41:55,044 INFO L290 TraceCheckUtils]: 93: Hoare triple {40972#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40972#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:41:55,098 INFO L290 TraceCheckUtils]: 92: Hoare triple {40997#(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; {40972#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:41:55,098 INFO L290 TraceCheckUtils]: 91: Hoare triple {40997#(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); {40997#(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-08 05:41:55,099 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {40641#true} {40997#(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; {40997#(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-08 05:41:55,099 INFO L290 TraceCheckUtils]: 89: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:55,099 INFO L290 TraceCheckUtils]: 88: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:55,099 INFO L290 TraceCheckUtils]: 87: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:55,099 INFO L272 TraceCheckUtils]: 86: Hoare triple {40997#(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)); {40641#true} is VALID [2022-04-08 05:41:55,100 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {40641#true} {40997#(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; {40997#(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-08 05:41:55,100 INFO L290 TraceCheckUtils]: 84: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:55,100 INFO L290 TraceCheckUtils]: 83: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:55,100 INFO L290 TraceCheckUtils]: 82: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:55,100 INFO L272 TraceCheckUtils]: 81: Hoare triple {40997#(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)); {40641#true} is VALID [2022-04-08 05:41:55,101 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {40641#true} {40997#(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; {40997#(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-08 05:41:55,101 INFO L290 TraceCheckUtils]: 79: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:55,101 INFO L290 TraceCheckUtils]: 78: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:55,101 INFO L290 TraceCheckUtils]: 77: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:55,101 INFO L272 TraceCheckUtils]: 76: Hoare triple {40997#(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)); {40641#true} is VALID [2022-04-08 05:41:55,101 INFO L290 TraceCheckUtils]: 75: Hoare triple {40997#(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 < 20);havoc #t~post6; {40997#(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-08 05:41:55,102 INFO L290 TraceCheckUtils]: 74: Hoare triple {40997#(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; {40997#(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-08 05:41:55,238 INFO L290 TraceCheckUtils]: 73: Hoare triple {41055#(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; {40997#(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-08 05:41:55,238 INFO L290 TraceCheckUtils]: 72: Hoare triple {41059#(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); {41055#(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-08 05:41:55,239 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40641#true} {41059#(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; {41059#(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-08 05:41:55,239 INFO L290 TraceCheckUtils]: 70: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:55,244 INFO L290 TraceCheckUtils]: 69: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:55,244 INFO L290 TraceCheckUtils]: 68: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:55,244 INFO L272 TraceCheckUtils]: 67: Hoare triple {41059#(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)); {40641#true} is VALID [2022-04-08 05:41:55,245 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {40641#true} {41059#(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; {41059#(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-08 05:41:55,245 INFO L290 TraceCheckUtils]: 65: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:55,246 INFO L290 TraceCheckUtils]: 64: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:55,246 INFO L290 TraceCheckUtils]: 63: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:55,246 INFO L272 TraceCheckUtils]: 62: Hoare triple {41059#(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)); {40641#true} is VALID [2022-04-08 05:41:55,246 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {40641#true} {41059#(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; {41059#(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-08 05:41:55,246 INFO L290 TraceCheckUtils]: 60: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:55,246 INFO L290 TraceCheckUtils]: 59: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:55,246 INFO L290 TraceCheckUtils]: 58: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:55,246 INFO L272 TraceCheckUtils]: 57: Hoare triple {41059#(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)); {40641#true} is VALID [2022-04-08 05:41:55,247 INFO L290 TraceCheckUtils]: 56: Hoare triple {41059#(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 < 20);havoc #t~post6; {41059#(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-08 05:41:55,247 INFO L290 TraceCheckUtils]: 55: Hoare triple {41059#(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; {41059#(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-08 05:41:55,498 INFO L290 TraceCheckUtils]: 54: Hoare triple {41114#(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; {41059#(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-08 05:41:55,498 INFO L290 TraceCheckUtils]: 53: Hoare triple {41114#(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); {41114#(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-08 05:41:55,499 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {40641#true} {41114#(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; {41114#(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-08 05:41:55,499 INFO L290 TraceCheckUtils]: 51: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:55,499 INFO L290 TraceCheckUtils]: 50: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:55,499 INFO L290 TraceCheckUtils]: 49: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:55,499 INFO L272 TraceCheckUtils]: 48: Hoare triple {41114#(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)); {40641#true} is VALID [2022-04-08 05:41:55,500 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {40641#true} {41114#(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; {41114#(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-08 05:41:55,500 INFO L290 TraceCheckUtils]: 46: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:55,500 INFO L290 TraceCheckUtils]: 45: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:55,500 INFO L290 TraceCheckUtils]: 44: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:55,500 INFO L272 TraceCheckUtils]: 43: Hoare triple {41114#(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)); {40641#true} is VALID [2022-04-08 05:41:55,501 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {40641#true} {41114#(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; {41114#(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-08 05:41:55,501 INFO L290 TraceCheckUtils]: 41: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:55,501 INFO L290 TraceCheckUtils]: 40: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:55,501 INFO L290 TraceCheckUtils]: 39: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:55,501 INFO L272 TraceCheckUtils]: 38: Hoare triple {41114#(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)); {40641#true} is VALID [2022-04-08 05:41:55,501 INFO L290 TraceCheckUtils]: 37: Hoare triple {41114#(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 < 20);havoc #t~post6; {41114#(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-08 05:41:55,502 INFO L290 TraceCheckUtils]: 36: Hoare triple {41114#(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; {41114#(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-08 05:41:55,519 INFO L290 TraceCheckUtils]: 35: Hoare triple {41172#(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; {41114#(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-08 05:41:55,519 INFO L290 TraceCheckUtils]: 34: Hoare triple {41172#(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); {41172#(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-08 05:41:55,520 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {40641#true} {41172#(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; {41172#(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-08 05:41:55,520 INFO L290 TraceCheckUtils]: 32: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:55,520 INFO L290 TraceCheckUtils]: 31: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:55,520 INFO L290 TraceCheckUtils]: 30: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:55,520 INFO L272 TraceCheckUtils]: 29: Hoare triple {41172#(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)); {40641#true} is VALID [2022-04-08 05:41:55,521 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {40641#true} {41172#(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; {41172#(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-08 05:41:55,521 INFO L290 TraceCheckUtils]: 27: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:55,521 INFO L290 TraceCheckUtils]: 26: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:55,521 INFO L290 TraceCheckUtils]: 25: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:55,521 INFO L272 TraceCheckUtils]: 24: Hoare triple {41172#(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)); {40641#true} is VALID [2022-04-08 05:41:55,521 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {40641#true} {41172#(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; {41172#(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-08 05:41:55,522 INFO L290 TraceCheckUtils]: 22: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:55,522 INFO L290 TraceCheckUtils]: 21: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:55,522 INFO L290 TraceCheckUtils]: 20: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:55,522 INFO L272 TraceCheckUtils]: 19: Hoare triple {41172#(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)); {40641#true} is VALID [2022-04-08 05:41:55,522 INFO L290 TraceCheckUtils]: 18: Hoare triple {41172#(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 < 20);havoc #t~post6; {41172#(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-08 05:41:55,523 INFO L290 TraceCheckUtils]: 17: Hoare triple {41172#(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; {41172#(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-08 05:41:55,523 INFO L290 TraceCheckUtils]: 16: Hoare triple {40641#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {41172#(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-08 05:41:55,523 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {40641#true} {40641#true} #66#return; {40641#true} is VALID [2022-04-08 05:41:55,524 INFO L290 TraceCheckUtils]: 14: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:55,524 INFO L290 TraceCheckUtils]: 13: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:55,524 INFO L290 TraceCheckUtils]: 12: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:55,524 INFO L272 TraceCheckUtils]: 11: Hoare triple {40641#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40641#true} is VALID [2022-04-08 05:41:55,524 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {40641#true} {40641#true} #64#return; {40641#true} is VALID [2022-04-08 05:41:55,524 INFO L290 TraceCheckUtils]: 9: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:55,524 INFO L290 TraceCheckUtils]: 8: Hoare triple {40641#true} assume !(0 == ~cond); {40641#true} is VALID [2022-04-08 05:41:55,524 INFO L290 TraceCheckUtils]: 7: Hoare triple {40641#true} ~cond := #in~cond; {40641#true} is VALID [2022-04-08 05:41:55,524 INFO L272 TraceCheckUtils]: 6: Hoare triple {40641#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40641#true} is VALID [2022-04-08 05:41:55,524 INFO L290 TraceCheckUtils]: 5: Hoare triple {40641#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; {40641#true} is VALID [2022-04-08 05:41:55,524 INFO L272 TraceCheckUtils]: 4: Hoare triple {40641#true} call #t~ret7 := main(); {40641#true} is VALID [2022-04-08 05:41:55,524 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40641#true} {40641#true} #82#return; {40641#true} is VALID [2022-04-08 05:41:55,524 INFO L290 TraceCheckUtils]: 2: Hoare triple {40641#true} assume true; {40641#true} is VALID [2022-04-08 05:41:55,524 INFO L290 TraceCheckUtils]: 1: Hoare triple {40641#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; {40641#true} is VALID [2022-04-08 05:41:55,524 INFO L272 TraceCheckUtils]: 0: Hoare triple {40641#true} call ULTIMATE.init(); {40641#true} is VALID [2022-04-08 05:41:55,525 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-08 05:41:55,525 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:41:55,525 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1128378449] [2022-04-08 05:41:55,525 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:41:55,525 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [99275758] [2022-04-08 05:41:55,525 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [99275758] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:41:55,525 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:41:55,525 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-08 05:41:55,525 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:41:55,525 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1447588451] [2022-04-08 05:41:55,526 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1447588451] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:41:55,526 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:41:55,526 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 05:41:55,526 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1671850837] [2022-04-08 05:41:55,526 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:41:55,526 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-08 05:41:55,526 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:41:55,526 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-08 05:41:55,604 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-08 05:41:55,604 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 05:41:55,604 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:41:55,604 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 05:41:55,604 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=178, Unknown=0, NotChecked=0, Total=240 [2022-04-08 05:41:55,605 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-08 05:41:59,288 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:59,288 INFO L93 Difference]: Finished difference Result 433 states and 509 transitions. [2022-04-08 05:41:59,288 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 05:41:59,288 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-08 05:41:59,289 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:41:59,289 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-08 05:41:59,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 108 transitions. [2022-04-08 05:41:59,290 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-08 05:41:59,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 108 transitions. [2022-04-08 05:41:59,291 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 108 transitions. [2022-04-08 05:41:59,437 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-08 05:41:59,448 INFO L225 Difference]: With dead ends: 433 [2022-04-08 05:41:59,448 INFO L226 Difference]: Without dead ends: 431 [2022-04-08 05:41:59,448 INFO L912 BasicCegarLoop]: 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-08 05:41:59,449 INFO L913 BasicCegarLoop]: 62 mSDtfsCounter, 10 mSDsluCounter, 259 mSDsCounter, 0 mSdLazyCounter, 464 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 321 SdHoareTripleChecker+Invalid, 476 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 464 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.8s IncrementalHoareTripleChecker+Time [2022-04-08 05:41:59,449 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 321 Invalid, 476 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 464 Invalid, 0 Unknown, 0 Unchecked, 1.8s Time] [2022-04-08 05:41:59,449 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 431 states. [2022-04-08 05:42:00,034 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 431 to 415. [2022-04-08 05:42:00,034 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:00,035 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-08 05:42:00,035 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-08 05:42:00,036 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-08 05:42:00,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:00,046 INFO L93 Difference]: Finished difference Result 431 states and 507 transitions. [2022-04-08 05:42:00,046 INFO L276 IsEmpty]: Start isEmpty. Operand 431 states and 507 transitions. [2022-04-08 05:42:00,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:00,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:00,047 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-08 05:42:00,048 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-08 05:42:00,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:00,058 INFO L93 Difference]: Finished difference Result 431 states and 507 transitions. [2022-04-08 05:42:00,058 INFO L276 IsEmpty]: Start isEmpty. Operand 431 states and 507 transitions. [2022-04-08 05:42:00,059 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:00,059 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:00,059 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:00,059 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:00,060 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-08 05:42:00,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 415 states to 415 states and 482 transitions. [2022-04-08 05:42:00,073 INFO L78 Accepts]: Start accepts. Automaton has 415 states and 482 transitions. Word has length 104 [2022-04-08 05:42:00,073 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:00,073 INFO L478 AbstractCegarLoop]: Abstraction has 415 states and 482 transitions. [2022-04-08 05:42:00,074 INFO L479 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-08 05:42:00,074 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 415 states and 482 transitions. [2022-04-08 05:42:04,627 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-08 05:42:04,627 INFO L276 IsEmpty]: Start isEmpty. Operand 415 states and 482 transitions. [2022-04-08 05:42:04,628 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-08 05:42:04,628 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:04,628 INFO L499 BasicCegarLoop]: 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-08 05:42:04,645 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2022-04-08 05:42:04,828 WARN L460 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-08 05:42:04,829 INFO L403 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:04,829 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:04,829 INFO L85 PathProgramCache]: Analyzing trace with hash -140733238, now seen corresponding path program 21 times [2022-04-08 05:42:04,829 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:04,829 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [980245281] [2022-04-08 05:42:04,830 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:04,830 INFO L85 PathProgramCache]: Analyzing trace with hash -140733238, now seen corresponding path program 22 times [2022-04-08 05:42:04,830 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:04,830 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [694496249] [2022-04-08 05:42:04,830 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:04,830 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:04,846 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:42:04,846 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2115179039] [2022-04-08 05:42:04,846 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:42:04,847 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:04,847 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:04,848 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-08 05:42:04,851 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-08 05:42:04,903 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:42:04,903 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:42:04,904 INFO L263 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 64 conjunts are in the unsatisfiable core [2022-04-08 05:42:04,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:04,923 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:42:06,031 INFO L272 TraceCheckUtils]: 0: Hoare triple {43840#true} call ULTIMATE.init(); {43840#true} is VALID [2022-04-08 05:42:06,031 INFO L290 TraceCheckUtils]: 1: Hoare triple {43840#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; {43840#true} is VALID [2022-04-08 05:42:06,031 INFO L290 TraceCheckUtils]: 2: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:42:06,031 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43840#true} {43840#true} #82#return; {43840#true} is VALID [2022-04-08 05:42:06,031 INFO L272 TraceCheckUtils]: 4: Hoare triple {43840#true} call #t~ret7 := main(); {43840#true} is VALID [2022-04-08 05:42:06,031 INFO L290 TraceCheckUtils]: 5: Hoare triple {43840#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; {43840#true} is VALID [2022-04-08 05:42:06,031 INFO L272 TraceCheckUtils]: 6: Hoare triple {43840#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:42:06,031 INFO L290 TraceCheckUtils]: 7: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:42:06,031 INFO L290 TraceCheckUtils]: 8: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:42:06,031 INFO L290 TraceCheckUtils]: 9: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:42:06,032 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {43840#true} {43840#true} #64#return; {43840#true} is VALID [2022-04-08 05:42:06,032 INFO L272 TraceCheckUtils]: 11: Hoare triple {43840#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:42:06,032 INFO L290 TraceCheckUtils]: 12: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:42:06,032 INFO L290 TraceCheckUtils]: 13: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:42:06,032 INFO L290 TraceCheckUtils]: 14: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:42:06,032 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {43840#true} {43840#true} #66#return; {43840#true} is VALID [2022-04-08 05:42:06,032 INFO L290 TraceCheckUtils]: 16: Hoare triple {43840#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {43893#(and (= 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-08 05:42:06,033 INFO L290 TraceCheckUtils]: 17: Hoare triple {43893#(and (= 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; {43893#(and (= 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-08 05:42:06,033 INFO L290 TraceCheckUtils]: 18: Hoare triple {43893#(and (= 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 < 20);havoc #t~post6; {43893#(and (= 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-08 05:42:06,033 INFO L272 TraceCheckUtils]: 19: Hoare triple {43893#(and (= 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)); {43840#true} is VALID [2022-04-08 05:42:06,033 INFO L290 TraceCheckUtils]: 20: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:42:06,033 INFO L290 TraceCheckUtils]: 21: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:42:06,033 INFO L290 TraceCheckUtils]: 22: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:42:06,034 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {43840#true} {43893#(and (= 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; {43893#(and (= 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-08 05:42:06,034 INFO L272 TraceCheckUtils]: 24: Hoare triple {43893#(and (= 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)); {43840#true} is VALID [2022-04-08 05:42:06,034 INFO L290 TraceCheckUtils]: 25: Hoare triple {43840#true} ~cond := #in~cond; {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:42:06,034 INFO L290 TraceCheckUtils]: 26: Hoare triple {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:42:06,035 INFO L290 TraceCheckUtils]: 27: Hoare triple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:42:06,035 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} {43893#(and (= 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; {43893#(and (= 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-08 05:42:06,035 INFO L272 TraceCheckUtils]: 29: Hoare triple {43893#(and (= 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)); {43840#true} is VALID [2022-04-08 05:42:06,035 INFO L290 TraceCheckUtils]: 30: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:42:06,035 INFO L290 TraceCheckUtils]: 31: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:42:06,036 INFO L290 TraceCheckUtils]: 32: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:42:06,036 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {43840#true} {43893#(and (= 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; {43893#(and (= 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-08 05:42:06,036 INFO L290 TraceCheckUtils]: 34: Hoare triple {43893#(and (= 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); {43893#(and (= 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-08 05:42:06,037 INFO L290 TraceCheckUtils]: 35: Hoare triple {43893#(and (= 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; {43953#(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-08 05:42:06,037 INFO L290 TraceCheckUtils]: 36: Hoare triple {43953#(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; {43953#(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-08 05:42:06,038 INFO L290 TraceCheckUtils]: 37: Hoare triple {43953#(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 < 20);havoc #t~post6; {43953#(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-08 05:42:06,038 INFO L272 TraceCheckUtils]: 38: Hoare triple {43953#(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)); {43840#true} is VALID [2022-04-08 05:42:06,038 INFO L290 TraceCheckUtils]: 39: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:42:06,038 INFO L290 TraceCheckUtils]: 40: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:42:06,038 INFO L290 TraceCheckUtils]: 41: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:42:06,039 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {43840#true} {43953#(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; {43953#(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-08 05:42:06,039 INFO L272 TraceCheckUtils]: 43: Hoare triple {43953#(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)); {43840#true} is VALID [2022-04-08 05:42:06,039 INFO L290 TraceCheckUtils]: 44: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:42:06,039 INFO L290 TraceCheckUtils]: 45: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:42:06,039 INFO L290 TraceCheckUtils]: 46: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:42:06,039 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {43840#true} {43953#(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; {43953#(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-08 05:42:06,040 INFO L272 TraceCheckUtils]: 48: Hoare triple {43953#(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)); {43840#true} is VALID [2022-04-08 05:42:06,040 INFO L290 TraceCheckUtils]: 49: Hoare triple {43840#true} ~cond := #in~cond; {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:42:06,040 INFO L290 TraceCheckUtils]: 50: Hoare triple {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:42:06,040 INFO L290 TraceCheckUtils]: 51: Hoare triple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:42:06,041 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} {43953#(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; {43953#(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-08 05:42:06,041 INFO L290 TraceCheckUtils]: 53: Hoare triple {43953#(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); {43953#(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-08 05:42:06,042 INFO L290 TraceCheckUtils]: 54: Hoare triple {43953#(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; {44011#(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-08 05:42:06,042 INFO L290 TraceCheckUtils]: 55: Hoare triple {44011#(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; {44011#(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-08 05:42:06,043 INFO L290 TraceCheckUtils]: 56: Hoare triple {44011#(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 < 20);havoc #t~post6; {44011#(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-08 05:42:06,043 INFO L272 TraceCheckUtils]: 57: Hoare triple {44011#(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)); {43840#true} is VALID [2022-04-08 05:42:06,043 INFO L290 TraceCheckUtils]: 58: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:42:06,043 INFO L290 TraceCheckUtils]: 59: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:42:06,043 INFO L290 TraceCheckUtils]: 60: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:42:06,044 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {43840#true} {44011#(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; {44011#(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-08 05:42:06,044 INFO L272 TraceCheckUtils]: 62: Hoare triple {44011#(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)); {43840#true} is VALID [2022-04-08 05:42:06,044 INFO L290 TraceCheckUtils]: 63: Hoare triple {43840#true} ~cond := #in~cond; {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:42:06,044 INFO L290 TraceCheckUtils]: 64: Hoare triple {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:42:06,045 INFO L290 TraceCheckUtils]: 65: Hoare triple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:42:06,045 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} {44011#(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; {44011#(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-08 05:42:06,045 INFO L272 TraceCheckUtils]: 67: Hoare triple {44011#(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)); {43840#true} is VALID [2022-04-08 05:42:06,045 INFO L290 TraceCheckUtils]: 68: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:42:06,045 INFO L290 TraceCheckUtils]: 69: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:42:06,045 INFO L290 TraceCheckUtils]: 70: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:42:06,046 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {43840#true} {44011#(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; {44011#(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-08 05:42:06,046 INFO L290 TraceCheckUtils]: 72: Hoare triple {44011#(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); {44011#(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-08 05:42:06,048 INFO L290 TraceCheckUtils]: 73: Hoare triple {44011#(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; {44069#(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-08 05:42:06,048 INFO L290 TraceCheckUtils]: 74: Hoare triple {44069#(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; {44069#(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-08 05:42:06,049 INFO L290 TraceCheckUtils]: 75: Hoare triple {44069#(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 < 20);havoc #t~post6; {44069#(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-08 05:42:06,049 INFO L272 TraceCheckUtils]: 76: Hoare triple {44069#(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)); {43840#true} is VALID [2022-04-08 05:42:06,049 INFO L290 TraceCheckUtils]: 77: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:42:06,049 INFO L290 TraceCheckUtils]: 78: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:42:06,049 INFO L290 TraceCheckUtils]: 79: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:42:06,049 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {43840#true} {44069#(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; {44069#(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-08 05:42:06,049 INFO L272 TraceCheckUtils]: 81: Hoare triple {44069#(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)); {43840#true} is VALID [2022-04-08 05:42:06,050 INFO L290 TraceCheckUtils]: 82: Hoare triple {43840#true} ~cond := #in~cond; {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:42:06,050 INFO L290 TraceCheckUtils]: 83: Hoare triple {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:42:06,050 INFO L290 TraceCheckUtils]: 84: Hoare triple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:42:06,051 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} {44069#(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; {44069#(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-08 05:42:06,051 INFO L272 TraceCheckUtils]: 86: Hoare triple {44069#(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)); {43840#true} is VALID [2022-04-08 05:42:06,051 INFO L290 TraceCheckUtils]: 87: Hoare triple {43840#true} ~cond := #in~cond; {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:42:06,051 INFO L290 TraceCheckUtils]: 88: Hoare triple {43921#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:42:06,052 INFO L290 TraceCheckUtils]: 89: Hoare triple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:42:06,052 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} {44069#(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; {44069#(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-08 05:42:06,053 INFO L290 TraceCheckUtils]: 91: Hoare triple {44069#(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); {44069#(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-08 05:42:06,054 INFO L290 TraceCheckUtils]: 92: Hoare triple {44069#(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; {44127#(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-08 05:42:06,055 INFO L290 TraceCheckUtils]: 93: Hoare triple {44127#(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; {44127#(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-08 05:42:06,055 INFO L290 TraceCheckUtils]: 94: Hoare triple {44127#(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 < 20);havoc #t~post6; {44127#(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-08 05:42:06,055 INFO L272 TraceCheckUtils]: 95: Hoare triple {44127#(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)); {43840#true} is VALID [2022-04-08 05:42:06,055 INFO L290 TraceCheckUtils]: 96: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:42:06,055 INFO L290 TraceCheckUtils]: 97: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:42:06,055 INFO L290 TraceCheckUtils]: 98: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:42:06,056 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {43840#true} {44127#(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; {44127#(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-08 05:42:06,058 INFO L272 TraceCheckUtils]: 100: Hoare triple {44127#(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)); {44152#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:42:06,058 INFO L290 TraceCheckUtils]: 101: Hoare triple {44152#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {44156#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:42:06,058 INFO L290 TraceCheckUtils]: 102: Hoare triple {44156#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {43841#false} is VALID [2022-04-08 05:42:06,058 INFO L290 TraceCheckUtils]: 103: Hoare triple {43841#false} assume !false; {43841#false} is VALID [2022-04-08 05:42:06,059 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-08 05:42:06,059 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:43:07,215 INFO L290 TraceCheckUtils]: 103: Hoare triple {43841#false} assume !false; {43841#false} is VALID [2022-04-08 05:43:07,215 INFO L290 TraceCheckUtils]: 102: Hoare triple {44156#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {43841#false} is VALID [2022-04-08 05:43:07,216 INFO L290 TraceCheckUtils]: 101: Hoare triple {44152#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {44156#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:43:07,216 INFO L272 TraceCheckUtils]: 100: Hoare triple {44172#(= 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)); {44152#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:43:07,217 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {43840#true} {44172#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {44172#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:43:07,217 INFO L290 TraceCheckUtils]: 98: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:07,217 INFO L290 TraceCheckUtils]: 97: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:07,217 INFO L290 TraceCheckUtils]: 96: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:07,217 INFO L272 TraceCheckUtils]: 95: Hoare triple {44172#(= 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)); {43840#true} is VALID [2022-04-08 05:43:07,218 INFO L290 TraceCheckUtils]: 94: Hoare triple {44172#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {44172#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:43:07,218 INFO L290 TraceCheckUtils]: 93: Hoare triple {44172#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44172#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:43:07,784 INFO L290 TraceCheckUtils]: 92: Hoare triple {44197#(= (+ 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; {44172#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:43:07,784 INFO L290 TraceCheckUtils]: 91: Hoare triple {44197#(= (+ 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); {44197#(= (+ 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-08 05:43:07,785 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} {44204#(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; {44197#(= (+ 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-08 05:43:07,785 INFO L290 TraceCheckUtils]: 89: Hoare triple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:43:07,786 INFO L290 TraceCheckUtils]: 88: Hoare triple {44214#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:43:07,786 INFO L290 TraceCheckUtils]: 87: Hoare triple {43840#true} ~cond := #in~cond; {44214#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:43:07,786 INFO L272 TraceCheckUtils]: 86: Hoare triple {44204#(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)); {43840#true} is VALID [2022-04-08 05:43:07,788 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} {43840#true} #70#return; {44204#(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-08 05:43:07,788 INFO L290 TraceCheckUtils]: 84: Hoare triple {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:43:07,788 INFO L290 TraceCheckUtils]: 83: Hoare triple {44214#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {43925#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:43:07,788 INFO L290 TraceCheckUtils]: 82: Hoare triple {43840#true} ~cond := #in~cond; {44214#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:43:07,789 INFO L272 TraceCheckUtils]: 81: Hoare triple {43840#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:43:07,789 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {43840#true} {43840#true} #68#return; {43840#true} is VALID [2022-04-08 05:43:07,789 INFO L290 TraceCheckUtils]: 79: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:07,789 INFO L290 TraceCheckUtils]: 78: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:07,789 INFO L290 TraceCheckUtils]: 77: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:07,789 INFO L272 TraceCheckUtils]: 76: Hoare triple {43840#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:43:07,789 INFO L290 TraceCheckUtils]: 75: Hoare triple {43840#true} assume !!(#t~post6 < 20);havoc #t~post6; {43840#true} is VALID [2022-04-08 05:43:07,789 INFO L290 TraceCheckUtils]: 74: Hoare triple {43840#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {43840#true} is VALID [2022-04-08 05:43:07,789 INFO L290 TraceCheckUtils]: 73: Hoare triple {43840#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {43840#true} is VALID [2022-04-08 05:43:07,789 INFO L290 TraceCheckUtils]: 72: Hoare triple {43840#true} assume !!(~a~0 != ~b~0); {43840#true} is VALID [2022-04-08 05:43:07,789 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {43840#true} {43840#true} #72#return; {43840#true} is VALID [2022-04-08 05:43:07,789 INFO L290 TraceCheckUtils]: 70: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:07,789 INFO L290 TraceCheckUtils]: 69: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:07,789 INFO L290 TraceCheckUtils]: 68: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:07,789 INFO L272 TraceCheckUtils]: 67: Hoare triple {43840#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:43:07,789 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {43840#true} {43840#true} #70#return; {43840#true} is VALID [2022-04-08 05:43:07,789 INFO L290 TraceCheckUtils]: 65: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:07,789 INFO L290 TraceCheckUtils]: 64: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:07,790 INFO L290 TraceCheckUtils]: 63: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:07,790 INFO L272 TraceCheckUtils]: 62: Hoare triple {43840#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:43:07,790 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {43840#true} {43840#true} #68#return; {43840#true} is VALID [2022-04-08 05:43:07,790 INFO L290 TraceCheckUtils]: 60: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:07,790 INFO L290 TraceCheckUtils]: 59: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:07,790 INFO L290 TraceCheckUtils]: 58: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:07,790 INFO L272 TraceCheckUtils]: 57: Hoare triple {43840#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:43:07,790 INFO L290 TraceCheckUtils]: 56: Hoare triple {43840#true} assume !!(#t~post6 < 20);havoc #t~post6; {43840#true} is VALID [2022-04-08 05:43:07,790 INFO L290 TraceCheckUtils]: 55: Hoare triple {43840#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {43840#true} is VALID [2022-04-08 05:43:07,790 INFO L290 TraceCheckUtils]: 54: Hoare triple {43840#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {43840#true} is VALID [2022-04-08 05:43:07,790 INFO L290 TraceCheckUtils]: 53: Hoare triple {43840#true} assume !!(~a~0 != ~b~0); {43840#true} is VALID [2022-04-08 05:43:07,790 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {43840#true} {43840#true} #72#return; {43840#true} is VALID [2022-04-08 05:43:07,790 INFO L290 TraceCheckUtils]: 51: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:07,790 INFO L290 TraceCheckUtils]: 50: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:07,790 INFO L290 TraceCheckUtils]: 49: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:07,790 INFO L272 TraceCheckUtils]: 48: Hoare triple {43840#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:43:07,790 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {43840#true} {43840#true} #70#return; {43840#true} is VALID [2022-04-08 05:43:07,790 INFO L290 TraceCheckUtils]: 46: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:07,791 INFO L290 TraceCheckUtils]: 45: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:07,791 INFO L290 TraceCheckUtils]: 44: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:07,791 INFO L272 TraceCheckUtils]: 43: Hoare triple {43840#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:43:07,791 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {43840#true} {43840#true} #68#return; {43840#true} is VALID [2022-04-08 05:43:07,791 INFO L290 TraceCheckUtils]: 41: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:07,791 INFO L290 TraceCheckUtils]: 40: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:07,791 INFO L290 TraceCheckUtils]: 39: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:07,791 INFO L272 TraceCheckUtils]: 38: Hoare triple {43840#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:43:07,791 INFO L290 TraceCheckUtils]: 37: Hoare triple {43840#true} assume !!(#t~post6 < 20);havoc #t~post6; {43840#true} is VALID [2022-04-08 05:43:07,791 INFO L290 TraceCheckUtils]: 36: Hoare triple {43840#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {43840#true} is VALID [2022-04-08 05:43:07,791 INFO L290 TraceCheckUtils]: 35: Hoare triple {43840#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {43840#true} is VALID [2022-04-08 05:43:07,791 INFO L290 TraceCheckUtils]: 34: Hoare triple {43840#true} assume !!(~a~0 != ~b~0); {43840#true} is VALID [2022-04-08 05:43:07,791 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {43840#true} {43840#true} #72#return; {43840#true} is VALID [2022-04-08 05:43:07,791 INFO L290 TraceCheckUtils]: 32: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:07,791 INFO L290 TraceCheckUtils]: 31: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:07,791 INFO L290 TraceCheckUtils]: 30: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:07,791 INFO L272 TraceCheckUtils]: 29: Hoare triple {43840#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:43:07,791 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {43840#true} {43840#true} #70#return; {43840#true} is VALID [2022-04-08 05:43:07,792 INFO L290 TraceCheckUtils]: 27: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:07,792 INFO L290 TraceCheckUtils]: 26: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:07,792 INFO L290 TraceCheckUtils]: 25: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:07,792 INFO L272 TraceCheckUtils]: 24: Hoare triple {43840#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:43:07,792 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {43840#true} {43840#true} #68#return; {43840#true} is VALID [2022-04-08 05:43:07,792 INFO L290 TraceCheckUtils]: 22: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:07,792 INFO L290 TraceCheckUtils]: 21: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:07,792 INFO L290 TraceCheckUtils]: 20: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:07,792 INFO L272 TraceCheckUtils]: 19: Hoare triple {43840#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:43:07,792 INFO L290 TraceCheckUtils]: 18: Hoare triple {43840#true} assume !!(#t~post6 < 20);havoc #t~post6; {43840#true} is VALID [2022-04-08 05:43:07,792 INFO L290 TraceCheckUtils]: 17: Hoare triple {43840#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {43840#true} is VALID [2022-04-08 05:43:07,792 INFO L290 TraceCheckUtils]: 16: Hoare triple {43840#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {43840#true} is VALID [2022-04-08 05:43:07,792 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {43840#true} {43840#true} #66#return; {43840#true} is VALID [2022-04-08 05:43:07,792 INFO L290 TraceCheckUtils]: 14: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:07,792 INFO L290 TraceCheckUtils]: 13: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:07,792 INFO L290 TraceCheckUtils]: 12: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:07,792 INFO L272 TraceCheckUtils]: 11: Hoare triple {43840#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:43:07,792 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {43840#true} {43840#true} #64#return; {43840#true} is VALID [2022-04-08 05:43:07,792 INFO L290 TraceCheckUtils]: 9: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:07,793 INFO L290 TraceCheckUtils]: 8: Hoare triple {43840#true} assume !(0 == ~cond); {43840#true} is VALID [2022-04-08 05:43:07,793 INFO L290 TraceCheckUtils]: 7: Hoare triple {43840#true} ~cond := #in~cond; {43840#true} is VALID [2022-04-08 05:43:07,793 INFO L272 TraceCheckUtils]: 6: Hoare triple {43840#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43840#true} is VALID [2022-04-08 05:43:07,793 INFO L290 TraceCheckUtils]: 5: Hoare triple {43840#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; {43840#true} is VALID [2022-04-08 05:43:07,793 INFO L272 TraceCheckUtils]: 4: Hoare triple {43840#true} call #t~ret7 := main(); {43840#true} is VALID [2022-04-08 05:43:07,793 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43840#true} {43840#true} #82#return; {43840#true} is VALID [2022-04-08 05:43:07,793 INFO L290 TraceCheckUtils]: 2: Hoare triple {43840#true} assume true; {43840#true} is VALID [2022-04-08 05:43:07,793 INFO L290 TraceCheckUtils]: 1: Hoare triple {43840#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; {43840#true} is VALID [2022-04-08 05:43:07,793 INFO L272 TraceCheckUtils]: 0: Hoare triple {43840#true} call ULTIMATE.init(); {43840#true} is VALID [2022-04-08 05:43:07,793 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 109 proven. 8 refuted. 0 times theorem prover too weak. 283 trivial. 0 not checked. [2022-04-08 05:43:07,793 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:43:07,793 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [694496249] [2022-04-08 05:43:07,793 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:43:07,794 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2115179039] [2022-04-08 05:43:07,794 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2115179039] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:43:07,794 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:43:07,794 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-08 05:43:07,794 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:43:07,794 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [980245281] [2022-04-08 05:43:07,794 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [980245281] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:43:07,794 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:43:07,794 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 05:43:07,794 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2112428629] [2022-04-08 05:43:07,794 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:43:07,795 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 104 [2022-04-08 05:43:07,795 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:43:07,795 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 05:43:07,875 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-08 05:43:07,875 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 05:43:07,875 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:43:07,875 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 05:43:07,876 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=163, Unknown=0, NotChecked=0, Total=210 [2022-04-08 05:43:07,876 INFO L87 Difference]: Start difference. First operand 415 states and 482 transitions. Second operand has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 05:43:11,717 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:43:11,718 INFO L93 Difference]: Finished difference Result 462 states and 538 transitions. [2022-04-08 05:43:11,718 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 05:43:11,718 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 104 [2022-04-08 05:43:11,718 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:43:11,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 05:43:11,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 108 transitions. [2022-04-08 05:43:11,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 05:43:11,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 108 transitions. [2022-04-08 05:43:11,720 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 108 transitions. [2022-04-08 05:43:11,866 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-08 05:43:11,882 INFO L225 Difference]: With dead ends: 462 [2022-04-08 05:43:11,882 INFO L226 Difference]: Without dead ends: 460 [2022-04-08 05:43:11,882 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 209 GetRequests, 189 SyntacticMatches, 5 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=60, Invalid=212, Unknown=0, NotChecked=0, Total=272 [2022-04-08 05:43:11,883 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 15 mSDsluCounter, 224 mSDsCounter, 0 mSdLazyCounter, 588 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 274 SdHoareTripleChecker+Invalid, 601 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 588 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-08 05:43:11,883 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 274 Invalid, 601 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 588 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-08 05:43:11,884 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 460 states. [2022-04-08 05:43:12,471 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 460 to 406. [2022-04-08 05:43:12,472 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:43:12,472 INFO L82 GeneralOperation]: Start isEquivalent. First operand 460 states. Second operand has 406 states, 267 states have (on average 1.1310861423220975) internal successors, (302), 273 states have internal predecessors, (302), 85 states have call successors, (85), 54 states have call predecessors, (85), 53 states have return successors, (81), 78 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-08 05:43:12,473 INFO L74 IsIncluded]: Start isIncluded. First operand 460 states. Second operand has 406 states, 267 states have (on average 1.1310861423220975) internal successors, (302), 273 states have internal predecessors, (302), 85 states have call successors, (85), 54 states have call predecessors, (85), 53 states have return successors, (81), 78 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-08 05:43:12,473 INFO L87 Difference]: Start difference. First operand 460 states. Second operand has 406 states, 267 states have (on average 1.1310861423220975) internal successors, (302), 273 states have internal predecessors, (302), 85 states have call successors, (85), 54 states have call predecessors, (85), 53 states have return successors, (81), 78 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-08 05:43:12,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:43:12,484 INFO L93 Difference]: Finished difference Result 460 states and 536 transitions. [2022-04-08 05:43:12,484 INFO L276 IsEmpty]: Start isEmpty. Operand 460 states and 536 transitions. [2022-04-08 05:43:12,485 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:43:12,485 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:43:12,485 INFO L74 IsIncluded]: Start isIncluded. First operand has 406 states, 267 states have (on average 1.1310861423220975) internal successors, (302), 273 states have internal predecessors, (302), 85 states have call successors, (85), 54 states have call predecessors, (85), 53 states have return successors, (81), 78 states have call predecessors, (81), 81 states have call successors, (81) Second operand 460 states. [2022-04-08 05:43:12,486 INFO L87 Difference]: Start difference. First operand has 406 states, 267 states have (on average 1.1310861423220975) internal successors, (302), 273 states have internal predecessors, (302), 85 states have call successors, (85), 54 states have call predecessors, (85), 53 states have return successors, (81), 78 states have call predecessors, (81), 81 states have call successors, (81) Second operand 460 states. [2022-04-08 05:43:12,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:43:12,496 INFO L93 Difference]: Finished difference Result 460 states and 536 transitions. [2022-04-08 05:43:12,496 INFO L276 IsEmpty]: Start isEmpty. Operand 460 states and 536 transitions. [2022-04-08 05:43:12,497 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:43:12,497 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:43:12,497 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:43:12,497 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:43:12,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 406 states, 267 states have (on average 1.1310861423220975) internal successors, (302), 273 states have internal predecessors, (302), 85 states have call successors, (85), 54 states have call predecessors, (85), 53 states have return successors, (81), 78 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-08 05:43:12,505 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 406 states to 406 states and 468 transitions. [2022-04-08 05:43:12,506 INFO L78 Accepts]: Start accepts. Automaton has 406 states and 468 transitions. Word has length 104 [2022-04-08 05:43:12,506 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:43:12,506 INFO L478 AbstractCegarLoop]: Abstraction has 406 states and 468 transitions. [2022-04-08 05:43:12,506 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 10 states have internal predecessors, (34), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 05:43:12,506 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 406 states and 468 transitions.