/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 12:21:05,744 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 12:21:05,746 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 12:21:05,777 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 12:21:05,778 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 12:21:05,778 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 12:21:05,779 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 12:21:05,780 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 12:21:05,781 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 12:21:05,782 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 12:21:05,782 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 12:21:05,783 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 12:21:05,784 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 12:21:05,784 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 12:21:05,785 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 12:21:05,786 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 12:21:05,786 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 12:21:05,793 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 12:21:05,794 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 12:21:05,796 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 12:21:05,796 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 12:21:05,797 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 12:21:05,798 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 12:21:05,798 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 12:21:05,799 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 12:21:05,800 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 12:21:05,801 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 12:21:05,801 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 12:21:05,801 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 12:21:05,802 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 12:21:05,802 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 12:21:05,802 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 12:21:05,803 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 12:21:05,803 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 12:21:05,804 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 12:21:05,804 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 12:21:05,805 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 12:21:05,805 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 12:21:05,805 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 12:21:05,805 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 12:21:05,806 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 12:21:05,806 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 12:21:05,807 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 12:21:05,812 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 12:21:05,812 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 12:21:05,813 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 12:21:05,813 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 12:21:05,813 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 12:21:05,814 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 12:21:05,814 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 12:21:05,814 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 12:21:05,814 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 12:21:05,814 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 12:21:05,814 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 12:21:05,814 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 12:21:05,815 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 12:21:05,815 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 12:21:05,815 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 12:21:05,815 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 12:21:05,815 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 12:21:05,815 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 12:21:05,815 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 12:21:05,816 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 12:21:05,816 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 12:21:05,816 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 12:21:05,816 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 12:21:05,941 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 12:21:05,954 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 12:21:05,956 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 12:21:05,956 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 12:21:05,957 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 12:21:05,957 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound20.c [2022-04-08 12:21:06,013 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9455e3652/95630792462e4f85a748b6ad8f694cf0/FLAG788b621b9 [2022-04-08 12:21:06,450 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 12:21:06,450 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound20.c [2022-04-08 12:21:06,455 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9455e3652/95630792462e4f85a748b6ad8f694cf0/FLAG788b621b9 [2022-04-08 12:21:06,474 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9455e3652/95630792462e4f85a748b6ad8f694cf0 [2022-04-08 12:21:06,476 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 12:21:06,479 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 12:21:06,493 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 12:21:06,493 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 12:21:06,495 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 12:21:06,505 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 12:21:06" (1/1) ... [2022-04-08 12:21:06,505 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@642a19af and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:21:06, skipping insertion in model container [2022-04-08 12:21:06,505 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 12:21:06" (1/1) ... [2022-04-08 12:21:06,509 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 12:21:06,533 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 12:21:06,779 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/egcd2-ll_valuebound20.c[490,503] [2022-04-08 12:21:06,819 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 12:21:06,825 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 12:21:06,836 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/egcd2-ll_valuebound20.c[490,503] [2022-04-08 12:21:06,856 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 12:21:06,867 INFO L208 MainTranslator]: Completed translation [2022-04-08 12:21:06,868 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:21:06 WrapperNode [2022-04-08 12:21:06,868 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 12:21:06,869 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 12:21:06,869 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 12:21:06,869 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 12:21:06,877 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:21:06" (1/1) ... [2022-04-08 12:21:06,877 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:21:06" (1/1) ... [2022-04-08 12:21:06,889 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:21:06" (1/1) ... [2022-04-08 12:21:06,889 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:21:06" (1/1) ... [2022-04-08 12:21:06,897 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:21:06" (1/1) ... [2022-04-08 12:21:06,900 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:21:06" (1/1) ... [2022-04-08 12:21:06,901 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:21:06" (1/1) ... [2022-04-08 12:21:06,902 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 12:21:06,903 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 12:21:06,903 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 12:21:06,903 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 12:21:06,904 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:21:06" (1/1) ... [2022-04-08 12:21:06,908 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 12:21:06,914 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:21:06,934 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 12:21:06,936 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 12:21:06,959 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 12:21:06,959 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 12:21:06,959 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 12:21:06,959 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 12:21:06,960 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 12:21:06,960 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 12:21:06,960 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 12:21:06,960 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 12:21:06,960 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 12:21:06,960 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 12:21:06,960 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 12:21:06,960 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 12:21:06,960 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 12:21:06,960 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 12:21:06,960 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 12:21:06,961 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 12:21:06,961 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 12:21:06,961 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 12:21:06,961 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 12:21:06,961 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 12:21:07,000 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 12:21:07,001 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 12:21:07,134 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 12:21:07,139 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 12:21:07,139 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 12:21:07,140 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 12:21:07 BoogieIcfgContainer [2022-04-08 12:21:07,140 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 12:21:07,141 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 12:21:07,142 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 12:21:07,143 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 12:21:07,144 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 12:21:06" (1/3) ... [2022-04-08 12:21:07,144 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@23195803 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 12:21:07, skipping insertion in model container [2022-04-08 12:21:07,144 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:21:06" (2/3) ... [2022-04-08 12:21:07,144 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@23195803 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 12:21:07, skipping insertion in model container [2022-04-08 12:21:07,144 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 12:21:07" (3/3) ... [2022-04-08 12:21:07,145 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll_valuebound20.c [2022-04-08 12:21:07,148 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 12:21:07,148 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 12:21:07,173 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 12:21:07,176 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 12:21:07,177 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 12:21:07,188 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 12:21:07,194 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 12:21:07,194 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:21:07,194 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 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 12:21:07,195 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:21:07,198 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:21:07,198 INFO L85 PathProgramCache]: Analyzing trace with hash -587582002, now seen corresponding path program 1 times [2022-04-08 12:21:07,202 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:21:07,203 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [50822942] [2022-04-08 12:21:07,209 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:21:07,210 INFO L85 PathProgramCache]: Analyzing trace with hash -587582002, now seen corresponding path program 2 times [2022-04-08 12:21:07,211 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:21:07,212 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [134839137] [2022-04-08 12:21:07,212 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:21:07,212 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:21:07,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:21:07,384 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 12:21:07,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:21:07,408 INFO L290 TraceCheckUtils]: 0: Hoare triple {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-08 12:21:07,408 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-08 12:21:07,408 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-08 12:21:07,409 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 12:21:07,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:21:07,431 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:21:07,432 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:21:07,432 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:21:07,432 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-08 12:21:07,433 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 12:21:07,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:21:07,441 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:21:07,442 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:21:07,442 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:21:07,442 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-08 12:21:07,442 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 12:21:07,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:21:07,450 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:21:07,450 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:21:07,451 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:21:07,451 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-08 12:21:07,451 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 12:21:07,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:21:07,463 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:21:07,464 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:21:07,465 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:21:07,465 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-08 12:21:07,465 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-08 12:21:07,466 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:21:07,471 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:21:07,471 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:21:07,472 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:21:07,472 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-08 12:21:07,472 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-04-08 12:21:07,473 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:21:07,479 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:21:07,480 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:21:07,480 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:21:07,480 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-08 12:21:07,481 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 12:21:07,481 INFO L290 TraceCheckUtils]: 1: Hoare triple {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-08 12:21:07,482 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-08 12:21:07,482 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-08 12:21:07,482 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-08 12:21:07,483 INFO L290 TraceCheckUtils]: 5: Hoare triple {43#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43#true} is VALID [2022-04-08 12:21:07,483 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {43#true} is VALID [2022-04-08 12:21:07,483 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:21:07,483 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:21:07,484 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:21:07,484 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-08 12:21:07,485 INFO L290 TraceCheckUtils]: 11: Hoare triple {44#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {44#false} is VALID [2022-04-08 12:21:07,485 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {43#true} is VALID [2022-04-08 12:21:07,486 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:21:07,486 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:21:07,486 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:21:07,487 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-08 12:21:07,487 INFO L272 TraceCheckUtils]: 17: Hoare triple {44#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-08 12:21:07,487 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:21:07,488 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:21:07,488 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:21:07,490 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-08 12:21:07,490 INFO L272 TraceCheckUtils]: 22: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-08 12:21:07,490 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:21:07,491 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:21:07,491 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:21:07,492 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-08 12:21:07,492 INFO L290 TraceCheckUtils]: 27: Hoare triple {44#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {44#false} is VALID [2022-04-08 12:21:07,493 INFO L272 TraceCheckUtils]: 28: Hoare triple {44#false} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {43#true} is VALID [2022-04-08 12:21:07,493 INFO L290 TraceCheckUtils]: 29: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:21:07,494 INFO L290 TraceCheckUtils]: 30: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:21:07,494 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:21:07,494 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-08 12:21:07,494 INFO L272 TraceCheckUtils]: 33: Hoare triple {44#false} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {43#true} is VALID [2022-04-08 12:21:07,495 INFO L290 TraceCheckUtils]: 34: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:21:07,495 INFO L290 TraceCheckUtils]: 35: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:21:07,495 INFO L290 TraceCheckUtils]: 36: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:21:07,495 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-08 12:21:07,496 INFO L290 TraceCheckUtils]: 38: Hoare triple {44#false} assume !true; {44#false} is VALID [2022-04-08 12:21:07,496 INFO L272 TraceCheckUtils]: 39: Hoare triple {44#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {44#false} is VALID [2022-04-08 12:21:07,496 INFO L290 TraceCheckUtils]: 40: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-08 12:21:07,497 INFO L290 TraceCheckUtils]: 41: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-08 12:21:07,497 INFO L290 TraceCheckUtils]: 42: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-08 12:21:07,500 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-08 12:21:07,500 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:21:07,502 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [134839137] [2022-04-08 12:21:07,503 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [134839137] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:21:07,503 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:21:07,503 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 12:21:07,505 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:21:07,505 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [50822942] [2022-04-08 12:21:07,505 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [50822942] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:21:07,505 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:21:07,505 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 12:21:07,505 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1693235072] [2022-04-08 12:21:07,506 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:21:07,509 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-08 12:21:07,511 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:21:07,513 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:21:07,553 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:21:07,553 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 12:21:07,553 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:21:07,577 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 12:21:07,577 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 12:21:07,579 INFO L87 Difference]: Start difference. First operand has 40 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:21:07,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:07,751 INFO L93 Difference]: Finished difference Result 73 states and 118 transitions. [2022-04-08 12:21:07,751 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 12:21:07,751 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-08 12:21:07,752 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:21:07,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:21:07,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-08 12:21:07,759 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:21:07,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-08 12:21:07,764 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 118 transitions. [2022-04-08 12:21:07,867 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:21:07,873 INFO L225 Difference]: With dead ends: 73 [2022-04-08 12:21:07,873 INFO L226 Difference]: Without dead ends: 35 [2022-04-08 12:21:07,875 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 21 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 12:21:07,877 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 14 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 42 SdHoareTripleChecker+Invalid, 27 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 14 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:21:07,878 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 42 Invalid, 27 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 14 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:21:07,888 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-08 12:21:07,898 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-08 12:21:07,898 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:21:07,898 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 12:21:07,899 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 12:21:07,899 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 12:21:07,903 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:07,903 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-08 12:21:07,903 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-08 12:21:07,904 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:21:07,904 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:21:07,904 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 35 states. [2022-04-08 12:21:07,905 INFO L87 Difference]: Start difference. First operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 35 states. [2022-04-08 12:21:07,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:07,907 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-08 12:21:07,908 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-08 12:21:07,908 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:21:07,908 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:21:07,908 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:21:07,908 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:21:07,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 12:21:07,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 46 transitions. [2022-04-08 12:21:07,912 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 46 transitions. Word has length 43 [2022-04-08 12:21:07,912 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:21:07,912 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 46 transitions. [2022-04-08 12:21:07,912 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:21:07,912 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 46 transitions. [2022-04-08 12:21:07,955 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 12:21:07,955 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-08 12:21:07,956 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 12:21:07,956 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:21:07,957 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:21:07,957 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 12:21:07,957 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:21:07,957 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:21:07,958 INFO L85 PathProgramCache]: Analyzing trace with hash 987777007, now seen corresponding path program 1 times [2022-04-08 12:21:07,958 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:21:07,958 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [456270385] [2022-04-08 12:21:07,958 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:21:07,958 INFO L85 PathProgramCache]: Analyzing trace with hash 987777007, now seen corresponding path program 2 times [2022-04-08 12:21:07,958 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:21:07,959 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1285797621] [2022-04-08 12:21:07,959 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:21:07,959 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:21:07,976 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:21:07,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1862406175] [2022-04-08 12:21:07,977 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:21:07,977 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:21:07,977 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:21:07,978 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 12:21:07,985 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 12:21:08,035 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:21:08,036 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:21:08,037 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 12:21:08,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:21:08,072 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:21:08,269 INFO L272 TraceCheckUtils]: 0: Hoare triple {361#true} call ULTIMATE.init(); {361#true} is VALID [2022-04-08 12:21:08,270 INFO L290 TraceCheckUtils]: 1: Hoare triple {361#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {361#true} is VALID [2022-04-08 12:21:08,270 INFO L290 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:21:08,270 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #103#return; {361#true} is VALID [2022-04-08 12:21:08,270 INFO L272 TraceCheckUtils]: 4: Hoare triple {361#true} call #t~ret6 := main(); {361#true} is VALID [2022-04-08 12:21:08,270 INFO L290 TraceCheckUtils]: 5: Hoare triple {361#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {361#true} is VALID [2022-04-08 12:21:08,270 INFO L272 TraceCheckUtils]: 6: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {361#true} is VALID [2022-04-08 12:21:08,271 INFO L290 TraceCheckUtils]: 7: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:21:08,271 INFO L290 TraceCheckUtils]: 8: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:21:08,271 INFO L290 TraceCheckUtils]: 9: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:21:08,271 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {361#true} {361#true} #79#return; {361#true} is VALID [2022-04-08 12:21:08,271 INFO L290 TraceCheckUtils]: 11: Hoare triple {361#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {361#true} is VALID [2022-04-08 12:21:08,271 INFO L272 TraceCheckUtils]: 12: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {361#true} is VALID [2022-04-08 12:21:08,272 INFO L290 TraceCheckUtils]: 13: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:21:08,272 INFO L290 TraceCheckUtils]: 14: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:21:08,272 INFO L290 TraceCheckUtils]: 15: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:21:08,272 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {361#true} {361#true} #81#return; {361#true} is VALID [2022-04-08 12:21:08,272 INFO L272 TraceCheckUtils]: 17: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 12:21:08,272 INFO L290 TraceCheckUtils]: 18: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:21:08,272 INFO L290 TraceCheckUtils]: 19: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:21:08,272 INFO L290 TraceCheckUtils]: 20: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:21:08,273 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {361#true} {361#true} #83#return; {361#true} is VALID [2022-04-08 12:21:08,273 INFO L272 TraceCheckUtils]: 22: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 12:21:08,273 INFO L290 TraceCheckUtils]: 23: Hoare triple {361#true} ~cond := #in~cond; {435#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:21:08,273 INFO L290 TraceCheckUtils]: 24: Hoare triple {435#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:21:08,274 INFO L290 TraceCheckUtils]: 25: Hoare triple {439#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:21:08,274 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {439#(not (= |assume_abort_if_not_#in~cond| 0))} {361#true} #85#return; {446#(<= 1 main_~y~0)} is VALID [2022-04-08 12:21:08,275 INFO L290 TraceCheckUtils]: 27: Hoare triple {446#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:21:08,275 INFO L272 TraceCheckUtils]: 28: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-08 12:21:08,275 INFO L290 TraceCheckUtils]: 29: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:21:08,277 INFO L290 TraceCheckUtils]: 30: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:21:08,277 INFO L290 TraceCheckUtils]: 31: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:21:08,278 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #87#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:21:08,280 INFO L272 TraceCheckUtils]: 33: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-08 12:21:08,280 INFO L290 TraceCheckUtils]: 34: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:21:08,280 INFO L290 TraceCheckUtils]: 35: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:21:08,281 INFO L290 TraceCheckUtils]: 36: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:21:08,282 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #89#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:21:08,282 INFO L290 TraceCheckUtils]: 38: Hoare triple {450#(<= 1 main_~b~0)} assume !false; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:21:08,283 INFO L290 TraceCheckUtils]: 39: Hoare triple {450#(<= 1 main_~b~0)} assume !(0 != ~b~0); {362#false} is VALID [2022-04-08 12:21:08,283 INFO L272 TraceCheckUtils]: 40: Hoare triple {362#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {362#false} is VALID [2022-04-08 12:21:08,283 INFO L290 TraceCheckUtils]: 41: Hoare triple {362#false} ~cond := #in~cond; {362#false} is VALID [2022-04-08 12:21:08,283 INFO L290 TraceCheckUtils]: 42: Hoare triple {362#false} assume 0 == ~cond; {362#false} is VALID [2022-04-08 12:21:08,283 INFO L290 TraceCheckUtils]: 43: Hoare triple {362#false} assume !false; {362#false} is VALID [2022-04-08 12:21:08,284 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-08 12:21:08,284 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:21:08,546 INFO L290 TraceCheckUtils]: 43: Hoare triple {362#false} assume !false; {362#false} is VALID [2022-04-08 12:21:08,546 INFO L290 TraceCheckUtils]: 42: Hoare triple {362#false} assume 0 == ~cond; {362#false} is VALID [2022-04-08 12:21:08,546 INFO L290 TraceCheckUtils]: 41: Hoare triple {362#false} ~cond := #in~cond; {362#false} is VALID [2022-04-08 12:21:08,546 INFO L272 TraceCheckUtils]: 40: Hoare triple {362#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {362#false} is VALID [2022-04-08 12:21:08,547 INFO L290 TraceCheckUtils]: 39: Hoare triple {450#(<= 1 main_~b~0)} assume !(0 != ~b~0); {362#false} is VALID [2022-04-08 12:21:08,547 INFO L290 TraceCheckUtils]: 38: Hoare triple {450#(<= 1 main_~b~0)} assume !false; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:21:08,548 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #89#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:21:08,548 INFO L290 TraceCheckUtils]: 36: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:21:08,548 INFO L290 TraceCheckUtils]: 35: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:21:08,548 INFO L290 TraceCheckUtils]: 34: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:21:08,548 INFO L272 TraceCheckUtils]: 33: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-08 12:21:08,549 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #87#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:21:08,549 INFO L290 TraceCheckUtils]: 31: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:21:08,549 INFO L290 TraceCheckUtils]: 30: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:21:08,549 INFO L290 TraceCheckUtils]: 29: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:21:08,549 INFO L272 TraceCheckUtils]: 28: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-08 12:21:08,549 INFO L290 TraceCheckUtils]: 27: Hoare triple {446#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:21:08,550 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {439#(not (= |assume_abort_if_not_#in~cond| 0))} {361#true} #85#return; {446#(<= 1 main_~y~0)} is VALID [2022-04-08 12:21:08,550 INFO L290 TraceCheckUtils]: 25: Hoare triple {439#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:21:08,551 INFO L290 TraceCheckUtils]: 24: Hoare triple {559#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:21:08,551 INFO L290 TraceCheckUtils]: 23: Hoare triple {361#true} ~cond := #in~cond; {559#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 12:21:08,551 INFO L272 TraceCheckUtils]: 22: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 12:21:08,551 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {361#true} {361#true} #83#return; {361#true} is VALID [2022-04-08 12:21:08,551 INFO L290 TraceCheckUtils]: 20: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:21:08,551 INFO L290 TraceCheckUtils]: 19: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:21:08,551 INFO L290 TraceCheckUtils]: 18: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:21:08,552 INFO L272 TraceCheckUtils]: 17: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 12:21:08,552 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {361#true} {361#true} #81#return; {361#true} is VALID [2022-04-08 12:21:08,552 INFO L290 TraceCheckUtils]: 15: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:21:08,552 INFO L290 TraceCheckUtils]: 14: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:21:08,552 INFO L290 TraceCheckUtils]: 13: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:21:08,552 INFO L272 TraceCheckUtils]: 12: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {361#true} is VALID [2022-04-08 12:21:08,552 INFO L290 TraceCheckUtils]: 11: Hoare triple {361#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {361#true} is VALID [2022-04-08 12:21:08,552 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {361#true} {361#true} #79#return; {361#true} is VALID [2022-04-08 12:21:08,552 INFO L290 TraceCheckUtils]: 9: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:21:08,552 INFO L290 TraceCheckUtils]: 8: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:21:08,552 INFO L290 TraceCheckUtils]: 7: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:21:08,553 INFO L272 TraceCheckUtils]: 6: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {361#true} is VALID [2022-04-08 12:21:08,553 INFO L290 TraceCheckUtils]: 5: Hoare triple {361#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {361#true} is VALID [2022-04-08 12:21:08,553 INFO L272 TraceCheckUtils]: 4: Hoare triple {361#true} call #t~ret6 := main(); {361#true} is VALID [2022-04-08 12:21:08,553 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #103#return; {361#true} is VALID [2022-04-08 12:21:08,553 INFO L290 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:21:08,553 INFO L290 TraceCheckUtils]: 1: Hoare triple {361#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {361#true} is VALID [2022-04-08 12:21:08,553 INFO L272 TraceCheckUtils]: 0: Hoare triple {361#true} call ULTIMATE.init(); {361#true} is VALID [2022-04-08 12:21:08,553 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-08 12:21:08,554 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:21:08,554 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1285797621] [2022-04-08 12:21:08,554 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:21:08,554 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1862406175] [2022-04-08 12:21:08,554 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1862406175] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:21:08,554 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:21:08,554 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-08 12:21:08,555 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:21:08,555 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [456270385] [2022-04-08 12:21:08,555 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [456270385] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:21:08,555 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:21:08,555 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:21:08,555 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [330817377] [2022-04-08 12:21:08,555 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:21:08,556 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-08 12:21:08,556 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:21:08,557 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:21:08,577 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 12:21:08,578 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 12:21:08,578 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:21:08,578 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 12:21:08,578 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-08 12:21:08,579 INFO L87 Difference]: Start difference. First operand 35 states and 46 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:21:08,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:08,821 INFO L93 Difference]: Finished difference Result 52 states and 69 transitions. [2022-04-08 12:21:08,821 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 12:21:08,821 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-08 12:21:08,821 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:21:08,822 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:21:08,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-08 12:21:08,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:21:08,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-08 12:21:08,826 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-08 12:21:08,875 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:21:08,876 INFO L225 Difference]: With dead ends: 52 [2022-04-08 12:21:08,877 INFO L226 Difference]: Without dead ends: 44 [2022-04-08 12:21:08,877 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 81 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:21:08,878 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 19 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 90 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 101 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 90 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:21:08,878 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 128 Invalid, 101 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 90 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:21:08,878 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-08 12:21:08,897 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-08 12:21:08,897 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:21:08,897 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 12:21:08,897 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 12:21:08,898 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 12:21:08,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:08,900 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-08 12:21:08,900 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-08 12:21:08,901 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:21:08,901 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:21:08,901 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 44 states. [2022-04-08 12:21:08,902 INFO L87 Difference]: Start difference. First operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 44 states. [2022-04-08 12:21:08,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:08,904 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-08 12:21:08,904 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-08 12:21:08,904 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:21:08,904 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:21:08,904 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:21:08,904 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:21:08,905 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 12:21:08,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 48 transitions. [2022-04-08 12:21:08,906 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 48 transitions. Word has length 44 [2022-04-08 12:21:08,906 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:21:08,906 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 48 transitions. [2022-04-08 12:21:08,907 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:21:08,907 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 48 transitions. [2022-04-08 12:21:08,947 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 12:21:08,947 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-04-08 12:21:08,948 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-08 12:21:08,948 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:21:08,948 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:21:08,965 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-08 12:21:09,161 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:21:09,161 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:21:09,162 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:21:09,162 INFO L85 PathProgramCache]: Analyzing trace with hash 561616070, now seen corresponding path program 1 times [2022-04-08 12:21:09,162 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:21:09,163 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2118433150] [2022-04-08 12:21:09,164 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:21:09,164 INFO L85 PathProgramCache]: Analyzing trace with hash 561616070, now seen corresponding path program 2 times [2022-04-08 12:21:09,164 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:21:09,164 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1981282160] [2022-04-08 12:21:09,164 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:21:09,164 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:21:09,177 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:21:09,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2088528778] [2022-04-08 12:21:09,177 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:21:09,177 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:21:09,177 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:21:09,178 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 12:21:09,207 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 12:21:09,227 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 12:21:09,227 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:21:09,227 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-08 12:21:09,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:21:09,236 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:21:09,344 INFO L272 TraceCheckUtils]: 0: Hoare triple {901#true} call ULTIMATE.init(); {901#true} is VALID [2022-04-08 12:21:09,344 INFO L290 TraceCheckUtils]: 1: Hoare triple {901#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {901#true} is VALID [2022-04-08 12:21:09,344 INFO L290 TraceCheckUtils]: 2: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:21:09,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {901#true} {901#true} #103#return; {901#true} is VALID [2022-04-08 12:21:09,344 INFO L272 TraceCheckUtils]: 4: Hoare triple {901#true} call #t~ret6 := main(); {901#true} is VALID [2022-04-08 12:21:09,344 INFO L290 TraceCheckUtils]: 5: Hoare triple {901#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {901#true} is VALID [2022-04-08 12:21:09,344 INFO L272 TraceCheckUtils]: 6: Hoare triple {901#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {901#true} is VALID [2022-04-08 12:21:09,344 INFO L290 TraceCheckUtils]: 7: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 12:21:09,345 INFO L290 TraceCheckUtils]: 8: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 12:21:09,345 INFO L290 TraceCheckUtils]: 9: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:21:09,345 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {901#true} {901#true} #79#return; {901#true} is VALID [2022-04-08 12:21:09,345 INFO L290 TraceCheckUtils]: 11: Hoare triple {901#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {901#true} is VALID [2022-04-08 12:21:09,345 INFO L272 TraceCheckUtils]: 12: Hoare triple {901#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {901#true} is VALID [2022-04-08 12:21:09,345 INFO L290 TraceCheckUtils]: 13: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 12:21:09,345 INFO L290 TraceCheckUtils]: 14: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 12:21:09,345 INFO L290 TraceCheckUtils]: 15: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:21:09,345 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {901#true} {901#true} #81#return; {901#true} is VALID [2022-04-08 12:21:09,345 INFO L272 TraceCheckUtils]: 17: Hoare triple {901#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {901#true} is VALID [2022-04-08 12:21:09,345 INFO L290 TraceCheckUtils]: 18: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 12:21:09,346 INFO L290 TraceCheckUtils]: 19: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 12:21:09,346 INFO L290 TraceCheckUtils]: 20: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:21:09,346 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {901#true} {901#true} #83#return; {901#true} is VALID [2022-04-08 12:21:09,346 INFO L272 TraceCheckUtils]: 22: Hoare triple {901#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {901#true} is VALID [2022-04-08 12:21:09,346 INFO L290 TraceCheckUtils]: 23: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 12:21:09,346 INFO L290 TraceCheckUtils]: 24: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 12:21:09,346 INFO L290 TraceCheckUtils]: 25: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:21:09,346 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {901#true} {901#true} #85#return; {901#true} is VALID [2022-04-08 12:21:09,346 INFO L290 TraceCheckUtils]: 27: Hoare triple {901#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {901#true} is VALID [2022-04-08 12:21:09,346 INFO L272 TraceCheckUtils]: 28: Hoare triple {901#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {901#true} is VALID [2022-04-08 12:21:09,346 INFO L290 TraceCheckUtils]: 29: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 12:21:09,346 INFO L290 TraceCheckUtils]: 30: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 12:21:09,347 INFO L290 TraceCheckUtils]: 31: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:21:09,347 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {901#true} {901#true} #87#return; {901#true} is VALID [2022-04-08 12:21:09,347 INFO L272 TraceCheckUtils]: 33: Hoare triple {901#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {901#true} is VALID [2022-04-08 12:21:09,347 INFO L290 TraceCheckUtils]: 34: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 12:21:09,347 INFO L290 TraceCheckUtils]: 35: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 12:21:09,347 INFO L290 TraceCheckUtils]: 36: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:21:09,347 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {901#true} {901#true} #89#return; {901#true} is VALID [2022-04-08 12:21:09,347 INFO L290 TraceCheckUtils]: 38: Hoare triple {901#true} assume !false; {901#true} is VALID [2022-04-08 12:21:09,348 INFO L290 TraceCheckUtils]: 39: Hoare triple {901#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 12:21:09,348 INFO L290 TraceCheckUtils]: 40: Hoare triple {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} assume !false; {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 12:21:09,349 INFO L272 TraceCheckUtils]: 41: Hoare triple {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:21:09,349 INFO L290 TraceCheckUtils]: 42: Hoare triple {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1034#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:21:09,349 INFO L290 TraceCheckUtils]: 43: Hoare triple {1034#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {902#false} is VALID [2022-04-08 12:21:09,349 INFO L290 TraceCheckUtils]: 44: Hoare triple {902#false} assume !false; {902#false} is VALID [2022-04-08 12:21:09,349 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-08 12:21:09,350 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:21:09,350 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:21:09,350 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1981282160] [2022-04-08 12:21:09,350 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:21:09,350 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2088528778] [2022-04-08 12:21:09,350 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2088528778] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:21:09,350 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:21:09,350 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:21:09,350 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:21:09,350 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2118433150] [2022-04-08 12:21:09,350 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2118433150] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:21:09,351 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:21:09,351 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:21:09,351 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [656132756] [2022-04-08 12:21:09,351 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:21:09,351 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-04-08 12:21:09,351 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:21:09,351 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 12:21:09,369 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 12:21:09,369 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:21:09,369 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:21:09,370 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:21:09,370 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:21:09,370 INFO L87 Difference]: Start difference. First operand 37 states and 48 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 12:21:09,546 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:09,546 INFO L93 Difference]: Finished difference Result 50 states and 65 transitions. [2022-04-08 12:21:09,546 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:21:09,547 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-04-08 12:21:09,547 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:21:09,547 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 12:21:09,548 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-08 12:21:09,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 12:21:09,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-08 12:21:09,550 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-08 12:21:09,600 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 12:21:09,601 INFO L225 Difference]: With dead ends: 50 [2022-04-08 12:21:09,601 INFO L226 Difference]: Without dead ends: 48 [2022-04-08 12:21:09,602 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 41 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 12:21:09,602 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 6 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 154 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:21:09,603 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 154 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:21:09,603 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-08 12:21:09,622 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 43. [2022-04-08 12:21:09,622 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:21:09,622 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:21:09,622 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:21:09,623 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:21:09,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:09,625 INFO L93 Difference]: Finished difference Result 48 states and 63 transitions. [2022-04-08 12:21:09,625 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2022-04-08 12:21:09,625 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:21:09,625 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:21:09,626 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 48 states. [2022-04-08 12:21:09,626 INFO L87 Difference]: Start difference. First operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 48 states. [2022-04-08 12:21:09,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:09,628 INFO L93 Difference]: Finished difference Result 48 states and 63 transitions. [2022-04-08 12:21:09,628 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2022-04-08 12:21:09,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:21:09,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:21:09,628 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:21:09,628 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:21:09,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:21:09,630 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 54 transitions. [2022-04-08 12:21:09,630 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 54 transitions. Word has length 45 [2022-04-08 12:21:09,630 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:21:09,630 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 54 transitions. [2022-04-08 12:21:09,630 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 12:21:09,630 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 54 transitions. [2022-04-08 12:21:09,679 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 12:21:09,679 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-08 12:21:09,680 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 12:21:09,680 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:21:09,680 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:21:09,696 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 12:21:09,896 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-08 12:21:09,896 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:21:09,897 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:21:09,897 INFO L85 PathProgramCache]: Analyzing trace with hash -680064098, now seen corresponding path program 1 times [2022-04-08 12:21:09,897 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:21:09,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1855288547] [2022-04-08 12:21:09,897 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:21:09,897 INFO L85 PathProgramCache]: Analyzing trace with hash -680064098, now seen corresponding path program 2 times [2022-04-08 12:21:09,897 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:21:09,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1534570066] [2022-04-08 12:21:09,898 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:21:09,898 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:21:09,910 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:21:09,910 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1466618181] [2022-04-08 12:21:09,910 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:21:09,910 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:21:09,910 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:21:09,911 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 12:21:09,924 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 12:21:09,952 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:21:09,952 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:21:09,953 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 12:21:09,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:21:09,963 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:21:10,122 INFO L272 TraceCheckUtils]: 0: Hoare triple {1324#true} call ULTIMATE.init(); {1324#true} is VALID [2022-04-08 12:21:10,122 INFO L290 TraceCheckUtils]: 1: Hoare triple {1324#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {1324#true} is VALID [2022-04-08 12:21:10,122 INFO L290 TraceCheckUtils]: 2: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:21:10,123 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1324#true} {1324#true} #103#return; {1324#true} is VALID [2022-04-08 12:21:10,123 INFO L272 TraceCheckUtils]: 4: Hoare triple {1324#true} call #t~ret6 := main(); {1324#true} is VALID [2022-04-08 12:21:10,123 INFO L290 TraceCheckUtils]: 5: Hoare triple {1324#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1324#true} is VALID [2022-04-08 12:21:10,123 INFO L272 TraceCheckUtils]: 6: Hoare triple {1324#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1324#true} is VALID [2022-04-08 12:21:10,123 INFO L290 TraceCheckUtils]: 7: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 12:21:10,123 INFO L290 TraceCheckUtils]: 8: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 12:21:10,123 INFO L290 TraceCheckUtils]: 9: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:21:10,123 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1324#true} {1324#true} #79#return; {1324#true} is VALID [2022-04-08 12:21:10,123 INFO L290 TraceCheckUtils]: 11: Hoare triple {1324#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1324#true} is VALID [2022-04-08 12:21:10,123 INFO L272 TraceCheckUtils]: 12: Hoare triple {1324#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1324#true} is VALID [2022-04-08 12:21:10,123 INFO L290 TraceCheckUtils]: 13: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 12:21:10,123 INFO L290 TraceCheckUtils]: 14: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 12:21:10,124 INFO L290 TraceCheckUtils]: 15: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:21:10,124 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1324#true} {1324#true} #81#return; {1324#true} is VALID [2022-04-08 12:21:10,124 INFO L272 TraceCheckUtils]: 17: Hoare triple {1324#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1324#true} is VALID [2022-04-08 12:21:10,124 INFO L290 TraceCheckUtils]: 18: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 12:21:10,124 INFO L290 TraceCheckUtils]: 19: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 12:21:10,124 INFO L290 TraceCheckUtils]: 20: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:21:10,124 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1324#true} {1324#true} #83#return; {1324#true} is VALID [2022-04-08 12:21:10,124 INFO L272 TraceCheckUtils]: 22: Hoare triple {1324#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1324#true} is VALID [2022-04-08 12:21:10,124 INFO L290 TraceCheckUtils]: 23: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 12:21:10,124 INFO L290 TraceCheckUtils]: 24: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 12:21:10,126 INFO L290 TraceCheckUtils]: 25: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:21:10,126 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1324#true} {1324#true} #85#return; {1324#true} is VALID [2022-04-08 12:21:10,126 INFO L290 TraceCheckUtils]: 27: Hoare triple {1324#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:21:10,126 INFO L272 TraceCheckUtils]: 28: Hoare triple {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1324#true} is VALID [2022-04-08 12:21:10,127 INFO L290 TraceCheckUtils]: 29: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 12:21:10,127 INFO L290 TraceCheckUtils]: 30: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 12:21:10,127 INFO L290 TraceCheckUtils]: 31: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:21:10,127 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1324#true} {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:21:10,128 INFO L272 TraceCheckUtils]: 33: Hoare triple {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1324#true} is VALID [2022-04-08 12:21:10,128 INFO L290 TraceCheckUtils]: 34: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 12:21:10,128 INFO L290 TraceCheckUtils]: 35: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 12:21:10,128 INFO L290 TraceCheckUtils]: 36: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:21:10,128 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1324#true} {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:21:10,129 INFO L290 TraceCheckUtils]: 38: Hoare triple {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:21:10,134 INFO L290 TraceCheckUtils]: 39: Hoare triple {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:21:10,134 INFO L290 TraceCheckUtils]: 40: Hoare triple {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:21:10,134 INFO L272 TraceCheckUtils]: 41: Hoare triple {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1324#true} is VALID [2022-04-08 12:21:10,135 INFO L290 TraceCheckUtils]: 42: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 12:21:10,138 INFO L290 TraceCheckUtils]: 43: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 12:21:10,138 INFO L290 TraceCheckUtils]: 44: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:21:10,139 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1324#true} {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:21:10,140 INFO L272 TraceCheckUtils]: 46: Hoare triple {1410#(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)); {1468#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:21:10,140 INFO L290 TraceCheckUtils]: 47: Hoare triple {1468#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1472#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:21:10,141 INFO L290 TraceCheckUtils]: 48: Hoare triple {1472#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1325#false} is VALID [2022-04-08 12:21:10,141 INFO L290 TraceCheckUtils]: 49: Hoare triple {1325#false} assume !false; {1325#false} is VALID [2022-04-08 12:21:10,142 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-08 12:21:10,142 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:21:10,142 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:21:10,142 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1534570066] [2022-04-08 12:21:10,142 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:21:10,143 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1466618181] [2022-04-08 12:21:10,143 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1466618181] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:21:10,143 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:21:10,143 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:21:10,143 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:21:10,143 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1855288547] [2022-04-08 12:21:10,145 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1855288547] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:21:10,145 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:21:10,145 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:21:10,145 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1496947397] [2022-04-08 12:21:10,145 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:21:10,145 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 50 [2022-04-08 12:21:10,146 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:21:10,146 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 12:21:10,168 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 12:21:10,169 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:21:10,169 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:21:10,169 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:21:10,169 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:21:10,170 INFO L87 Difference]: Start difference. First operand 43 states and 54 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 12:21:10,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:10,352 INFO L93 Difference]: Finished difference Result 58 states and 74 transitions. [2022-04-08 12:21:10,352 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:21:10,353 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 50 [2022-04-08 12:21:10,353 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:21:10,354 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 12:21:10,355 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:21:10,355 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 12:21:10,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:21:10,356 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-08 12:21:10,401 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 12:21:10,402 INFO L225 Difference]: With dead ends: 58 [2022-04-08 12:21:10,402 INFO L226 Difference]: Without dead ends: 56 [2022-04-08 12:21:10,403 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 46 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 12:21:10,403 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 7 mSDsluCounter, 113 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 161 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:21:10,403 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 161 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:21:10,404 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-08 12:21:10,433 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 55. [2022-04-08 12:21:10,433 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:21:10,433 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:21:10,434 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:21:10,434 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:21:10,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:10,436 INFO L93 Difference]: Finished difference Result 56 states and 72 transitions. [2022-04-08 12:21:10,436 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 72 transitions. [2022-04-08 12:21:10,436 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:21:10,436 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:21:10,436 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 56 states. [2022-04-08 12:21:10,437 INFO L87 Difference]: Start difference. First operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 56 states. [2022-04-08 12:21:10,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:10,438 INFO L93 Difference]: Finished difference Result 56 states and 72 transitions. [2022-04-08 12:21:10,439 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 72 transitions. [2022-04-08 12:21:10,439 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:21:10,439 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:21:10,439 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:21:10,439 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:21:10,439 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:21:10,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 71 transitions. [2022-04-08 12:21:10,441 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 71 transitions. Word has length 50 [2022-04-08 12:21:10,441 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:21:10,441 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 71 transitions. [2022-04-08 12:21:10,441 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 12:21:10,441 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 71 transitions. [2022-04-08 12:21:10,502 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:21:10,503 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 71 transitions. [2022-04-08 12:21:10,503 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-08 12:21:10,503 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:21:10,503 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:21:10,521 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-08 12:21:10,711 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:21:10,711 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:21:10,712 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:21:10,712 INFO L85 PathProgramCache]: Analyzing trace with hash 606548870, now seen corresponding path program 1 times [2022-04-08 12:21:10,712 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:21:10,712 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [865609948] [2022-04-08 12:21:10,712 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:21:10,712 INFO L85 PathProgramCache]: Analyzing trace with hash 606548870, now seen corresponding path program 2 times [2022-04-08 12:21:10,712 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:21:10,712 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [682246560] [2022-04-08 12:21:10,713 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:21:10,713 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:21:10,734 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:21:10,735 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [334764644] [2022-04-08 12:21:10,735 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:21:10,735 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:21:10,735 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:21:10,747 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 12:21:10,748 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 12:21:10,805 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:21:10,805 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:21:10,806 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 12:21:10,821 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:21:10,823 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:21:11,033 INFO L272 TraceCheckUtils]: 0: Hoare triple {1818#true} call ULTIMATE.init(); {1818#true} is VALID [2022-04-08 12:21:11,033 INFO L290 TraceCheckUtils]: 1: Hoare triple {1818#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {1818#true} is VALID [2022-04-08 12:21:11,033 INFO L290 TraceCheckUtils]: 2: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-08 12:21:11,033 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1818#true} {1818#true} #103#return; {1818#true} is VALID [2022-04-08 12:21:11,033 INFO L272 TraceCheckUtils]: 4: Hoare triple {1818#true} call #t~ret6 := main(); {1818#true} is VALID [2022-04-08 12:21:11,034 INFO L290 TraceCheckUtils]: 5: Hoare triple {1818#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1818#true} is VALID [2022-04-08 12:21:11,034 INFO L272 TraceCheckUtils]: 6: Hoare triple {1818#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1818#true} is VALID [2022-04-08 12:21:11,034 INFO L290 TraceCheckUtils]: 7: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-08 12:21:11,034 INFO L290 TraceCheckUtils]: 8: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-08 12:21:11,034 INFO L290 TraceCheckUtils]: 9: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-08 12:21:11,034 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1818#true} {1818#true} #79#return; {1818#true} is VALID [2022-04-08 12:21:11,034 INFO L290 TraceCheckUtils]: 11: Hoare triple {1818#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1818#true} is VALID [2022-04-08 12:21:11,034 INFO L272 TraceCheckUtils]: 12: Hoare triple {1818#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1818#true} is VALID [2022-04-08 12:21:11,034 INFO L290 TraceCheckUtils]: 13: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-08 12:21:11,034 INFO L290 TraceCheckUtils]: 14: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-08 12:21:11,034 INFO L290 TraceCheckUtils]: 15: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-08 12:21:11,034 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1818#true} {1818#true} #81#return; {1818#true} is VALID [2022-04-08 12:21:11,034 INFO L272 TraceCheckUtils]: 17: Hoare triple {1818#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1818#true} is VALID [2022-04-08 12:21:11,035 INFO L290 TraceCheckUtils]: 18: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-08 12:21:11,035 INFO L290 TraceCheckUtils]: 19: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-08 12:21:11,035 INFO L290 TraceCheckUtils]: 20: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-08 12:21:11,035 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1818#true} {1818#true} #83#return; {1818#true} is VALID [2022-04-08 12:21:11,035 INFO L272 TraceCheckUtils]: 22: Hoare triple {1818#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1818#true} is VALID [2022-04-08 12:21:11,035 INFO L290 TraceCheckUtils]: 23: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-08 12:21:11,035 INFO L290 TraceCheckUtils]: 24: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-08 12:21:11,035 INFO L290 TraceCheckUtils]: 25: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-08 12:21:11,035 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1818#true} {1818#true} #85#return; {1818#true} is VALID [2022-04-08 12:21:11,036 INFO L290 TraceCheckUtils]: 27: Hoare triple {1818#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:21:11,036 INFO L272 TraceCheckUtils]: 28: Hoare triple {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1818#true} is VALID [2022-04-08 12:21:11,036 INFO L290 TraceCheckUtils]: 29: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-08 12:21:11,036 INFO L290 TraceCheckUtils]: 30: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-08 12:21:11,036 INFO L290 TraceCheckUtils]: 31: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-08 12:21:11,036 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1818#true} {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #87#return; {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:21:11,037 INFO L272 TraceCheckUtils]: 33: Hoare triple {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1818#true} is VALID [2022-04-08 12:21:11,037 INFO L290 TraceCheckUtils]: 34: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-08 12:21:11,037 INFO L290 TraceCheckUtils]: 35: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-08 12:21:11,037 INFO L290 TraceCheckUtils]: 36: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-08 12:21:11,037 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1818#true} {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #89#return; {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:21:11,038 INFO L290 TraceCheckUtils]: 38: Hoare triple {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:21:11,038 INFO L290 TraceCheckUtils]: 39: Hoare triple {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:21:11,038 INFO L290 TraceCheckUtils]: 40: Hoare triple {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:21:11,038 INFO L272 TraceCheckUtils]: 41: Hoare triple {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1818#true} is VALID [2022-04-08 12:21:11,039 INFO L290 TraceCheckUtils]: 42: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-08 12:21:11,039 INFO L290 TraceCheckUtils]: 43: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-08 12:21:11,039 INFO L290 TraceCheckUtils]: 44: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-08 12:21:11,039 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1818#true} {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #91#return; {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:21:11,039 INFO L272 TraceCheckUtils]: 46: Hoare triple {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1818#true} is VALID [2022-04-08 12:21:11,039 INFO L290 TraceCheckUtils]: 47: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-08 12:21:11,040 INFO L290 TraceCheckUtils]: 48: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-08 12:21:11,040 INFO L290 TraceCheckUtils]: 49: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-08 12:21:11,040 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1818#true} {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #93#return; {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:21:11,041 INFO L272 TraceCheckUtils]: 51: Hoare triple {1904#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1977#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:21:11,041 INFO L290 TraceCheckUtils]: 52: Hoare triple {1977#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1981#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:21:11,041 INFO L290 TraceCheckUtils]: 53: Hoare triple {1981#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1819#false} is VALID [2022-04-08 12:21:11,042 INFO L290 TraceCheckUtils]: 54: Hoare triple {1819#false} assume !false; {1819#false} is VALID [2022-04-08 12:21:11,042 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-08 12:21:11,042 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:21:11,042 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:21:11,042 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [682246560] [2022-04-08 12:21:11,042 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:21:11,042 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [334764644] [2022-04-08 12:21:11,042 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [334764644] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:21:11,042 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:21:11,042 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:21:11,043 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:21:11,043 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [865609948] [2022-04-08 12:21:11,043 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [865609948] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:21:11,043 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:21:11,043 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:21:11,043 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [358172585] [2022-04-08 12:21:11,043 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:21:11,043 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 55 [2022-04-08 12:21:11,043 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:21:11,044 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 12:21:11,077 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:21:11,078 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:21:11,078 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:21:11,078 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:21:11,078 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:21:11,078 INFO L87 Difference]: Start difference. First operand 55 states and 71 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 12:21:11,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:11,273 INFO L93 Difference]: Finished difference Result 62 states and 77 transitions. [2022-04-08 12:21:11,273 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:21:11,274 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 55 [2022-04-08 12:21:11,274 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:21:11,274 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 12:21:11,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:21:11,275 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 12:21:11,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:21:11,276 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-08 12:21:11,328 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 12:21:11,330 INFO L225 Difference]: With dead ends: 62 [2022-04-08 12:21:11,330 INFO L226 Difference]: Without dead ends: 60 [2022-04-08 12:21:11,330 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 55 GetRequests, 51 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 12:21:11,331 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 7 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:21:11,331 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 151 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:21:11,331 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-08 12:21:11,365 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 59. [2022-04-08 12:21:11,366 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:21:11,366 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:21:11,366 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:21:11,366 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:21:11,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:11,368 INFO L93 Difference]: Finished difference Result 60 states and 75 transitions. [2022-04-08 12:21:11,368 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 75 transitions. [2022-04-08 12:21:11,368 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:21:11,368 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:21:11,369 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 60 states. [2022-04-08 12:21:11,369 INFO L87 Difference]: Start difference. First operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 60 states. [2022-04-08 12:21:11,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:11,371 INFO L93 Difference]: Finished difference Result 60 states and 75 transitions. [2022-04-08 12:21:11,371 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 75 transitions. [2022-04-08 12:21:11,371 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:21:11,371 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:21:11,371 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:21:11,371 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:21:11,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:21:11,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 74 transitions. [2022-04-08 12:21:11,373 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 74 transitions. Word has length 55 [2022-04-08 12:21:11,373 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:21:11,373 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 74 transitions. [2022-04-08 12:21:11,373 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 12:21:11,373 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 74 transitions. [2022-04-08 12:21:11,449 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 12:21:11,449 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 74 transitions. [2022-04-08 12:21:11,450 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-08 12:21:11,450 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:21:11,450 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:21:11,467 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 12:21:11,666 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:21:11,667 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:21:11,667 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:21:11,667 INFO L85 PathProgramCache]: Analyzing trace with hash 1584976990, now seen corresponding path program 1 times [2022-04-08 12:21:11,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:21:11,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1985237953] [2022-04-08 12:21:11,668 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:21:11,668 INFO L85 PathProgramCache]: Analyzing trace with hash 1584976990, now seen corresponding path program 2 times [2022-04-08 12:21:11,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:21:11,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [86107266] [2022-04-08 12:21:11,668 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:21:11,668 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:21:11,680 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:21:11,680 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [814123020] [2022-04-08 12:21:11,680 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:21:11,680 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:21:11,680 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:21:11,681 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 12:21:11,682 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 12:21:11,722 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:21:11,722 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:21:11,723 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 12:21:11,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:21:11,734 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:21:11,983 INFO L272 TraceCheckUtils]: 0: Hoare triple {2351#true} call ULTIMATE.init(); {2351#true} is VALID [2022-04-08 12:21:11,983 INFO L290 TraceCheckUtils]: 1: Hoare triple {2351#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {2351#true} is VALID [2022-04-08 12:21:11,983 INFO L290 TraceCheckUtils]: 2: Hoare triple {2351#true} assume true; {2351#true} is VALID [2022-04-08 12:21:11,984 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2351#true} {2351#true} #103#return; {2351#true} is VALID [2022-04-08 12:21:11,984 INFO L272 TraceCheckUtils]: 4: Hoare triple {2351#true} call #t~ret6 := main(); {2351#true} is VALID [2022-04-08 12:21:11,984 INFO L290 TraceCheckUtils]: 5: Hoare triple {2351#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2351#true} is VALID [2022-04-08 12:21:11,984 INFO L272 TraceCheckUtils]: 6: Hoare triple {2351#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2351#true} is VALID [2022-04-08 12:21:11,984 INFO L290 TraceCheckUtils]: 7: Hoare triple {2351#true} ~cond := #in~cond; {2351#true} is VALID [2022-04-08 12:21:11,984 INFO L290 TraceCheckUtils]: 8: Hoare triple {2351#true} assume !(0 == ~cond); {2351#true} is VALID [2022-04-08 12:21:11,984 INFO L290 TraceCheckUtils]: 9: Hoare triple {2351#true} assume true; {2351#true} is VALID [2022-04-08 12:21:11,995 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2351#true} {2351#true} #79#return; {2351#true} is VALID [2022-04-08 12:21:11,995 INFO L290 TraceCheckUtils]: 11: Hoare triple {2351#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2351#true} is VALID [2022-04-08 12:21:11,995 INFO L272 TraceCheckUtils]: 12: Hoare triple {2351#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2351#true} is VALID [2022-04-08 12:21:11,995 INFO L290 TraceCheckUtils]: 13: Hoare triple {2351#true} ~cond := #in~cond; {2351#true} is VALID [2022-04-08 12:21:11,995 INFO L290 TraceCheckUtils]: 14: Hoare triple {2351#true} assume !(0 == ~cond); {2351#true} is VALID [2022-04-08 12:21:11,995 INFO L290 TraceCheckUtils]: 15: Hoare triple {2351#true} assume true; {2351#true} is VALID [2022-04-08 12:21:11,995 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2351#true} {2351#true} #81#return; {2351#true} is VALID [2022-04-08 12:21:12,000 INFO L272 TraceCheckUtils]: 17: Hoare triple {2351#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2351#true} is VALID [2022-04-08 12:21:12,000 INFO L290 TraceCheckUtils]: 18: Hoare triple {2351#true} ~cond := #in~cond; {2351#true} is VALID [2022-04-08 12:21:12,001 INFO L290 TraceCheckUtils]: 19: Hoare triple {2351#true} assume !(0 == ~cond); {2351#true} is VALID [2022-04-08 12:21:12,001 INFO L290 TraceCheckUtils]: 20: Hoare triple {2351#true} assume true; {2351#true} is VALID [2022-04-08 12:21:12,001 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2351#true} {2351#true} #83#return; {2351#true} is VALID [2022-04-08 12:21:12,001 INFO L272 TraceCheckUtils]: 22: Hoare triple {2351#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2351#true} is VALID [2022-04-08 12:21:12,001 INFO L290 TraceCheckUtils]: 23: Hoare triple {2351#true} ~cond := #in~cond; {2351#true} is VALID [2022-04-08 12:21:12,001 INFO L290 TraceCheckUtils]: 24: Hoare triple {2351#true} assume !(0 == ~cond); {2351#true} is VALID [2022-04-08 12:21:12,001 INFO L290 TraceCheckUtils]: 25: Hoare triple {2351#true} assume true; {2351#true} is VALID [2022-04-08 12:21:12,001 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2351#true} {2351#true} #85#return; {2351#true} is VALID [2022-04-08 12:21:12,002 INFO L290 TraceCheckUtils]: 27: Hoare triple {2351#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-08 12:21:12,002 INFO L272 TraceCheckUtils]: 28: Hoare triple {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2351#true} is VALID [2022-04-08 12:21:12,002 INFO L290 TraceCheckUtils]: 29: Hoare triple {2351#true} ~cond := #in~cond; {2351#true} is VALID [2022-04-08 12:21:12,003 INFO L290 TraceCheckUtils]: 30: Hoare triple {2351#true} assume !(0 == ~cond); {2351#true} is VALID [2022-04-08 12:21:12,003 INFO L290 TraceCheckUtils]: 31: Hoare triple {2351#true} assume true; {2351#true} is VALID [2022-04-08 12:21:12,003 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2351#true} {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #87#return; {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-08 12:21:12,003 INFO L272 TraceCheckUtils]: 33: Hoare triple {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2351#true} is VALID [2022-04-08 12:21:12,003 INFO L290 TraceCheckUtils]: 34: Hoare triple {2351#true} ~cond := #in~cond; {2351#true} is VALID [2022-04-08 12:21:12,003 INFO L290 TraceCheckUtils]: 35: Hoare triple {2351#true} assume !(0 == ~cond); {2351#true} is VALID [2022-04-08 12:21:12,004 INFO L290 TraceCheckUtils]: 36: Hoare triple {2351#true} assume true; {2351#true} is VALID [2022-04-08 12:21:12,004 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2351#true} {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #89#return; {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-08 12:21:12,004 INFO L290 TraceCheckUtils]: 38: Hoare triple {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !false; {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-08 12:21:12,005 INFO L290 TraceCheckUtils]: 39: Hoare triple {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-08 12:21:12,005 INFO L290 TraceCheckUtils]: 40: Hoare triple {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !false; {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-08 12:21:12,005 INFO L272 TraceCheckUtils]: 41: Hoare triple {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2351#true} is VALID [2022-04-08 12:21:12,005 INFO L290 TraceCheckUtils]: 42: Hoare triple {2351#true} ~cond := #in~cond; {2351#true} is VALID [2022-04-08 12:21:12,005 INFO L290 TraceCheckUtils]: 43: Hoare triple {2351#true} assume !(0 == ~cond); {2351#true} is VALID [2022-04-08 12:21:12,006 INFO L290 TraceCheckUtils]: 44: Hoare triple {2351#true} assume true; {2351#true} is VALID [2022-04-08 12:21:12,006 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2351#true} {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #91#return; {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-08 12:21:12,006 INFO L272 TraceCheckUtils]: 46: Hoare triple {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~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)); {2351#true} is VALID [2022-04-08 12:21:12,007 INFO L290 TraceCheckUtils]: 47: Hoare triple {2351#true} ~cond := #in~cond; {2498#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:21:12,007 INFO L290 TraceCheckUtils]: 48: Hoare triple {2498#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2502#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:21:12,007 INFO L290 TraceCheckUtils]: 49: Hoare triple {2502#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2502#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:21:12,008 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2502#(not (= |__VERIFIER_assert_#in~cond| 0))} {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #93#return; {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-08 12:21:12,008 INFO L272 TraceCheckUtils]: 51: Hoare triple {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~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)); {2351#true} is VALID [2022-04-08 12:21:12,008 INFO L290 TraceCheckUtils]: 52: Hoare triple {2351#true} ~cond := #in~cond; {2498#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:21:12,008 INFO L290 TraceCheckUtils]: 53: Hoare triple {2498#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2502#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:21:12,009 INFO L290 TraceCheckUtils]: 54: Hoare triple {2502#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2502#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:21:12,009 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2502#(not (= |__VERIFIER_assert_#in~cond| 0))} {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #95#return; {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-08 12:21:12,010 INFO L272 TraceCheckUtils]: 56: Hoare triple {2437#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {2527#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:21:12,010 INFO L290 TraceCheckUtils]: 57: Hoare triple {2527#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2531#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:21:12,011 INFO L290 TraceCheckUtils]: 58: Hoare triple {2531#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2352#false} is VALID [2022-04-08 12:21:12,011 INFO L290 TraceCheckUtils]: 59: Hoare triple {2352#false} assume !false; {2352#false} is VALID [2022-04-08 12:21:12,011 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 2 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2022-04-08 12:21:12,011 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:21:57,909 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:21:57,909 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [86107266] [2022-04-08 12:21:57,909 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:21:57,909 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [814123020] [2022-04-08 12:21:57,909 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [814123020] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 12:21:57,910 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:21:57,910 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2022-04-08 12:21:57,910 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:21:57,910 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1985237953] [2022-04-08 12:21:57,910 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1985237953] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:21:57,910 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:21:57,910 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 12:21:57,910 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [616582314] [2022-04-08 12:21:57,910 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:21:57,911 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 60 [2022-04-08 12:21:57,911 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:21:57,911 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-08 12:21:57,943 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 12:21:57,943 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 12:21:57,943 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:21:57,944 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 12:21:57,944 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:21:57,944 INFO L87 Difference]: Start difference. First operand 59 states and 74 transitions. Second operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-08 12:21:58,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:58,307 INFO L93 Difference]: Finished difference Result 66 states and 80 transitions. [2022-04-08 12:21:58,307 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 12:21:58,307 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 60 [2022-04-08 12:21:58,307 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:21:58,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-08 12:21:58,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-08 12:21:58,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-08 12:21:58,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-08 12:21:58,310 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2022-04-08 12:21:58,358 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 12:21:58,360 INFO L225 Difference]: With dead ends: 66 [2022-04-08 12:21:58,360 INFO L226 Difference]: Without dead ends: 64 [2022-04-08 12:21:58,360 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 56 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2022-04-08 12:21:58,360 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 11 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 128 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 164 SdHoareTripleChecker+Invalid, 130 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 128 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:21:58,360 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 164 Invalid, 130 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 128 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:21:58,361 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-08 12:21:58,401 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 63. [2022-04-08 12:21:58,401 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:21:58,401 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:21:58,401 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:21:58,401 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:21:58,403 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:58,403 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-08 12:21:58,403 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-08 12:21:58,403 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:21:58,403 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:21:58,404 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 64 states. [2022-04-08 12:21:58,404 INFO L87 Difference]: Start difference. First operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 64 states. [2022-04-08 12:21:58,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:58,405 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-08 12:21:58,405 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-08 12:21:58,406 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:21:58,406 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:21:58,406 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:21:58,406 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:21:58,406 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:21:58,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 77 transitions. [2022-04-08 12:21:58,408 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 77 transitions. Word has length 60 [2022-04-08 12:21:58,408 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:21:58,408 INFO L478 AbstractCegarLoop]: Abstraction has 63 states and 77 transitions. [2022-04-08 12:21:58,408 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-08 12:21:58,408 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 77 transitions. [2022-04-08 12:21:58,488 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:21:58,488 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-08 12:21:58,488 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-04-08 12:21:58,488 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:21:58,488 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 5, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:21:58,511 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 12:21:58,689 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:21:58,689 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:21:58,689 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:21:58,689 INFO L85 PathProgramCache]: Analyzing trace with hash -669670075, now seen corresponding path program 1 times [2022-04-08 12:21:58,689 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:21:58,690 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [595379544] [2022-04-08 12:21:58,690 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:21:58,690 INFO L85 PathProgramCache]: Analyzing trace with hash -669670075, now seen corresponding path program 2 times [2022-04-08 12:21:58,690 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:21:58,690 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2130202859] [2022-04-08 12:21:58,690 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:21:58,690 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:21:58,709 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:21:58,709 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1375913493] [2022-04-08 12:21:58,709 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:21:58,709 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:21:58,709 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:21:58,716 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 12:21:58,719 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 12:21:58,760 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:21:58,760 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:21:58,761 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-08 12:21:58,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:21:58,772 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:21:58,951 INFO L272 TraceCheckUtils]: 0: Hoare triple {2944#true} call ULTIMATE.init(); {2944#true} is VALID [2022-04-08 12:21:58,951 INFO L290 TraceCheckUtils]: 1: Hoare triple {2944#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {2944#true} is VALID [2022-04-08 12:21:58,951 INFO L290 TraceCheckUtils]: 2: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:58,951 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2944#true} {2944#true} #103#return; {2944#true} is VALID [2022-04-08 12:21:58,951 INFO L272 TraceCheckUtils]: 4: Hoare triple {2944#true} call #t~ret6 := main(); {2944#true} is VALID [2022-04-08 12:21:58,952 INFO L290 TraceCheckUtils]: 5: Hoare triple {2944#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2944#true} is VALID [2022-04-08 12:21:58,952 INFO L272 TraceCheckUtils]: 6: Hoare triple {2944#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:58,952 INFO L290 TraceCheckUtils]: 7: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:58,952 INFO L290 TraceCheckUtils]: 8: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:58,952 INFO L290 TraceCheckUtils]: 9: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:58,952 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2944#true} {2944#true} #79#return; {2944#true} is VALID [2022-04-08 12:21:58,952 INFO L290 TraceCheckUtils]: 11: Hoare triple {2944#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2944#true} is VALID [2022-04-08 12:21:58,952 INFO L272 TraceCheckUtils]: 12: Hoare triple {2944#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:58,952 INFO L290 TraceCheckUtils]: 13: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:58,952 INFO L290 TraceCheckUtils]: 14: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:58,952 INFO L290 TraceCheckUtils]: 15: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:58,952 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2944#true} {2944#true} #81#return; {2944#true} is VALID [2022-04-08 12:21:58,952 INFO L272 TraceCheckUtils]: 17: Hoare triple {2944#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:58,952 INFO L290 TraceCheckUtils]: 18: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:58,953 INFO L290 TraceCheckUtils]: 19: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:58,953 INFO L290 TraceCheckUtils]: 20: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:58,953 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2944#true} {2944#true} #83#return; {2944#true} is VALID [2022-04-08 12:21:58,953 INFO L272 TraceCheckUtils]: 22: Hoare triple {2944#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:58,953 INFO L290 TraceCheckUtils]: 23: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:58,953 INFO L290 TraceCheckUtils]: 24: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:58,953 INFO L290 TraceCheckUtils]: 25: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:58,953 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2944#true} {2944#true} #85#return; {2944#true} is VALID [2022-04-08 12:21:58,953 INFO L290 TraceCheckUtils]: 27: Hoare triple {2944#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2944#true} is VALID [2022-04-08 12:21:58,953 INFO L272 TraceCheckUtils]: 28: Hoare triple {2944#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:58,953 INFO L290 TraceCheckUtils]: 29: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:58,953 INFO L290 TraceCheckUtils]: 30: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:58,953 INFO L290 TraceCheckUtils]: 31: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:58,953 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2944#true} {2944#true} #87#return; {2944#true} is VALID [2022-04-08 12:21:58,953 INFO L272 TraceCheckUtils]: 33: Hoare triple {2944#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:58,954 INFO L290 TraceCheckUtils]: 34: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:58,954 INFO L290 TraceCheckUtils]: 35: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:58,954 INFO L290 TraceCheckUtils]: 36: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:58,954 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2944#true} {2944#true} #89#return; {2944#true} is VALID [2022-04-08 12:21:58,954 INFO L290 TraceCheckUtils]: 38: Hoare triple {2944#true} assume !false; {2944#true} is VALID [2022-04-08 12:21:58,954 INFO L290 TraceCheckUtils]: 39: Hoare triple {2944#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3066#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-08 12:21:58,955 INFO L290 TraceCheckUtils]: 40: Hoare triple {3066#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !false; {3066#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-08 12:21:58,955 INFO L272 TraceCheckUtils]: 41: Hoare triple {3066#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:58,955 INFO L290 TraceCheckUtils]: 42: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:58,955 INFO L290 TraceCheckUtils]: 43: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:58,955 INFO L290 TraceCheckUtils]: 44: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:58,955 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2944#true} {3066#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #91#return; {3066#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-08 12:21:58,956 INFO L272 TraceCheckUtils]: 46: Hoare triple {3066#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:58,956 INFO L290 TraceCheckUtils]: 47: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:58,956 INFO L290 TraceCheckUtils]: 48: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:58,956 INFO L290 TraceCheckUtils]: 49: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:58,956 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2944#true} {3066#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #93#return; {3066#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-08 12:21:58,956 INFO L272 TraceCheckUtils]: 51: Hoare triple {3066#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:58,957 INFO L290 TraceCheckUtils]: 52: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:58,957 INFO L290 TraceCheckUtils]: 53: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:58,957 INFO L290 TraceCheckUtils]: 54: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:58,957 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2944#true} {3066#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #95#return; {3066#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-08 12:21:58,957 INFO L272 TraceCheckUtils]: 56: Hoare triple {3066#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:58,958 INFO L290 TraceCheckUtils]: 57: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:58,958 INFO L290 TraceCheckUtils]: 58: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:58,958 INFO L290 TraceCheckUtils]: 59: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:58,958 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {2944#true} {3066#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #97#return; {3066#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-08 12:21:58,959 INFO L290 TraceCheckUtils]: 61: Hoare triple {3066#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {3133#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~0) 0))} is VALID [2022-04-08 12:21:58,959 INFO L290 TraceCheckUtils]: 62: Hoare triple {3133#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~0) 0))} assume !false; {3133#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~0) 0))} is VALID [2022-04-08 12:21:58,960 INFO L272 TraceCheckUtils]: 63: Hoare triple {3133#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~0) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3140#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:21:58,960 INFO L290 TraceCheckUtils]: 64: Hoare triple {3140#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3144#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:21:58,960 INFO L290 TraceCheckUtils]: 65: Hoare triple {3144#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2945#false} is VALID [2022-04-08 12:21:58,961 INFO L290 TraceCheckUtils]: 66: Hoare triple {2945#false} assume !false; {2945#false} is VALID [2022-04-08 12:21:58,961 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-08 12:21:58,961 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:21:59,177 INFO L290 TraceCheckUtils]: 66: Hoare triple {2945#false} assume !false; {2945#false} is VALID [2022-04-08 12:21:59,178 INFO L290 TraceCheckUtils]: 65: Hoare triple {3144#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2945#false} is VALID [2022-04-08 12:21:59,178 INFO L290 TraceCheckUtils]: 64: Hoare triple {3140#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3144#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:21:59,179 INFO L272 TraceCheckUtils]: 63: Hoare triple {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3140#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:21:59,179 INFO L290 TraceCheckUtils]: 62: Hoare triple {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 12:21:59,181 INFO L290 TraceCheckUtils]: 61: Hoare triple {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 12:21:59,181 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {2944#true} {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #97#return; {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 12:21:59,182 INFO L290 TraceCheckUtils]: 59: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:59,182 INFO L290 TraceCheckUtils]: 58: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:59,182 INFO L290 TraceCheckUtils]: 57: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:59,182 INFO L272 TraceCheckUtils]: 56: Hoare triple {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:59,183 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2944#true} {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #95#return; {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 12:21:59,183 INFO L290 TraceCheckUtils]: 54: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:59,183 INFO L290 TraceCheckUtils]: 53: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:59,183 INFO L290 TraceCheckUtils]: 52: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:59,183 INFO L272 TraceCheckUtils]: 51: Hoare triple {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:59,184 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2944#true} {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #93#return; {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 12:21:59,184 INFO L290 TraceCheckUtils]: 49: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:59,184 INFO L290 TraceCheckUtils]: 48: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:59,184 INFO L290 TraceCheckUtils]: 47: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:59,184 INFO L272 TraceCheckUtils]: 46: Hoare triple {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:59,184 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2944#true} {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #91#return; {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 12:21:59,185 INFO L290 TraceCheckUtils]: 44: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:59,185 INFO L290 TraceCheckUtils]: 43: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:59,185 INFO L290 TraceCheckUtils]: 42: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:59,185 INFO L272 TraceCheckUtils]: 41: Hoare triple {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:59,185 INFO L290 TraceCheckUtils]: 40: Hoare triple {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 12:21:59,185 INFO L290 TraceCheckUtils]: 39: Hoare triple {2944#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3160#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 12:21:59,186 INFO L290 TraceCheckUtils]: 38: Hoare triple {2944#true} assume !false; {2944#true} is VALID [2022-04-08 12:21:59,186 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2944#true} {2944#true} #89#return; {2944#true} is VALID [2022-04-08 12:21:59,186 INFO L290 TraceCheckUtils]: 36: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:59,186 INFO L290 TraceCheckUtils]: 35: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:59,186 INFO L290 TraceCheckUtils]: 34: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:59,186 INFO L272 TraceCheckUtils]: 33: Hoare triple {2944#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:59,186 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2944#true} {2944#true} #87#return; {2944#true} is VALID [2022-04-08 12:21:59,186 INFO L290 TraceCheckUtils]: 31: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:59,186 INFO L290 TraceCheckUtils]: 30: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:59,186 INFO L290 TraceCheckUtils]: 29: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:59,186 INFO L272 TraceCheckUtils]: 28: Hoare triple {2944#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:59,186 INFO L290 TraceCheckUtils]: 27: Hoare triple {2944#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2944#true} is VALID [2022-04-08 12:21:59,186 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2944#true} {2944#true} #85#return; {2944#true} is VALID [2022-04-08 12:21:59,186 INFO L290 TraceCheckUtils]: 25: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:59,187 INFO L290 TraceCheckUtils]: 24: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:59,188 INFO L290 TraceCheckUtils]: 23: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:59,188 INFO L272 TraceCheckUtils]: 22: Hoare triple {2944#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:59,188 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2944#true} {2944#true} #83#return; {2944#true} is VALID [2022-04-08 12:21:59,188 INFO L290 TraceCheckUtils]: 20: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:59,188 INFO L290 TraceCheckUtils]: 19: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:59,188 INFO L290 TraceCheckUtils]: 18: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:59,188 INFO L272 TraceCheckUtils]: 17: Hoare triple {2944#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:59,188 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2944#true} {2944#true} #81#return; {2944#true} is VALID [2022-04-08 12:21:59,188 INFO L290 TraceCheckUtils]: 15: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:59,188 INFO L290 TraceCheckUtils]: 14: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:59,188 INFO L290 TraceCheckUtils]: 13: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:59,188 INFO L272 TraceCheckUtils]: 12: Hoare triple {2944#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:59,188 INFO L290 TraceCheckUtils]: 11: Hoare triple {2944#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2944#true} is VALID [2022-04-08 12:21:59,188 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2944#true} {2944#true} #79#return; {2944#true} is VALID [2022-04-08 12:21:59,188 INFO L290 TraceCheckUtils]: 9: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:59,189 INFO L290 TraceCheckUtils]: 8: Hoare triple {2944#true} assume !(0 == ~cond); {2944#true} is VALID [2022-04-08 12:21:59,189 INFO L290 TraceCheckUtils]: 7: Hoare triple {2944#true} ~cond := #in~cond; {2944#true} is VALID [2022-04-08 12:21:59,189 INFO L272 TraceCheckUtils]: 6: Hoare triple {2944#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2944#true} is VALID [2022-04-08 12:21:59,189 INFO L290 TraceCheckUtils]: 5: Hoare triple {2944#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2944#true} is VALID [2022-04-08 12:21:59,189 INFO L272 TraceCheckUtils]: 4: Hoare triple {2944#true} call #t~ret6 := main(); {2944#true} is VALID [2022-04-08 12:21:59,189 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2944#true} {2944#true} #103#return; {2944#true} is VALID [2022-04-08 12:21:59,189 INFO L290 TraceCheckUtils]: 2: Hoare triple {2944#true} assume true; {2944#true} is VALID [2022-04-08 12:21:59,189 INFO L290 TraceCheckUtils]: 1: Hoare triple {2944#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {2944#true} is VALID [2022-04-08 12:21:59,189 INFO L272 TraceCheckUtils]: 0: Hoare triple {2944#true} call ULTIMATE.init(); {2944#true} is VALID [2022-04-08 12:21:59,189 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 86 trivial. 0 not checked. [2022-04-08 12:21:59,189 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:21:59,189 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2130202859] [2022-04-08 12:21:59,189 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:21:59,189 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1375913493] [2022-04-08 12:21:59,190 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1375913493] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 12:21:59,190 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:21:59,190 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-08 12:21:59,190 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:21:59,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [595379544] [2022-04-08 12:21:59,190 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [595379544] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:21:59,190 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:21:59,190 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:21:59,190 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2119343998] [2022-04-08 12:21:59,190 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:21:59,191 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, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) Word has length 67 [2022-04-08 12:21:59,191 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:21:59,191 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, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 12:21:59,220 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 12:21:59,220 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:21:59,220 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:21:59,221 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:21:59,221 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-08 12:21:59,221 INFO L87 Difference]: Start difference. First operand 63 states and 77 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, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 12:21:59,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:59,414 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-08 12:21:59,414 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:21:59,414 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, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) Word has length 67 [2022-04-08 12:21:59,415 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:21:59,415 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, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 12:21:59,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-08 12:21:59,416 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, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 12:21:59,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-08 12:21:59,416 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-08 12:21:59,458 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 12:21:59,459 INFO L225 Difference]: With dead ends: 69 [2022-04-08 12:21:59,459 INFO L226 Difference]: Without dead ends: 67 [2022-04-08 12:21:59,459 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 126 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 12:21:59,460 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 6 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:21:59,460 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 137 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:21:59,460 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-08 12:21:59,494 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 59. [2022-04-08 12:21:59,494 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:21:59,494 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 12:21:59,495 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 12:21:59,495 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 12:21:59,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:59,497 INFO L93 Difference]: Finished difference Result 67 states and 80 transitions. [2022-04-08 12:21:59,497 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 80 transitions. [2022-04-08 12:21:59,497 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:21:59,497 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:21:59,497 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-08 12:21:59,497 INFO L87 Difference]: Start difference. First operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-08 12:21:59,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:59,499 INFO L93 Difference]: Finished difference Result 67 states and 80 transitions. [2022-04-08 12:21:59,499 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 80 transitions. [2022-04-08 12:21:59,499 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:21:59,499 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:21:59,499 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:21:59,499 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:21:59,499 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 12:21:59,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 71 transitions. [2022-04-08 12:21:59,501 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 71 transitions. Word has length 67 [2022-04-08 12:21:59,501 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:21:59,501 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 71 transitions. [2022-04-08 12:21:59,501 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, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 12:21:59,501 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 71 transitions. [2022-04-08 12:21:59,589 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:21:59,589 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 71 transitions. [2022-04-08 12:21:59,590 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 12:21:59,590 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:21:59,590 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:21:59,621 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 12:21:59,790 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:21:59,791 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:21:59,791 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:21:59,791 INFO L85 PathProgramCache]: Analyzing trace with hash -1682830289, now seen corresponding path program 1 times [2022-04-08 12:21:59,791 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:21:59,791 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [416974703] [2022-04-08 12:21:59,791 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:21:59,791 INFO L85 PathProgramCache]: Analyzing trace with hash -1682830289, now seen corresponding path program 2 times [2022-04-08 12:21:59,792 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:21:59,792 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1529686380] [2022-04-08 12:21:59,792 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:21:59,792 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:21:59,802 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:21:59,802 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [686593883] [2022-04-08 12:21:59,802 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:21:59,803 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:21:59,803 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:21:59,807 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 12:21:59,812 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 12:21:59,856 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:21:59,857 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:21:59,857 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 12:21:59,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:21:59,894 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:22:00,096 INFO L272 TraceCheckUtils]: 0: Hoare triple {3744#true} call ULTIMATE.init(); {3744#true} is VALID [2022-04-08 12:22:00,096 INFO L290 TraceCheckUtils]: 1: Hoare triple {3744#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {3744#true} is VALID [2022-04-08 12:22:00,096 INFO L290 TraceCheckUtils]: 2: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,096 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3744#true} {3744#true} #103#return; {3744#true} is VALID [2022-04-08 12:22:00,096 INFO L272 TraceCheckUtils]: 4: Hoare triple {3744#true} call #t~ret6 := main(); {3744#true} is VALID [2022-04-08 12:22:00,096 INFO L290 TraceCheckUtils]: 5: Hoare triple {3744#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3744#true} is VALID [2022-04-08 12:22:00,097 INFO L272 TraceCheckUtils]: 6: Hoare triple {3744#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,097 INFO L290 TraceCheckUtils]: 7: Hoare triple {3744#true} ~cond := #in~cond; {3744#true} is VALID [2022-04-08 12:22:00,097 INFO L290 TraceCheckUtils]: 8: Hoare triple {3744#true} assume !(0 == ~cond); {3744#true} is VALID [2022-04-08 12:22:00,097 INFO L290 TraceCheckUtils]: 9: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,097 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3744#true} {3744#true} #79#return; {3744#true} is VALID [2022-04-08 12:22:00,097 INFO L290 TraceCheckUtils]: 11: Hoare triple {3744#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3744#true} is VALID [2022-04-08 12:22:00,097 INFO L272 TraceCheckUtils]: 12: Hoare triple {3744#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,097 INFO L290 TraceCheckUtils]: 13: Hoare triple {3744#true} ~cond := #in~cond; {3744#true} is VALID [2022-04-08 12:22:00,097 INFO L290 TraceCheckUtils]: 14: Hoare triple {3744#true} assume !(0 == ~cond); {3744#true} is VALID [2022-04-08 12:22:00,097 INFO L290 TraceCheckUtils]: 15: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,097 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3744#true} {3744#true} #81#return; {3744#true} is VALID [2022-04-08 12:22:00,097 INFO L272 TraceCheckUtils]: 17: Hoare triple {3744#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,102 INFO L290 TraceCheckUtils]: 18: Hoare triple {3744#true} ~cond := #in~cond; {3803#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:22:00,103 INFO L290 TraceCheckUtils]: 19: Hoare triple {3803#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3807#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:22:00,103 INFO L290 TraceCheckUtils]: 20: Hoare triple {3807#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3807#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:22:00,104 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3807#(not (= |assume_abort_if_not_#in~cond| 0))} {3744#true} #83#return; {3814#(<= 1 main_~x~0)} is VALID [2022-04-08 12:22:00,104 INFO L272 TraceCheckUtils]: 22: Hoare triple {3814#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,104 INFO L290 TraceCheckUtils]: 23: Hoare triple {3744#true} ~cond := #in~cond; {3744#true} is VALID [2022-04-08 12:22:00,104 INFO L290 TraceCheckUtils]: 24: Hoare triple {3744#true} assume !(0 == ~cond); {3744#true} is VALID [2022-04-08 12:22:00,104 INFO L290 TraceCheckUtils]: 25: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,104 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3744#true} {3814#(<= 1 main_~x~0)} #85#return; {3814#(<= 1 main_~x~0)} is VALID [2022-04-08 12:22:00,105 INFO L290 TraceCheckUtils]: 27: Hoare triple {3814#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3833#(<= 1 main_~a~0)} is VALID [2022-04-08 12:22:00,105 INFO L272 TraceCheckUtils]: 28: Hoare triple {3833#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,105 INFO L290 TraceCheckUtils]: 29: Hoare triple {3744#true} ~cond := #in~cond; {3744#true} is VALID [2022-04-08 12:22:00,105 INFO L290 TraceCheckUtils]: 30: Hoare triple {3744#true} assume !(0 == ~cond); {3744#true} is VALID [2022-04-08 12:22:00,105 INFO L290 TraceCheckUtils]: 31: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,105 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3744#true} {3833#(<= 1 main_~a~0)} #87#return; {3833#(<= 1 main_~a~0)} is VALID [2022-04-08 12:22:00,105 INFO L272 TraceCheckUtils]: 33: Hoare triple {3833#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,105 INFO L290 TraceCheckUtils]: 34: Hoare triple {3744#true} ~cond := #in~cond; {3744#true} is VALID [2022-04-08 12:22:00,105 INFO L290 TraceCheckUtils]: 35: Hoare triple {3744#true} assume !(0 == ~cond); {3744#true} is VALID [2022-04-08 12:22:00,105 INFO L290 TraceCheckUtils]: 36: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,106 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3744#true} {3833#(<= 1 main_~a~0)} #89#return; {3833#(<= 1 main_~a~0)} is VALID [2022-04-08 12:22:00,106 INFO L290 TraceCheckUtils]: 38: Hoare triple {3833#(<= 1 main_~a~0)} assume !false; {3833#(<= 1 main_~a~0)} is VALID [2022-04-08 12:22:00,107 INFO L290 TraceCheckUtils]: 39: Hoare triple {3833#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3870#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:00,107 INFO L290 TraceCheckUtils]: 40: Hoare triple {3870#(<= 1 main_~c~0)} assume !false; {3870#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:00,107 INFO L272 TraceCheckUtils]: 41: Hoare triple {3870#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,107 INFO L290 TraceCheckUtils]: 42: Hoare triple {3744#true} ~cond := #in~cond; {3744#true} is VALID [2022-04-08 12:22:00,107 INFO L290 TraceCheckUtils]: 43: Hoare triple {3744#true} assume !(0 == ~cond); {3744#true} is VALID [2022-04-08 12:22:00,107 INFO L290 TraceCheckUtils]: 44: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,107 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3744#true} {3870#(<= 1 main_~c~0)} #91#return; {3870#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:00,108 INFO L272 TraceCheckUtils]: 46: Hoare triple {3870#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,108 INFO L290 TraceCheckUtils]: 47: Hoare triple {3744#true} ~cond := #in~cond; {3744#true} is VALID [2022-04-08 12:22:00,108 INFO L290 TraceCheckUtils]: 48: Hoare triple {3744#true} assume !(0 == ~cond); {3744#true} is VALID [2022-04-08 12:22:00,108 INFO L290 TraceCheckUtils]: 49: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,108 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3744#true} {3870#(<= 1 main_~c~0)} #93#return; {3870#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:00,108 INFO L272 TraceCheckUtils]: 51: Hoare triple {3870#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,108 INFO L290 TraceCheckUtils]: 52: Hoare triple {3744#true} ~cond := #in~cond; {3744#true} is VALID [2022-04-08 12:22:00,108 INFO L290 TraceCheckUtils]: 53: Hoare triple {3744#true} assume !(0 == ~cond); {3744#true} is VALID [2022-04-08 12:22:00,109 INFO L290 TraceCheckUtils]: 54: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,109 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3744#true} {3870#(<= 1 main_~c~0)} #95#return; {3870#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:00,109 INFO L272 TraceCheckUtils]: 56: Hoare triple {3870#(<= 1 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,109 INFO L290 TraceCheckUtils]: 57: Hoare triple {3744#true} ~cond := #in~cond; {3744#true} is VALID [2022-04-08 12:22:00,109 INFO L290 TraceCheckUtils]: 58: Hoare triple {3744#true} assume !(0 == ~cond); {3744#true} is VALID [2022-04-08 12:22:00,109 INFO L290 TraceCheckUtils]: 59: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,110 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3744#true} {3870#(<= 1 main_~c~0)} #97#return; {3870#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:00,110 INFO L290 TraceCheckUtils]: 61: Hoare triple {3870#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3870#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:00,111 INFO L290 TraceCheckUtils]: 62: Hoare triple {3870#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3940#(<= 1 main_~b~0)} is VALID [2022-04-08 12:22:00,111 INFO L290 TraceCheckUtils]: 63: Hoare triple {3940#(<= 1 main_~b~0)} assume !false; {3940#(<= 1 main_~b~0)} is VALID [2022-04-08 12:22:00,111 INFO L290 TraceCheckUtils]: 64: Hoare triple {3940#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3745#false} is VALID [2022-04-08 12:22:00,111 INFO L272 TraceCheckUtils]: 65: Hoare triple {3745#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {3745#false} is VALID [2022-04-08 12:22:00,111 INFO L290 TraceCheckUtils]: 66: Hoare triple {3745#false} ~cond := #in~cond; {3745#false} is VALID [2022-04-08 12:22:00,111 INFO L290 TraceCheckUtils]: 67: Hoare triple {3745#false} assume 0 == ~cond; {3745#false} is VALID [2022-04-08 12:22:00,111 INFO L290 TraceCheckUtils]: 68: Hoare triple {3745#false} assume !false; {3745#false} is VALID [2022-04-08 12:22:00,111 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-08 12:22:00,112 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:22:00,361 INFO L290 TraceCheckUtils]: 68: Hoare triple {3745#false} assume !false; {3745#false} is VALID [2022-04-08 12:22:00,361 INFO L290 TraceCheckUtils]: 67: Hoare triple {3745#false} assume 0 == ~cond; {3745#false} is VALID [2022-04-08 12:22:00,361 INFO L290 TraceCheckUtils]: 66: Hoare triple {3745#false} ~cond := #in~cond; {3745#false} is VALID [2022-04-08 12:22:00,361 INFO L272 TraceCheckUtils]: 65: Hoare triple {3745#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {3745#false} is VALID [2022-04-08 12:22:00,362 INFO L290 TraceCheckUtils]: 64: Hoare triple {3940#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3745#false} is VALID [2022-04-08 12:22:00,362 INFO L290 TraceCheckUtils]: 63: Hoare triple {3940#(<= 1 main_~b~0)} assume !false; {3940#(<= 1 main_~b~0)} is VALID [2022-04-08 12:22:00,362 INFO L290 TraceCheckUtils]: 62: Hoare triple {3870#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3940#(<= 1 main_~b~0)} is VALID [2022-04-08 12:22:00,362 INFO L290 TraceCheckUtils]: 61: Hoare triple {3870#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3870#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:00,363 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3744#true} {3870#(<= 1 main_~c~0)} #97#return; {3870#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:00,363 INFO L290 TraceCheckUtils]: 59: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,363 INFO L290 TraceCheckUtils]: 58: Hoare triple {3744#true} assume !(0 == ~cond); {3744#true} is VALID [2022-04-08 12:22:00,363 INFO L290 TraceCheckUtils]: 57: Hoare triple {3744#true} ~cond := #in~cond; {3744#true} is VALID [2022-04-08 12:22:00,363 INFO L272 TraceCheckUtils]: 56: Hoare triple {3870#(<= 1 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,364 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3744#true} {3870#(<= 1 main_~c~0)} #95#return; {3870#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:00,364 INFO L290 TraceCheckUtils]: 54: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,364 INFO L290 TraceCheckUtils]: 53: Hoare triple {3744#true} assume !(0 == ~cond); {3744#true} is VALID [2022-04-08 12:22:00,364 INFO L290 TraceCheckUtils]: 52: Hoare triple {3744#true} ~cond := #in~cond; {3744#true} is VALID [2022-04-08 12:22:00,364 INFO L272 TraceCheckUtils]: 51: Hoare triple {3870#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,365 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3744#true} {3870#(<= 1 main_~c~0)} #93#return; {3870#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:00,365 INFO L290 TraceCheckUtils]: 49: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,365 INFO L290 TraceCheckUtils]: 48: Hoare triple {3744#true} assume !(0 == ~cond); {3744#true} is VALID [2022-04-08 12:22:00,365 INFO L290 TraceCheckUtils]: 47: Hoare triple {3744#true} ~cond := #in~cond; {3744#true} is VALID [2022-04-08 12:22:00,365 INFO L272 TraceCheckUtils]: 46: Hoare triple {3870#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,366 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3744#true} {3870#(<= 1 main_~c~0)} #91#return; {3870#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:00,366 INFO L290 TraceCheckUtils]: 44: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,366 INFO L290 TraceCheckUtils]: 43: Hoare triple {3744#true} assume !(0 == ~cond); {3744#true} is VALID [2022-04-08 12:22:00,366 INFO L290 TraceCheckUtils]: 42: Hoare triple {3744#true} ~cond := #in~cond; {3744#true} is VALID [2022-04-08 12:22:00,366 INFO L272 TraceCheckUtils]: 41: Hoare triple {3870#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,367 INFO L290 TraceCheckUtils]: 40: Hoare triple {3870#(<= 1 main_~c~0)} assume !false; {3870#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:00,367 INFO L290 TraceCheckUtils]: 39: Hoare triple {3833#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3870#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:00,367 INFO L290 TraceCheckUtils]: 38: Hoare triple {3833#(<= 1 main_~a~0)} assume !false; {3833#(<= 1 main_~a~0)} is VALID [2022-04-08 12:22:00,368 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3744#true} {3833#(<= 1 main_~a~0)} #89#return; {3833#(<= 1 main_~a~0)} is VALID [2022-04-08 12:22:00,368 INFO L290 TraceCheckUtils]: 36: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,368 INFO L290 TraceCheckUtils]: 35: Hoare triple {3744#true} assume !(0 == ~cond); {3744#true} is VALID [2022-04-08 12:22:00,368 INFO L290 TraceCheckUtils]: 34: Hoare triple {3744#true} ~cond := #in~cond; {3744#true} is VALID [2022-04-08 12:22:00,368 INFO L272 TraceCheckUtils]: 33: Hoare triple {3833#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,368 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3744#true} {3833#(<= 1 main_~a~0)} #87#return; {3833#(<= 1 main_~a~0)} is VALID [2022-04-08 12:22:00,368 INFO L290 TraceCheckUtils]: 31: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,368 INFO L290 TraceCheckUtils]: 30: Hoare triple {3744#true} assume !(0 == ~cond); {3744#true} is VALID [2022-04-08 12:22:00,368 INFO L290 TraceCheckUtils]: 29: Hoare triple {3744#true} ~cond := #in~cond; {3744#true} is VALID [2022-04-08 12:22:00,368 INFO L272 TraceCheckUtils]: 28: Hoare triple {3833#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,369 INFO L290 TraceCheckUtils]: 27: Hoare triple {3814#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3833#(<= 1 main_~a~0)} is VALID [2022-04-08 12:22:00,369 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3744#true} {3814#(<= 1 main_~x~0)} #85#return; {3814#(<= 1 main_~x~0)} is VALID [2022-04-08 12:22:00,369 INFO L290 TraceCheckUtils]: 25: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,369 INFO L290 TraceCheckUtils]: 24: Hoare triple {3744#true} assume !(0 == ~cond); {3744#true} is VALID [2022-04-08 12:22:00,369 INFO L290 TraceCheckUtils]: 23: Hoare triple {3744#true} ~cond := #in~cond; {3744#true} is VALID [2022-04-08 12:22:00,369 INFO L272 TraceCheckUtils]: 22: Hoare triple {3814#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,370 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3807#(not (= |assume_abort_if_not_#in~cond| 0))} {3744#true} #83#return; {3814#(<= 1 main_~x~0)} is VALID [2022-04-08 12:22:00,370 INFO L290 TraceCheckUtils]: 20: Hoare triple {3807#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3807#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:22:00,370 INFO L290 TraceCheckUtils]: 19: Hoare triple {4109#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {3807#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:22:00,371 INFO L290 TraceCheckUtils]: 18: Hoare triple {3744#true} ~cond := #in~cond; {4109#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 12:22:00,371 INFO L272 TraceCheckUtils]: 17: Hoare triple {3744#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,371 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3744#true} {3744#true} #81#return; {3744#true} is VALID [2022-04-08 12:22:00,371 INFO L290 TraceCheckUtils]: 15: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,371 INFO L290 TraceCheckUtils]: 14: Hoare triple {3744#true} assume !(0 == ~cond); {3744#true} is VALID [2022-04-08 12:22:00,371 INFO L290 TraceCheckUtils]: 13: Hoare triple {3744#true} ~cond := #in~cond; {3744#true} is VALID [2022-04-08 12:22:00,371 INFO L272 TraceCheckUtils]: 12: Hoare triple {3744#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,371 INFO L290 TraceCheckUtils]: 11: Hoare triple {3744#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3744#true} is VALID [2022-04-08 12:22:00,372 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3744#true} {3744#true} #79#return; {3744#true} is VALID [2022-04-08 12:22:00,372 INFO L290 TraceCheckUtils]: 9: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,372 INFO L290 TraceCheckUtils]: 8: Hoare triple {3744#true} assume !(0 == ~cond); {3744#true} is VALID [2022-04-08 12:22:00,372 INFO L290 TraceCheckUtils]: 7: Hoare triple {3744#true} ~cond := #in~cond; {3744#true} is VALID [2022-04-08 12:22:00,372 INFO L272 TraceCheckUtils]: 6: Hoare triple {3744#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {3744#true} is VALID [2022-04-08 12:22:00,372 INFO L290 TraceCheckUtils]: 5: Hoare triple {3744#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3744#true} is VALID [2022-04-08 12:22:00,372 INFO L272 TraceCheckUtils]: 4: Hoare triple {3744#true} call #t~ret6 := main(); {3744#true} is VALID [2022-04-08 12:22:00,372 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3744#true} {3744#true} #103#return; {3744#true} is VALID [2022-04-08 12:22:00,372 INFO L290 TraceCheckUtils]: 2: Hoare triple {3744#true} assume true; {3744#true} is VALID [2022-04-08 12:22:00,372 INFO L290 TraceCheckUtils]: 1: Hoare triple {3744#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {3744#true} is VALID [2022-04-08 12:22:00,372 INFO L272 TraceCheckUtils]: 0: Hoare triple {3744#true} call ULTIMATE.init(); {3744#true} is VALID [2022-04-08 12:22:00,372 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-08 12:22:00,372 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:22:00,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1529686380] [2022-04-08 12:22:00,373 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:22:00,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [686593883] [2022-04-08 12:22:00,373 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [686593883] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:22:00,373 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:22:00,373 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-08 12:22:00,373 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:22:00,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [416974703] [2022-04-08 12:22:00,373 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [416974703] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:22:00,373 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:22:00,373 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:22:00,373 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1189668165] [2022-04-08 12:22:00,373 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:22:00,374 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 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 69 [2022-04-08 12:22:00,374 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:22:00,374 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 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 12:22:00,406 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 12:22:00,406 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:22:00,406 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:22:00,406 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:22:00,406 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:22:00,406 INFO L87 Difference]: Start difference. First operand 59 states and 71 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 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 12:22:01,015 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:01,015 INFO L93 Difference]: Finished difference Result 106 states and 146 transitions. [2022-04-08 12:22:01,015 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 12:22:01,015 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 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 69 [2022-04-08 12:22:01,015 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:22:01,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 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 12:22:01,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-08 12:22:01,017 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 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 12:22:01,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-08 12:22:01,019 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 110 transitions. [2022-04-08 12:22:01,099 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 12:22:01,102 INFO L225 Difference]: With dead ends: 106 [2022-04-08 12:22:01,102 INFO L226 Difference]: Without dead ends: 98 [2022-04-08 12:22:01,102 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 142 GetRequests, 129 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-08 12:22:01,102 INFO L913 BasicCegarLoop]: 60 mSDtfsCounter, 30 mSDsluCounter, 199 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 259 SdHoareTripleChecker+Invalid, 227 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 12:22:01,103 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 259 Invalid, 227 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 12:22:01,103 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-08 12:22:01,214 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 89. [2022-04-08 12:22:01,214 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:22:01,214 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 12:22:01,215 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 12:22:01,222 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 12:22:01,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:01,226 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-08 12:22:01,226 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-08 12:22:01,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:22:01,227 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:22:01,229 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) Second operand 98 states. [2022-04-08 12:22:01,230 INFO L87 Difference]: Start difference. First operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) Second operand 98 states. [2022-04-08 12:22:01,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:01,234 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-08 12:22:01,234 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-08 12:22:01,234 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:22:01,234 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:22:01,234 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:22:01,234 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:22:01,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 12:22:01,237 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 122 transitions. [2022-04-08 12:22:01,238 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 122 transitions. Word has length 69 [2022-04-08 12:22:01,238 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:22:01,238 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 122 transitions. [2022-04-08 12:22:01,238 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 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 12:22:01,238 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 122 transitions. [2022-04-08 12:22:01,388 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:22:01,388 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 122 transitions. [2022-04-08 12:22:01,389 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-08 12:22:01,389 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:22:01,389 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 6, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:22:01,407 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 12:22:01,589 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:22:01,589 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:22:01,590 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:22:01,590 INFO L85 PathProgramCache]: Analyzing trace with hash 376741854, now seen corresponding path program 1 times [2022-04-08 12:22:01,590 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:22:01,590 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [905918206] [2022-04-08 12:22:01,590 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:22:01,590 INFO L85 PathProgramCache]: Analyzing trace with hash 376741854, now seen corresponding path program 2 times [2022-04-08 12:22:01,590 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:22:01,590 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [609278528] [2022-04-08 12:22:01,590 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:22:01,590 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:22:01,601 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:22:01,601 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [190191257] [2022-04-08 12:22:01,602 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:22:01,602 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:22:01,602 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:22:01,602 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 12:22:01,603 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 12:22:01,648 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:22:01,649 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:22:01,649 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-08 12:22:01,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:22:01,661 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:22:01,931 INFO L272 TraceCheckUtils]: 0: Hoare triple {4762#true} call ULTIMATE.init(); {4762#true} is VALID [2022-04-08 12:22:01,932 INFO L290 TraceCheckUtils]: 1: Hoare triple {4762#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {4762#true} is VALID [2022-04-08 12:22:01,932 INFO L290 TraceCheckUtils]: 2: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:01,932 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4762#true} {4762#true} #103#return; {4762#true} is VALID [2022-04-08 12:22:01,932 INFO L272 TraceCheckUtils]: 4: Hoare triple {4762#true} call #t~ret6 := main(); {4762#true} is VALID [2022-04-08 12:22:01,932 INFO L290 TraceCheckUtils]: 5: Hoare triple {4762#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4762#true} is VALID [2022-04-08 12:22:01,932 INFO L272 TraceCheckUtils]: 6: Hoare triple {4762#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:01,932 INFO L290 TraceCheckUtils]: 7: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:01,932 INFO L290 TraceCheckUtils]: 8: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:01,932 INFO L290 TraceCheckUtils]: 9: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:01,932 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4762#true} {4762#true} #79#return; {4762#true} is VALID [2022-04-08 12:22:01,932 INFO L290 TraceCheckUtils]: 11: Hoare triple {4762#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4762#true} is VALID [2022-04-08 12:22:01,932 INFO L272 TraceCheckUtils]: 12: Hoare triple {4762#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:01,932 INFO L290 TraceCheckUtils]: 13: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:01,932 INFO L290 TraceCheckUtils]: 14: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:01,932 INFO L290 TraceCheckUtils]: 15: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:01,933 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4762#true} {4762#true} #81#return; {4762#true} is VALID [2022-04-08 12:22:01,933 INFO L272 TraceCheckUtils]: 17: Hoare triple {4762#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:01,933 INFO L290 TraceCheckUtils]: 18: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:01,935 INFO L290 TraceCheckUtils]: 19: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:01,935 INFO L290 TraceCheckUtils]: 20: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:01,935 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4762#true} {4762#true} #83#return; {4762#true} is VALID [2022-04-08 12:22:01,935 INFO L272 TraceCheckUtils]: 22: Hoare triple {4762#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:01,935 INFO L290 TraceCheckUtils]: 23: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:01,935 INFO L290 TraceCheckUtils]: 24: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:01,936 INFO L290 TraceCheckUtils]: 25: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:01,936 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4762#true} {4762#true} #85#return; {4762#true} is VALID [2022-04-08 12:22:01,936 INFO L290 TraceCheckUtils]: 27: Hoare triple {4762#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {4848#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:22:01,936 INFO L272 TraceCheckUtils]: 28: Hoare triple {4848#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:01,936 INFO L290 TraceCheckUtils]: 29: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:01,936 INFO L290 TraceCheckUtils]: 30: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:01,936 INFO L290 TraceCheckUtils]: 31: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:01,937 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4762#true} {4848#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} #87#return; {4848#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:22:01,937 INFO L272 TraceCheckUtils]: 33: Hoare triple {4848#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:01,937 INFO L290 TraceCheckUtils]: 34: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:01,937 INFO L290 TraceCheckUtils]: 35: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:01,937 INFO L290 TraceCheckUtils]: 36: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:01,937 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4762#true} {4848#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} #89#return; {4848#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:22:01,938 INFO L290 TraceCheckUtils]: 38: Hoare triple {4848#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {4848#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:22:01,938 INFO L290 TraceCheckUtils]: 39: Hoare triple {4848#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4885#(= main_~q~0 0)} is VALID [2022-04-08 12:22:01,938 INFO L290 TraceCheckUtils]: 40: Hoare triple {4885#(= main_~q~0 0)} assume !false; {4885#(= main_~q~0 0)} is VALID [2022-04-08 12:22:01,938 INFO L272 TraceCheckUtils]: 41: Hoare triple {4885#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:01,938 INFO L290 TraceCheckUtils]: 42: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:01,938 INFO L290 TraceCheckUtils]: 43: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:01,938 INFO L290 TraceCheckUtils]: 44: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:01,939 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4762#true} {4885#(= main_~q~0 0)} #91#return; {4885#(= main_~q~0 0)} is VALID [2022-04-08 12:22:01,939 INFO L272 TraceCheckUtils]: 46: Hoare triple {4885#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:01,939 INFO L290 TraceCheckUtils]: 47: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:01,939 INFO L290 TraceCheckUtils]: 48: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:01,939 INFO L290 TraceCheckUtils]: 49: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:01,939 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4762#true} {4885#(= main_~q~0 0)} #93#return; {4885#(= main_~q~0 0)} is VALID [2022-04-08 12:22:01,940 INFO L272 TraceCheckUtils]: 51: Hoare triple {4885#(= main_~q~0 0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:01,940 INFO L290 TraceCheckUtils]: 52: Hoare triple {4762#true} ~cond := #in~cond; {4925#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:22:01,940 INFO L290 TraceCheckUtils]: 53: Hoare triple {4925#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4929#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:22:01,940 INFO L290 TraceCheckUtils]: 54: Hoare triple {4929#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4929#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:22:01,941 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4929#(not (= |__VERIFIER_assert_#in~cond| 0))} {4885#(= main_~q~0 0)} #95#return; {4936#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-08 12:22:01,942 INFO L272 TraceCheckUtils]: 56: Hoare triple {4936#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:01,942 INFO L290 TraceCheckUtils]: 57: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:01,942 INFO L290 TraceCheckUtils]: 58: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:01,942 INFO L290 TraceCheckUtils]: 59: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:01,942 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {4762#true} {4936#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} #97#return; {4936#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-08 12:22:01,943 INFO L290 TraceCheckUtils]: 61: Hoare triple {4936#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {4936#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-08 12:22:01,943 INFO L290 TraceCheckUtils]: 62: Hoare triple {4936#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4958#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:22:01,943 INFO L290 TraceCheckUtils]: 63: Hoare triple {4958#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {4958#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:22:01,944 INFO L290 TraceCheckUtils]: 64: Hoare triple {4958#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4958#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:22:01,944 INFO L290 TraceCheckUtils]: 65: Hoare triple {4958#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {4958#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:22:01,944 INFO L272 TraceCheckUtils]: 66: Hoare triple {4958#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:01,944 INFO L290 TraceCheckUtils]: 67: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:01,944 INFO L290 TraceCheckUtils]: 68: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:01,944 INFO L290 TraceCheckUtils]: 69: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:01,945 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {4762#true} {4958#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #91#return; {4958#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:22:01,945 INFO L272 TraceCheckUtils]: 71: Hoare triple {4958#(and (= main_~p~0 0) (= 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)); {4986#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:22:01,946 INFO L290 TraceCheckUtils]: 72: Hoare triple {4986#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4990#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:22:01,946 INFO L290 TraceCheckUtils]: 73: Hoare triple {4990#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4763#false} is VALID [2022-04-08 12:22:01,946 INFO L290 TraceCheckUtils]: 74: Hoare triple {4763#false} assume !false; {4763#false} is VALID [2022-04-08 12:22:01,946 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 15 proven. 12 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-08 12:22:01,946 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:22:13,171 INFO L290 TraceCheckUtils]: 74: Hoare triple {4763#false} assume !false; {4763#false} is VALID [2022-04-08 12:22:13,172 INFO L290 TraceCheckUtils]: 73: Hoare triple {4990#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4763#false} is VALID [2022-04-08 12:22:13,172 INFO L290 TraceCheckUtils]: 72: Hoare triple {4986#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4990#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:22:13,173 INFO L272 TraceCheckUtils]: 71: Hoare triple {5006#(= 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)); {4986#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:22:13,173 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {4762#true} {5006#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #91#return; {5006#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:22:13,173 INFO L290 TraceCheckUtils]: 69: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:13,173 INFO L290 TraceCheckUtils]: 68: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:13,173 INFO L290 TraceCheckUtils]: 67: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:13,173 INFO L272 TraceCheckUtils]: 66: Hoare triple {5006#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:13,174 INFO L290 TraceCheckUtils]: 65: Hoare triple {5006#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {5006#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:22:13,174 INFO L290 TraceCheckUtils]: 64: Hoare triple {5006#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5006#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:22:13,174 INFO L290 TraceCheckUtils]: 63: Hoare triple {5006#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {5006#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:22:13,175 INFO L290 TraceCheckUtils]: 62: Hoare triple {5034#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {5006#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:22:13,175 INFO L290 TraceCheckUtils]: 61: Hoare triple {5034#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {5034#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:22:13,176 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {4762#true} {5034#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #97#return; {5034#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:22:13,176 INFO L290 TraceCheckUtils]: 59: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:13,176 INFO L290 TraceCheckUtils]: 58: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:13,176 INFO L290 TraceCheckUtils]: 57: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:13,176 INFO L272 TraceCheckUtils]: 56: Hoare triple {5034#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:13,177 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4929#(not (= |__VERIFIER_assert_#in~cond| 0))} {4762#true} #95#return; {5034#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:22:13,177 INFO L290 TraceCheckUtils]: 54: Hoare triple {4929#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4929#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:22:13,177 INFO L290 TraceCheckUtils]: 53: Hoare triple {5065#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4929#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:22:13,178 INFO L290 TraceCheckUtils]: 52: Hoare triple {4762#true} ~cond := #in~cond; {5065#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:22:13,178 INFO L272 TraceCheckUtils]: 51: Hoare triple {4762#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:13,178 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4762#true} {4762#true} #93#return; {4762#true} is VALID [2022-04-08 12:22:13,178 INFO L290 TraceCheckUtils]: 49: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:13,178 INFO L290 TraceCheckUtils]: 48: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:13,178 INFO L290 TraceCheckUtils]: 47: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:13,178 INFO L272 TraceCheckUtils]: 46: Hoare triple {4762#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:13,178 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4762#true} {4762#true} #91#return; {4762#true} is VALID [2022-04-08 12:22:13,178 INFO L290 TraceCheckUtils]: 44: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:13,178 INFO L290 TraceCheckUtils]: 43: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:13,178 INFO L290 TraceCheckUtils]: 42: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:13,178 INFO L272 TraceCheckUtils]: 41: Hoare triple {4762#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:13,178 INFO L290 TraceCheckUtils]: 40: Hoare triple {4762#true} assume !false; {4762#true} is VALID [2022-04-08 12:22:13,178 INFO L290 TraceCheckUtils]: 39: Hoare triple {4762#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4762#true} is VALID [2022-04-08 12:22:13,179 INFO L290 TraceCheckUtils]: 38: Hoare triple {4762#true} assume !false; {4762#true} is VALID [2022-04-08 12:22:13,179 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4762#true} {4762#true} #89#return; {4762#true} is VALID [2022-04-08 12:22:13,179 INFO L290 TraceCheckUtils]: 36: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:13,179 INFO L290 TraceCheckUtils]: 35: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:13,179 INFO L290 TraceCheckUtils]: 34: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:13,179 INFO L272 TraceCheckUtils]: 33: Hoare triple {4762#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:13,179 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4762#true} {4762#true} #87#return; {4762#true} is VALID [2022-04-08 12:22:13,179 INFO L290 TraceCheckUtils]: 31: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:13,179 INFO L290 TraceCheckUtils]: 30: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:13,179 INFO L290 TraceCheckUtils]: 29: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:13,179 INFO L272 TraceCheckUtils]: 28: Hoare triple {4762#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:13,179 INFO L290 TraceCheckUtils]: 27: Hoare triple {4762#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {4762#true} is VALID [2022-04-08 12:22:13,179 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4762#true} {4762#true} #85#return; {4762#true} is VALID [2022-04-08 12:22:13,179 INFO L290 TraceCheckUtils]: 25: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:13,179 INFO L290 TraceCheckUtils]: 24: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:13,179 INFO L290 TraceCheckUtils]: 23: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:13,179 INFO L272 TraceCheckUtils]: 22: Hoare triple {4762#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:13,180 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4762#true} {4762#true} #83#return; {4762#true} is VALID [2022-04-08 12:22:13,180 INFO L290 TraceCheckUtils]: 20: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:13,180 INFO L290 TraceCheckUtils]: 19: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:13,180 INFO L290 TraceCheckUtils]: 18: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:13,180 INFO L272 TraceCheckUtils]: 17: Hoare triple {4762#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:13,180 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4762#true} {4762#true} #81#return; {4762#true} is VALID [2022-04-08 12:22:13,180 INFO L290 TraceCheckUtils]: 15: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:13,180 INFO L290 TraceCheckUtils]: 14: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:13,180 INFO L290 TraceCheckUtils]: 13: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:13,180 INFO L272 TraceCheckUtils]: 12: Hoare triple {4762#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:13,180 INFO L290 TraceCheckUtils]: 11: Hoare triple {4762#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4762#true} is VALID [2022-04-08 12:22:13,180 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4762#true} {4762#true} #79#return; {4762#true} is VALID [2022-04-08 12:22:13,180 INFO L290 TraceCheckUtils]: 9: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:13,180 INFO L290 TraceCheckUtils]: 8: Hoare triple {4762#true} assume !(0 == ~cond); {4762#true} is VALID [2022-04-08 12:22:13,180 INFO L290 TraceCheckUtils]: 7: Hoare triple {4762#true} ~cond := #in~cond; {4762#true} is VALID [2022-04-08 12:22:13,180 INFO L272 TraceCheckUtils]: 6: Hoare triple {4762#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {4762#true} is VALID [2022-04-08 12:22:13,181 INFO L290 TraceCheckUtils]: 5: Hoare triple {4762#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4762#true} is VALID [2022-04-08 12:22:13,181 INFO L272 TraceCheckUtils]: 4: Hoare triple {4762#true} call #t~ret6 := main(); {4762#true} is VALID [2022-04-08 12:22:13,181 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4762#true} {4762#true} #103#return; {4762#true} is VALID [2022-04-08 12:22:13,181 INFO L290 TraceCheckUtils]: 2: Hoare triple {4762#true} assume true; {4762#true} is VALID [2022-04-08 12:22:13,181 INFO L290 TraceCheckUtils]: 1: Hoare triple {4762#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {4762#true} is VALID [2022-04-08 12:22:13,181 INFO L272 TraceCheckUtils]: 0: Hoare triple {4762#true} call ULTIMATE.init(); {4762#true} is VALID [2022-04-08 12:22:13,181 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 20 proven. 7 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-08 12:22:13,181 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:22:13,181 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [609278528] [2022-04-08 12:22:13,181 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:22:13,181 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [190191257] [2022-04-08 12:22:13,181 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [190191257] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:22:13,181 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:22:13,181 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 13 [2022-04-08 12:22:13,182 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:22:13,182 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [905918206] [2022-04-08 12:22:13,182 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [905918206] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:22:13,182 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:22:13,182 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 12:22:13,182 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1390722247] [2022-04-08 12:22:13,182 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:22:13,182 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-08 12:22:13,182 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:22:13,183 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 12:22:13,218 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 12:22:13,218 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 12:22:13,218 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:22:13,218 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 12:22:13,218 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-08 12:22:13,218 INFO L87 Difference]: Start difference. First operand 89 states and 122 transitions. Second operand has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 12:22:13,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:13,914 INFO L93 Difference]: Finished difference Result 124 states and 173 transitions. [2022-04-08 12:22:13,914 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:22:13,914 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-08 12:22:13,914 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:22:13,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 12:22:13,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-08 12:22:13,916 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 12:22:13,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-08 12:22:13,917 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 83 transitions. [2022-04-08 12:22:13,959 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:22:13,961 INFO L225 Difference]: With dead ends: 124 [2022-04-08 12:22:13,961 INFO L226 Difference]: Without dead ends: 121 [2022-04-08 12:22:13,962 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 152 GetRequests, 137 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=50, Invalid=190, Unknown=0, NotChecked=0, Total=240 [2022-04-08 12:22:13,962 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 23 mSDsluCounter, 174 mSDsCounter, 0 mSdLazyCounter, 212 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 218 SdHoareTripleChecker+Invalid, 229 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 212 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 12:22:13,962 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 218 Invalid, 229 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 212 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 12:22:13,962 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-08 12:22:14,063 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 118. [2022-04-08 12:22:14,063 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:22:14,063 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 118 states, 62 states have (on average 1.2096774193548387) internal successors, (75), 64 states have internal predecessors, (75), 47 states have call successors, (47), 9 states have call predecessors, (47), 8 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 12:22:14,064 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 118 states, 62 states have (on average 1.2096774193548387) internal successors, (75), 64 states have internal predecessors, (75), 47 states have call successors, (47), 9 states have call predecessors, (47), 8 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 12:22:14,064 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 118 states, 62 states have (on average 1.2096774193548387) internal successors, (75), 64 states have internal predecessors, (75), 47 states have call successors, (47), 9 states have call predecessors, (47), 8 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 12:22:14,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:14,072 INFO L93 Difference]: Finished difference Result 121 states and 169 transitions. [2022-04-08 12:22:14,072 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 169 transitions. [2022-04-08 12:22:14,073 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:22:14,073 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:22:14,073 INFO L74 IsIncluded]: Start isIncluded. First operand has 118 states, 62 states have (on average 1.2096774193548387) internal successors, (75), 64 states have internal predecessors, (75), 47 states have call successors, (47), 9 states have call predecessors, (47), 8 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 121 states. [2022-04-08 12:22:14,073 INFO L87 Difference]: Start difference. First operand has 118 states, 62 states have (on average 1.2096774193548387) internal successors, (75), 64 states have internal predecessors, (75), 47 states have call successors, (47), 9 states have call predecessors, (47), 8 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 121 states. [2022-04-08 12:22:14,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:14,076 INFO L93 Difference]: Finished difference Result 121 states and 169 transitions. [2022-04-08 12:22:14,076 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 169 transitions. [2022-04-08 12:22:14,077 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:22:14,077 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:22:14,077 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:22:14,077 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:22:14,077 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 118 states, 62 states have (on average 1.2096774193548387) internal successors, (75), 64 states have internal predecessors, (75), 47 states have call successors, (47), 9 states have call predecessors, (47), 8 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 12:22:14,079 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 118 states to 118 states and 166 transitions. [2022-04-08 12:22:14,079 INFO L78 Accepts]: Start accepts. Automaton has 118 states and 166 transitions. Word has length 75 [2022-04-08 12:22:14,080 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:22:14,080 INFO L478 AbstractCegarLoop]: Abstraction has 118 states and 166 transitions. [2022-04-08 12:22:14,080 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 12:22:14,080 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 118 states and 166 transitions. [2022-04-08 12:22:14,309 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 166 edges. 166 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:22:14,309 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 166 transitions. [2022-04-08 12:22:14,309 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-08 12:22:14,309 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:22:14,310 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:22:14,326 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-08 12:22:14,510 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-08 12:22:14,510 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:22:14,510 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:22:14,510 INFO L85 PathProgramCache]: Analyzing trace with hash -1245952186, now seen corresponding path program 3 times [2022-04-08 12:22:14,510 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:22:14,510 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1215499186] [2022-04-08 12:22:14,511 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:22:14,511 INFO L85 PathProgramCache]: Analyzing trace with hash -1245952186, now seen corresponding path program 4 times [2022-04-08 12:22:14,511 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:22:14,511 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [816275991] [2022-04-08 12:22:14,511 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:22:14,511 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:22:14,526 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:22:14,526 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1522681058] [2022-04-08 12:22:14,526 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:22:14,526 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:22:14,526 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:22:14,536 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 12:22:14,543 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 12:22:14,583 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:22:14,584 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:22:14,584 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-08 12:22:14,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:22:14,617 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:22:15,275 INFO L272 TraceCheckUtils]: 0: Hoare triple {5956#true} call ULTIMATE.init(); {5956#true} is VALID [2022-04-08 12:22:15,275 INFO L290 TraceCheckUtils]: 1: Hoare triple {5956#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {5956#true} is VALID [2022-04-08 12:22:15,276 INFO L290 TraceCheckUtils]: 2: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,276 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5956#true} {5956#true} #103#return; {5956#true} is VALID [2022-04-08 12:22:15,276 INFO L272 TraceCheckUtils]: 4: Hoare triple {5956#true} call #t~ret6 := main(); {5956#true} is VALID [2022-04-08 12:22:15,276 INFO L290 TraceCheckUtils]: 5: Hoare triple {5956#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5956#true} is VALID [2022-04-08 12:22:15,276 INFO L272 TraceCheckUtils]: 6: Hoare triple {5956#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,276 INFO L290 TraceCheckUtils]: 7: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,276 INFO L290 TraceCheckUtils]: 8: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,276 INFO L290 TraceCheckUtils]: 9: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,276 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5956#true} {5956#true} #79#return; {5956#true} is VALID [2022-04-08 12:22:15,276 INFO L290 TraceCheckUtils]: 11: Hoare triple {5956#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5956#true} is VALID [2022-04-08 12:22:15,276 INFO L272 TraceCheckUtils]: 12: Hoare triple {5956#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,276 INFO L290 TraceCheckUtils]: 13: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,276 INFO L290 TraceCheckUtils]: 14: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,276 INFO L290 TraceCheckUtils]: 15: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,276 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5956#true} {5956#true} #81#return; {5956#true} is VALID [2022-04-08 12:22:15,276 INFO L272 TraceCheckUtils]: 17: Hoare triple {5956#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,277 INFO L290 TraceCheckUtils]: 18: Hoare triple {5956#true} ~cond := #in~cond; {6015#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:22:15,277 INFO L290 TraceCheckUtils]: 19: Hoare triple {6015#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6019#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:22:15,277 INFO L290 TraceCheckUtils]: 20: Hoare triple {6019#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6019#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:22:15,278 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6019#(not (= |assume_abort_if_not_#in~cond| 0))} {5956#true} #83#return; {6026#(<= 1 main_~x~0)} is VALID [2022-04-08 12:22:15,278 INFO L272 TraceCheckUtils]: 22: Hoare triple {6026#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,278 INFO L290 TraceCheckUtils]: 23: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,278 INFO L290 TraceCheckUtils]: 24: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,278 INFO L290 TraceCheckUtils]: 25: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,278 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5956#true} {6026#(<= 1 main_~x~0)} #85#return; {6026#(<= 1 main_~x~0)} is VALID [2022-04-08 12:22:15,279 INFO L290 TraceCheckUtils]: 27: Hoare triple {6026#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {6045#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:22:15,279 INFO L272 TraceCheckUtils]: 28: Hoare triple {6045#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,279 INFO L290 TraceCheckUtils]: 29: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,279 INFO L290 TraceCheckUtils]: 30: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,279 INFO L290 TraceCheckUtils]: 31: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,280 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5956#true} {6045#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {6045#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:22:15,280 INFO L272 TraceCheckUtils]: 33: Hoare triple {6045#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,280 INFO L290 TraceCheckUtils]: 34: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,280 INFO L290 TraceCheckUtils]: 35: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,280 INFO L290 TraceCheckUtils]: 36: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,281 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5956#true} {6045#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {6045#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:22:15,281 INFO L290 TraceCheckUtils]: 38: Hoare triple {6045#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {6045#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:22:15,281 INFO L290 TraceCheckUtils]: 39: Hoare triple {6045#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6082#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:22:15,282 INFO L290 TraceCheckUtils]: 40: Hoare triple {6082#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {6082#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:22:15,282 INFO L272 TraceCheckUtils]: 41: Hoare triple {6082#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,282 INFO L290 TraceCheckUtils]: 42: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,282 INFO L290 TraceCheckUtils]: 43: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,282 INFO L290 TraceCheckUtils]: 44: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,283 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5956#true} {6082#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #91#return; {6082#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:22:15,283 INFO L272 TraceCheckUtils]: 46: Hoare triple {6082#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,283 INFO L290 TraceCheckUtils]: 47: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,283 INFO L290 TraceCheckUtils]: 48: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,283 INFO L290 TraceCheckUtils]: 49: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,284 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5956#true} {6082#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #93#return; {6082#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:22:15,284 INFO L272 TraceCheckUtils]: 51: Hoare triple {6082#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,284 INFO L290 TraceCheckUtils]: 52: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,284 INFO L290 TraceCheckUtils]: 53: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,284 INFO L290 TraceCheckUtils]: 54: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,284 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5956#true} {6082#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #95#return; {6082#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:22:15,284 INFO L272 TraceCheckUtils]: 56: Hoare triple {6082#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,285 INFO L290 TraceCheckUtils]: 57: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,285 INFO L290 TraceCheckUtils]: 58: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,285 INFO L290 TraceCheckUtils]: 59: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,285 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {5956#true} {6082#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #97#return; {6082#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:22:15,286 INFO L290 TraceCheckUtils]: 61: Hoare triple {6082#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {6149#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:22:15,286 INFO L290 TraceCheckUtils]: 62: Hoare triple {6149#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6153#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-08 12:22:15,287 INFO L290 TraceCheckUtils]: 63: Hoare triple {6153#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {6153#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-08 12:22:15,287 INFO L290 TraceCheckUtils]: 64: Hoare triple {6153#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6153#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-08 12:22:15,287 INFO L290 TraceCheckUtils]: 65: Hoare triple {6153#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {6153#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-08 12:22:15,288 INFO L272 TraceCheckUtils]: 66: Hoare triple {6153#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,288 INFO L290 TraceCheckUtils]: 67: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,288 INFO L290 TraceCheckUtils]: 68: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,288 INFO L290 TraceCheckUtils]: 69: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,288 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {5956#true} {6153#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #91#return; {6153#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-08 12:22:15,288 INFO L272 TraceCheckUtils]: 71: Hoare triple {6153#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,288 INFO L290 TraceCheckUtils]: 72: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,288 INFO L290 TraceCheckUtils]: 73: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,289 INFO L290 TraceCheckUtils]: 74: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,289 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5956#true} {6153#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #93#return; {6153#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-08 12:22:15,290 INFO L272 TraceCheckUtils]: 76: Hoare triple {6153#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6196#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:22:15,290 INFO L290 TraceCheckUtils]: 77: Hoare triple {6196#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6200#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:22:15,290 INFO L290 TraceCheckUtils]: 78: Hoare triple {6200#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5957#false} is VALID [2022-04-08 12:22:15,290 INFO L290 TraceCheckUtils]: 79: Hoare triple {5957#false} assume !false; {5957#false} is VALID [2022-04-08 12:22:15,291 INFO L134 CoverageAnalysis]: Checked inductivity of 138 backedges. 18 proven. 15 refuted. 0 times theorem prover too weak. 105 trivial. 0 not checked. [2022-04-08 12:22:15,291 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:22:15,709 INFO L290 TraceCheckUtils]: 79: Hoare triple {5957#false} assume !false; {5957#false} is VALID [2022-04-08 12:22:15,709 INFO L290 TraceCheckUtils]: 78: Hoare triple {6200#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5957#false} is VALID [2022-04-08 12:22:15,710 INFO L290 TraceCheckUtils]: 77: Hoare triple {6196#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6200#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:22:15,710 INFO L272 TraceCheckUtils]: 76: Hoare triple {6216#(= 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)); {6196#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:22:15,711 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5956#true} {6216#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #93#return; {6216#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:22:15,711 INFO L290 TraceCheckUtils]: 74: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,711 INFO L290 TraceCheckUtils]: 73: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,711 INFO L290 TraceCheckUtils]: 72: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,711 INFO L272 TraceCheckUtils]: 71: Hoare triple {6216#(= 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)); {5956#true} is VALID [2022-04-08 12:22:15,712 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {5956#true} {6216#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #91#return; {6216#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:22:15,712 INFO L290 TraceCheckUtils]: 69: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,712 INFO L290 TraceCheckUtils]: 68: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,712 INFO L290 TraceCheckUtils]: 67: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,712 INFO L272 TraceCheckUtils]: 66: Hoare triple {6216#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,712 INFO L290 TraceCheckUtils]: 65: Hoare triple {6216#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {6216#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:22:15,713 INFO L290 TraceCheckUtils]: 64: Hoare triple {6253#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6216#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:22:15,713 INFO L290 TraceCheckUtils]: 63: Hoare triple {6253#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 0))} assume !false; {6253#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 0))} is VALID [2022-04-08 12:22:15,858 INFO L290 TraceCheckUtils]: 62: Hoare triple {6260#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (= main_~c~0 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6253#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 0))} is VALID [2022-04-08 12:22:15,858 INFO L290 TraceCheckUtils]: 61: Hoare triple {6264#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} assume !(~c~0 >= ~b~0); {6260#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (= main_~c~0 0))} is VALID [2022-04-08 12:22:15,859 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {5956#true} {6264#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} #97#return; {6264#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} is VALID [2022-04-08 12:22:15,859 INFO L290 TraceCheckUtils]: 59: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,859 INFO L290 TraceCheckUtils]: 58: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,859 INFO L290 TraceCheckUtils]: 57: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,859 INFO L272 TraceCheckUtils]: 56: Hoare triple {6264#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,860 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5956#true} {6264#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} #95#return; {6264#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} is VALID [2022-04-08 12:22:15,860 INFO L290 TraceCheckUtils]: 54: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,860 INFO L290 TraceCheckUtils]: 53: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,860 INFO L290 TraceCheckUtils]: 52: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,860 INFO L272 TraceCheckUtils]: 51: Hoare triple {6264#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,860 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5956#true} {6264#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} #93#return; {6264#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} is VALID [2022-04-08 12:22:15,860 INFO L290 TraceCheckUtils]: 49: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,860 INFO L290 TraceCheckUtils]: 48: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,860 INFO L290 TraceCheckUtils]: 47: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,860 INFO L272 TraceCheckUtils]: 46: Hoare triple {6264#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,861 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5956#true} {6264#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} #91#return; {6264#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} is VALID [2022-04-08 12:22:15,861 INFO L290 TraceCheckUtils]: 44: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,861 INFO L290 TraceCheckUtils]: 43: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,861 INFO L290 TraceCheckUtils]: 42: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,861 INFO L272 TraceCheckUtils]: 41: Hoare triple {6264#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,861 INFO L290 TraceCheckUtils]: 40: Hoare triple {6264#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} assume !false; {6264#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} is VALID [2022-04-08 12:22:15,862 INFO L290 TraceCheckUtils]: 39: Hoare triple {6331#(or (= main_~a~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6264#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} is VALID [2022-04-08 12:22:15,862 INFO L290 TraceCheckUtils]: 38: Hoare triple {6331#(or (= main_~a~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} assume !false; {6331#(or (= main_~a~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-08 12:22:15,863 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5956#true} {6331#(or (= main_~a~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} #89#return; {6331#(or (= main_~a~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-08 12:22:15,863 INFO L290 TraceCheckUtils]: 36: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,863 INFO L290 TraceCheckUtils]: 35: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,863 INFO L290 TraceCheckUtils]: 34: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,863 INFO L272 TraceCheckUtils]: 33: Hoare triple {6331#(or (= main_~a~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,863 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5956#true} {6331#(or (= main_~a~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} #87#return; {6331#(or (= main_~a~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-08 12:22:15,863 INFO L290 TraceCheckUtils]: 31: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,863 INFO L290 TraceCheckUtils]: 30: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,863 INFO L290 TraceCheckUtils]: 29: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,863 INFO L272 TraceCheckUtils]: 28: Hoare triple {6331#(or (= main_~a~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,864 INFO L290 TraceCheckUtils]: 27: Hoare triple {5956#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {6331#(or (= main_~a~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-08 12:22:15,864 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5956#true} {5956#true} #85#return; {5956#true} is VALID [2022-04-08 12:22:15,864 INFO L290 TraceCheckUtils]: 25: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,864 INFO L290 TraceCheckUtils]: 24: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,864 INFO L290 TraceCheckUtils]: 23: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,864 INFO L272 TraceCheckUtils]: 22: Hoare triple {5956#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,864 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5956#true} {5956#true} #83#return; {5956#true} is VALID [2022-04-08 12:22:15,864 INFO L290 TraceCheckUtils]: 20: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,864 INFO L290 TraceCheckUtils]: 19: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,864 INFO L290 TraceCheckUtils]: 18: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,864 INFO L272 TraceCheckUtils]: 17: Hoare triple {5956#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,864 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5956#true} {5956#true} #81#return; {5956#true} is VALID [2022-04-08 12:22:15,864 INFO L290 TraceCheckUtils]: 15: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,865 INFO L290 TraceCheckUtils]: 14: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,865 INFO L290 TraceCheckUtils]: 13: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,865 INFO L272 TraceCheckUtils]: 12: Hoare triple {5956#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,865 INFO L290 TraceCheckUtils]: 11: Hoare triple {5956#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5956#true} is VALID [2022-04-08 12:22:15,865 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5956#true} {5956#true} #79#return; {5956#true} is VALID [2022-04-08 12:22:15,865 INFO L290 TraceCheckUtils]: 9: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,865 INFO L290 TraceCheckUtils]: 8: Hoare triple {5956#true} assume !(0 == ~cond); {5956#true} is VALID [2022-04-08 12:22:15,865 INFO L290 TraceCheckUtils]: 7: Hoare triple {5956#true} ~cond := #in~cond; {5956#true} is VALID [2022-04-08 12:22:15,865 INFO L272 TraceCheckUtils]: 6: Hoare triple {5956#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {5956#true} is VALID [2022-04-08 12:22:15,865 INFO L290 TraceCheckUtils]: 5: Hoare triple {5956#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5956#true} is VALID [2022-04-08 12:22:15,865 INFO L272 TraceCheckUtils]: 4: Hoare triple {5956#true} call #t~ret6 := main(); {5956#true} is VALID [2022-04-08 12:22:15,865 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5956#true} {5956#true} #103#return; {5956#true} is VALID [2022-04-08 12:22:15,865 INFO L290 TraceCheckUtils]: 2: Hoare triple {5956#true} assume true; {5956#true} is VALID [2022-04-08 12:22:15,865 INFO L290 TraceCheckUtils]: 1: Hoare triple {5956#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {5956#true} is VALID [2022-04-08 12:22:15,865 INFO L272 TraceCheckUtils]: 0: Hoare triple {5956#true} call ULTIMATE.init(); {5956#true} is VALID [2022-04-08 12:22:15,866 INFO L134 CoverageAnalysis]: Checked inductivity of 138 backedges. 12 proven. 6 refuted. 0 times theorem prover too weak. 120 trivial. 0 not checked. [2022-04-08 12:22:15,866 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:22:15,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [816275991] [2022-04-08 12:22:15,866 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:22:15,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1522681058] [2022-04-08 12:22:15,866 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1522681058] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:22:15,866 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:22:15,866 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 16 [2022-04-08 12:22:15,866 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:22:15,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1215499186] [2022-04-08 12:22:15,866 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1215499186] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:22:15,866 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:22:15,866 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 12:22:15,867 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1623736650] [2022-04-08 12:22:15,867 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:22:15,867 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 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 80 [2022-04-08 12:22:15,867 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:22:15,867 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 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 12:22:15,896 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:22:15,896 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 12:22:15,896 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:22:15,896 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 12:22:15,896 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=198, Unknown=0, NotChecked=0, Total=240 [2022-04-08 12:22:15,896 INFO L87 Difference]: Start difference. First operand 118 states and 166 transitions. Second operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 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 12:22:16,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:16,750 INFO L93 Difference]: Finished difference Result 130 states and 176 transitions. [2022-04-08 12:22:16,750 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 12:22:16,750 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 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 80 [2022-04-08 12:22:16,750 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:22:16,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 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 12:22:16,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 91 transitions. [2022-04-08 12:22:16,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 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 12:22:16,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 91 transitions. [2022-04-08 12:22:16,753 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 91 transitions. [2022-04-08 12:22:16,855 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:22:16,857 INFO L225 Difference]: With dead ends: 130 [2022-04-08 12:22:16,857 INFO L226 Difference]: Without dead ends: 128 [2022-04-08 12:22:16,857 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 144 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=68, Invalid=312, Unknown=0, NotChecked=0, Total=380 [2022-04-08 12:22:16,858 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 36 mSDsluCounter, 156 mSDsCounter, 0 mSdLazyCounter, 274 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 202 SdHoareTripleChecker+Invalid, 300 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 274 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 12:22:16,859 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [47 Valid, 202 Invalid, 300 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 274 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 12:22:16,859 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-08 12:22:17,053 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 126. [2022-04-08 12:22:17,053 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:22:17,053 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 126 states, 68 states have (on average 1.1911764705882353) internal successors, (81), 70 states have internal predecessors, (81), 47 states have call successors, (47), 11 states have call predecessors, (47), 10 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 12:22:17,053 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 126 states, 68 states have (on average 1.1911764705882353) internal successors, (81), 70 states have internal predecessors, (81), 47 states have call successors, (47), 11 states have call predecessors, (47), 10 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 12:22:17,054 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 126 states, 68 states have (on average 1.1911764705882353) internal successors, (81), 70 states have internal predecessors, (81), 47 states have call successors, (47), 11 states have call predecessors, (47), 10 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 12:22:17,056 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:17,056 INFO L93 Difference]: Finished difference Result 128 states and 174 transitions. [2022-04-08 12:22:17,056 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 174 transitions. [2022-04-08 12:22:17,057 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:22:17,057 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:22:17,057 INFO L74 IsIncluded]: Start isIncluded. First operand has 126 states, 68 states have (on average 1.1911764705882353) internal successors, (81), 70 states have internal predecessors, (81), 47 states have call successors, (47), 11 states have call predecessors, (47), 10 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 128 states. [2022-04-08 12:22:17,057 INFO L87 Difference]: Start difference. First operand has 126 states, 68 states have (on average 1.1911764705882353) internal successors, (81), 70 states have internal predecessors, (81), 47 states have call successors, (47), 11 states have call predecessors, (47), 10 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 128 states. [2022-04-08 12:22:17,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:17,060 INFO L93 Difference]: Finished difference Result 128 states and 174 transitions. [2022-04-08 12:22:17,060 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 174 transitions. [2022-04-08 12:22:17,060 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:22:17,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:22:17,060 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:22:17,060 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:22:17,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 126 states, 68 states have (on average 1.1911764705882353) internal successors, (81), 70 states have internal predecessors, (81), 47 states have call successors, (47), 11 states have call predecessors, (47), 10 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 12:22:17,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 172 transitions. [2022-04-08 12:22:17,063 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 172 transitions. Word has length 80 [2022-04-08 12:22:17,063 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:22:17,063 INFO L478 AbstractCegarLoop]: Abstraction has 126 states and 172 transitions. [2022-04-08 12:22:17,063 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 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 12:22:17,063 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 126 states and 172 transitions. [2022-04-08 12:22:17,272 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 172 edges. 172 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:22:17,273 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 172 transitions. [2022-04-08 12:22:17,273 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-08 12:22:17,273 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:22:17,273 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:22:17,291 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 12:22:17,489 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-08 12:22:17,489 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:22:17,489 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:22:17,489 INFO L85 PathProgramCache]: Analyzing trace with hash 901388446, now seen corresponding path program 5 times [2022-04-08 12:22:17,490 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:22:17,490 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [451612285] [2022-04-08 12:22:17,490 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:22:17,490 INFO L85 PathProgramCache]: Analyzing trace with hash 901388446, now seen corresponding path program 6 times [2022-04-08 12:22:17,490 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:22:17,490 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [74333310] [2022-04-08 12:22:17,490 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:22:17,490 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:22:17,500 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:22:17,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [250446820] [2022-04-08 12:22:17,500 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 12:22:17,500 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:22:17,500 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:22:17,500 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 12:22:17,516 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 12:22:17,554 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 12:22:17,554 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:22:17,555 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-08 12:22:17,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:22:17,568 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:22:18,189 INFO L272 TraceCheckUtils]: 0: Hoare triple {7227#true} call ULTIMATE.init(); {7227#true} is VALID [2022-04-08 12:22:18,189 INFO L290 TraceCheckUtils]: 1: Hoare triple {7227#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {7227#true} is VALID [2022-04-08 12:22:18,189 INFO L290 TraceCheckUtils]: 2: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:22:18,189 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7227#true} {7227#true} #103#return; {7227#true} is VALID [2022-04-08 12:22:18,189 INFO L272 TraceCheckUtils]: 4: Hoare triple {7227#true} call #t~ret6 := main(); {7227#true} is VALID [2022-04-08 12:22:18,189 INFO L290 TraceCheckUtils]: 5: Hoare triple {7227#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7227#true} is VALID [2022-04-08 12:22:18,189 INFO L272 TraceCheckUtils]: 6: Hoare triple {7227#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:22:18,189 INFO L290 TraceCheckUtils]: 7: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:22:18,189 INFO L290 TraceCheckUtils]: 8: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:22:18,190 INFO L290 TraceCheckUtils]: 9: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:22:18,190 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7227#true} {7227#true} #79#return; {7227#true} is VALID [2022-04-08 12:22:18,190 INFO L290 TraceCheckUtils]: 11: Hoare triple {7227#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7227#true} is VALID [2022-04-08 12:22:18,190 INFO L272 TraceCheckUtils]: 12: Hoare triple {7227#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:22:18,190 INFO L290 TraceCheckUtils]: 13: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:22:18,190 INFO L290 TraceCheckUtils]: 14: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:22:18,190 INFO L290 TraceCheckUtils]: 15: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:22:18,190 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7227#true} {7227#true} #81#return; {7227#true} is VALID [2022-04-08 12:22:18,190 INFO L272 TraceCheckUtils]: 17: Hoare triple {7227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:22:18,207 INFO L290 TraceCheckUtils]: 18: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:22:18,207 INFO L290 TraceCheckUtils]: 19: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:22:18,207 INFO L290 TraceCheckUtils]: 20: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:22:18,207 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7227#true} {7227#true} #83#return; {7227#true} is VALID [2022-04-08 12:22:18,207 INFO L272 TraceCheckUtils]: 22: Hoare triple {7227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:22:18,207 INFO L290 TraceCheckUtils]: 23: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:22:18,207 INFO L290 TraceCheckUtils]: 24: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:22:18,207 INFO L290 TraceCheckUtils]: 25: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:22:18,207 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7227#true} {7227#true} #85#return; {7227#true} is VALID [2022-04-08 12:22:18,209 INFO L290 TraceCheckUtils]: 27: Hoare triple {7227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:22:18,209 INFO L272 TraceCheckUtils]: 28: Hoare triple {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:22:18,209 INFO L290 TraceCheckUtils]: 29: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:22:18,209 INFO L290 TraceCheckUtils]: 30: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:22:18,209 INFO L290 TraceCheckUtils]: 31: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:22:18,210 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7227#true} {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #87#return; {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:22:18,210 INFO L272 TraceCheckUtils]: 33: Hoare triple {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:22:18,210 INFO L290 TraceCheckUtils]: 34: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:22:18,210 INFO L290 TraceCheckUtils]: 35: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:22:18,210 INFO L290 TraceCheckUtils]: 36: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:22:18,210 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7227#true} {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #89#return; {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:22:18,211 INFO L290 TraceCheckUtils]: 38: Hoare triple {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !false; {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:22:18,211 INFO L290 TraceCheckUtils]: 39: Hoare triple {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7350#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:22:18,211 INFO L290 TraceCheckUtils]: 40: Hoare triple {7350#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !false; {7350#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:22:18,211 INFO L272 TraceCheckUtils]: 41: Hoare triple {7350#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:22:18,211 INFO L290 TraceCheckUtils]: 42: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:22:18,212 INFO L290 TraceCheckUtils]: 43: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:22:18,212 INFO L290 TraceCheckUtils]: 44: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:22:18,212 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7227#true} {7350#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #91#return; {7350#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:22:18,212 INFO L272 TraceCheckUtils]: 46: Hoare triple {7350#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {7227#true} is VALID [2022-04-08 12:22:18,212 INFO L290 TraceCheckUtils]: 47: Hoare triple {7227#true} ~cond := #in~cond; {7375#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:22:18,212 INFO L290 TraceCheckUtils]: 48: Hoare triple {7375#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7379#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:22:18,213 INFO L290 TraceCheckUtils]: 49: Hoare triple {7379#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7379#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:22:18,213 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7379#(not (= |__VERIFIER_assert_#in~cond| 0))} {7350#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #93#return; {7386#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-08 12:22:18,213 INFO L272 TraceCheckUtils]: 51: Hoare triple {7386#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:22:18,213 INFO L290 TraceCheckUtils]: 52: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:22:18,213 INFO L290 TraceCheckUtils]: 53: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:22:18,213 INFO L290 TraceCheckUtils]: 54: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:22:18,215 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7227#true} {7386#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} #95#return; {7386#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-08 12:22:18,215 INFO L272 TraceCheckUtils]: 56: Hoare triple {7386#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:22:18,215 INFO L290 TraceCheckUtils]: 57: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:22:18,215 INFO L290 TraceCheckUtils]: 58: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:22:18,215 INFO L290 TraceCheckUtils]: 59: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:22:18,218 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {7227#true} {7386#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} #97#return; {7386#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-08 12:22:18,219 INFO L290 TraceCheckUtils]: 61: Hoare triple {7386#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {7386#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-08 12:22:18,220 INFO L290 TraceCheckUtils]: 62: Hoare triple {7386#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7423#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:22:18,220 INFO L290 TraceCheckUtils]: 63: Hoare triple {7423#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {7423#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:22:18,220 INFO L290 TraceCheckUtils]: 64: Hoare triple {7423#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7430#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:22:18,221 INFO L290 TraceCheckUtils]: 65: Hoare triple {7430#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {7430#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:22:18,221 INFO L272 TraceCheckUtils]: 66: Hoare triple {7430#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:22:18,221 INFO L290 TraceCheckUtils]: 67: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:22:18,221 INFO L290 TraceCheckUtils]: 68: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:22:18,221 INFO L290 TraceCheckUtils]: 69: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:22:18,221 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {7227#true} {7430#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #91#return; {7430#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:22:18,221 INFO L272 TraceCheckUtils]: 71: Hoare triple {7430#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:22:18,222 INFO L290 TraceCheckUtils]: 72: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:22:18,222 INFO L290 TraceCheckUtils]: 73: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:22:18,222 INFO L290 TraceCheckUtils]: 74: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:22:18,222 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {7227#true} {7430#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #93#return; {7430#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:22:18,222 INFO L272 TraceCheckUtils]: 76: Hoare triple {7430#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:22:18,222 INFO L290 TraceCheckUtils]: 77: Hoare triple {7227#true} ~cond := #in~cond; {7375#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:22:18,222 INFO L290 TraceCheckUtils]: 78: Hoare triple {7375#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7379#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:22:18,223 INFO L290 TraceCheckUtils]: 79: Hoare triple {7379#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7379#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:22:18,223 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {7379#(not (= |__VERIFIER_assert_#in~cond| 0))} {7430#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #95#return; {7430#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:22:18,225 INFO L272 TraceCheckUtils]: 81: Hoare triple {7430#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {7482#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:22:18,225 INFO L290 TraceCheckUtils]: 82: Hoare triple {7482#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7486#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:22:18,226 INFO L290 TraceCheckUtils]: 83: Hoare triple {7486#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7228#false} is VALID [2022-04-08 12:22:18,226 INFO L290 TraceCheckUtils]: 84: Hoare triple {7228#false} assume !false; {7228#false} is VALID [2022-04-08 12:22:18,226 INFO L134 CoverageAnalysis]: Checked inductivity of 165 backedges. 30 proven. 21 refuted. 0 times theorem prover too weak. 114 trivial. 0 not checked. [2022-04-08 12:22:18,226 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:23:00,840 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:23:00,840 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [74333310] [2022-04-08 12:23:00,840 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:23:00,841 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [250446820] [2022-04-08 12:23:00,841 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [250446820] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 12:23:00,841 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:23:00,841 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-08 12:23:00,841 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:23:00,841 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [451612285] [2022-04-08 12:23:00,841 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [451612285] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:23:00,841 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:23:00,841 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 12:23:00,841 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [876053306] [2022-04-08 12:23:00,841 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:23:00,842 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 85 [2022-04-08 12:23:00,842 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:23:00,842 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 12:23:00,894 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 12:23:00,895 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 12:23:00,895 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:23:00,895 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 12:23:00,895 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-08 12:23:00,895 INFO L87 Difference]: Start difference. First operand 126 states and 172 transitions. Second operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 12:23:02,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:23:02,496 INFO L93 Difference]: Finished difference Result 134 states and 179 transitions. [2022-04-08 12:23:02,496 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 12:23:02,496 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 85 [2022-04-08 12:23:02,496 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:23:02,496 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 12:23:02,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 91 transitions. [2022-04-08 12:23:02,498 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 12:23:02,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 91 transitions. [2022-04-08 12:23:02,502 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 91 transitions. [2022-04-08 12:23:02,599 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:23:02,601 INFO L225 Difference]: With dead ends: 134 [2022-04-08 12:23:02,601 INFO L226 Difference]: Without dead ends: 132 [2022-04-08 12:23:02,601 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 77 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=47, Invalid=193, Unknown=0, NotChecked=0, Total=240 [2022-04-08 12:23:02,602 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 24 mSDsluCounter, 159 mSDsCounter, 0 mSdLazyCounter, 312 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 199 SdHoareTripleChecker+Invalid, 329 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 312 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-08 12:23:02,602 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 199 Invalid, 329 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 312 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-08 12:23:02,602 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-08 12:23:02,777 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 130. [2022-04-08 12:23:02,777 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:23:02,785 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 130 states, 71 states have (on average 1.1830985915492958) internal successors, (84), 73 states have internal predecessors, (84), 47 states have call successors, (47), 12 states have call predecessors, (47), 11 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 12:23:02,786 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 130 states, 71 states have (on average 1.1830985915492958) internal successors, (84), 73 states have internal predecessors, (84), 47 states have call successors, (47), 12 states have call predecessors, (47), 11 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 12:23:02,786 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 130 states, 71 states have (on average 1.1830985915492958) internal successors, (84), 73 states have internal predecessors, (84), 47 states have call successors, (47), 12 states have call predecessors, (47), 11 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 12:23:02,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:23:02,804 INFO L93 Difference]: Finished difference Result 132 states and 177 transitions. [2022-04-08 12:23:02,804 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 177 transitions. [2022-04-08 12:23:02,805 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:23:02,805 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:23:02,806 INFO L74 IsIncluded]: Start isIncluded. First operand has 130 states, 71 states have (on average 1.1830985915492958) internal successors, (84), 73 states have internal predecessors, (84), 47 states have call successors, (47), 12 states have call predecessors, (47), 11 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 132 states. [2022-04-08 12:23:02,806 INFO L87 Difference]: Start difference. First operand has 130 states, 71 states have (on average 1.1830985915492958) internal successors, (84), 73 states have internal predecessors, (84), 47 states have call successors, (47), 12 states have call predecessors, (47), 11 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 132 states. [2022-04-08 12:23:02,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:23:02,809 INFO L93 Difference]: Finished difference Result 132 states and 177 transitions. [2022-04-08 12:23:02,809 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 177 transitions. [2022-04-08 12:23:02,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:23:02,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:23:02,810 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:23:02,810 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:23:02,810 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 71 states have (on average 1.1830985915492958) internal successors, (84), 73 states have internal predecessors, (84), 47 states have call successors, (47), 12 states have call predecessors, (47), 11 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 12:23:02,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 175 transitions. [2022-04-08 12:23:02,813 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 175 transitions. Word has length 85 [2022-04-08 12:23:02,813 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:23:02,813 INFO L478 AbstractCegarLoop]: Abstraction has 130 states and 175 transitions. [2022-04-08 12:23:02,813 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 12:23:02,813 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 130 states and 175 transitions. [2022-04-08 12:23:03,114 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 175 edges. 175 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:23:03,114 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 175 transitions. [2022-04-08 12:23:03,114 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-08 12:23:03,114 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:23:03,115 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:23:03,131 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 12:23:03,315 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 12:23:03,315 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:23:03,315 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:23:03,316 INFO L85 PathProgramCache]: Analyzing trace with hash -686534738, now seen corresponding path program 1 times [2022-04-08 12:23:03,316 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:23:03,316 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1270168118] [2022-04-08 12:23:03,316 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:23:03,316 INFO L85 PathProgramCache]: Analyzing trace with hash -686534738, now seen corresponding path program 2 times [2022-04-08 12:23:03,316 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:23:03,316 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [715221758] [2022-04-08 12:23:03,316 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:23:03,316 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:23:03,336 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:23:03,336 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [524174446] [2022-04-08 12:23:03,336 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:23:03,336 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:23:03,336 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:23:03,348 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 12:23:03,351 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 12:23:03,398 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:23:03,398 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:23:03,399 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-08 12:23:03,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:23:03,412 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:23:04,052 INFO L272 TraceCheckUtils]: 0: Hoare triple {8307#true} call ULTIMATE.init(); {8307#true} is VALID [2022-04-08 12:23:04,052 INFO L290 TraceCheckUtils]: 1: Hoare triple {8307#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {8307#true} is VALID [2022-04-08 12:23:04,052 INFO L290 TraceCheckUtils]: 2: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:04,052 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8307#true} {8307#true} #103#return; {8307#true} is VALID [2022-04-08 12:23:04,052 INFO L272 TraceCheckUtils]: 4: Hoare triple {8307#true} call #t~ret6 := main(); {8307#true} is VALID [2022-04-08 12:23:04,052 INFO L290 TraceCheckUtils]: 5: Hoare triple {8307#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8307#true} is VALID [2022-04-08 12:23:04,052 INFO L272 TraceCheckUtils]: 6: Hoare triple {8307#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:04,052 INFO L290 TraceCheckUtils]: 7: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:04,052 INFO L290 TraceCheckUtils]: 8: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:04,052 INFO L290 TraceCheckUtils]: 9: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:04,052 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8307#true} {8307#true} #79#return; {8307#true} is VALID [2022-04-08 12:23:04,052 INFO L290 TraceCheckUtils]: 11: Hoare triple {8307#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8307#true} is VALID [2022-04-08 12:23:04,053 INFO L272 TraceCheckUtils]: 12: Hoare triple {8307#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:04,053 INFO L290 TraceCheckUtils]: 13: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:04,053 INFO L290 TraceCheckUtils]: 14: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:04,053 INFO L290 TraceCheckUtils]: 15: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:04,053 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8307#true} {8307#true} #81#return; {8307#true} is VALID [2022-04-08 12:23:04,053 INFO L272 TraceCheckUtils]: 17: Hoare triple {8307#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:04,053 INFO L290 TraceCheckUtils]: 18: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:04,053 INFO L290 TraceCheckUtils]: 19: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:04,053 INFO L290 TraceCheckUtils]: 20: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:04,053 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8307#true} {8307#true} #83#return; {8307#true} is VALID [2022-04-08 12:23:04,053 INFO L272 TraceCheckUtils]: 22: Hoare triple {8307#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:04,053 INFO L290 TraceCheckUtils]: 23: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:04,053 INFO L290 TraceCheckUtils]: 24: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:04,053 INFO L290 TraceCheckUtils]: 25: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:04,053 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8307#true} {8307#true} #85#return; {8307#true} is VALID [2022-04-08 12:23:04,054 INFO L290 TraceCheckUtils]: 27: Hoare triple {8307#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {8393#(and (= main_~r~0 0) (= 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 12:23:04,054 INFO L272 TraceCheckUtils]: 28: Hoare triple {8393#(and (= main_~r~0 0) (= 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 assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:04,054 INFO L290 TraceCheckUtils]: 29: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:04,054 INFO L290 TraceCheckUtils]: 30: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:04,054 INFO L290 TraceCheckUtils]: 31: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:04,055 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8307#true} {8393#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {8393#(and (= main_~r~0 0) (= 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 12:23:04,055 INFO L272 TraceCheckUtils]: 33: Hoare triple {8393#(and (= main_~r~0 0) (= 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 assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:04,055 INFO L290 TraceCheckUtils]: 34: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:04,055 INFO L290 TraceCheckUtils]: 35: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:04,055 INFO L290 TraceCheckUtils]: 36: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:04,056 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8307#true} {8393#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {8393#(and (= main_~r~0 0) (= 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 12:23:04,056 INFO L290 TraceCheckUtils]: 38: Hoare triple {8393#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {8393#(and (= main_~r~0 0) (= 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 12:23:04,057 INFO L290 TraceCheckUtils]: 39: Hoare triple {8393#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8430#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:04,057 INFO L290 TraceCheckUtils]: 40: Hoare triple {8430#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {8430#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:04,057 INFO L272 TraceCheckUtils]: 41: Hoare triple {8430#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:04,057 INFO L290 TraceCheckUtils]: 42: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:04,057 INFO L290 TraceCheckUtils]: 43: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:04,057 INFO L290 TraceCheckUtils]: 44: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:04,058 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8307#true} {8430#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #91#return; {8430#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:04,058 INFO L272 TraceCheckUtils]: 46: Hoare triple {8430#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:04,058 INFO L290 TraceCheckUtils]: 47: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:04,058 INFO L290 TraceCheckUtils]: 48: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:04,058 INFO L290 TraceCheckUtils]: 49: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:04,059 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8307#true} {8430#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #93#return; {8430#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:04,059 INFO L272 TraceCheckUtils]: 51: Hoare triple {8430#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:04,059 INFO L290 TraceCheckUtils]: 52: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:04,059 INFO L290 TraceCheckUtils]: 53: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:04,060 INFO L290 TraceCheckUtils]: 54: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:04,060 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8307#true} {8430#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #95#return; {8430#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:04,060 INFO L272 TraceCheckUtils]: 56: Hoare triple {8430#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:04,060 INFO L290 TraceCheckUtils]: 57: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:04,060 INFO L290 TraceCheckUtils]: 58: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:04,061 INFO L290 TraceCheckUtils]: 59: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:04,061 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {8307#true} {8430#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #97#return; {8430#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:04,062 INFO L290 TraceCheckUtils]: 61: Hoare triple {8430#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {8497#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:04,062 INFO L290 TraceCheckUtils]: 62: Hoare triple {8497#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {8497#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:04,062 INFO L272 TraceCheckUtils]: 63: Hoare triple {8497#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:04,063 INFO L290 TraceCheckUtils]: 64: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:04,063 INFO L290 TraceCheckUtils]: 65: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:04,063 INFO L290 TraceCheckUtils]: 66: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:04,063 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8307#true} {8497#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {8497#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:04,063 INFO L272 TraceCheckUtils]: 68: Hoare triple {8497#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= 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)); {8307#true} is VALID [2022-04-08 12:23:04,064 INFO L290 TraceCheckUtils]: 69: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:04,064 INFO L290 TraceCheckUtils]: 70: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:04,064 INFO L290 TraceCheckUtils]: 71: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:04,064 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8307#true} {8497#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #93#return; {8497#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:04,065 INFO L272 TraceCheckUtils]: 73: Hoare triple {8497#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= 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)); {8307#true} is VALID [2022-04-08 12:23:04,065 INFO L290 TraceCheckUtils]: 74: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:04,065 INFO L290 TraceCheckUtils]: 75: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:04,065 INFO L290 TraceCheckUtils]: 76: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:04,065 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {8307#true} {8497#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #95#return; {8497#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:04,066 INFO L272 TraceCheckUtils]: 78: Hoare triple {8497#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:04,066 INFO L290 TraceCheckUtils]: 79: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:04,066 INFO L290 TraceCheckUtils]: 80: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:04,066 INFO L290 TraceCheckUtils]: 81: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:04,067 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {8307#true} {8497#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #97#return; {8497#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:04,067 INFO L290 TraceCheckUtils]: 83: Hoare triple {8497#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {8497#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:04,068 INFO L290 TraceCheckUtils]: 84: Hoare triple {8497#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8567#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-08 12:23:04,068 INFO L290 TraceCheckUtils]: 85: Hoare triple {8567#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !false; {8567#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-08 12:23:04,068 INFO L290 TraceCheckUtils]: 86: Hoare triple {8567#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !(0 != ~b~0); {8574#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) 0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-08 12:23:04,069 INFO L272 TraceCheckUtils]: 87: Hoare triple {8574#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) 0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {8578#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:23:04,069 INFO L290 TraceCheckUtils]: 88: Hoare triple {8578#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8582#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:23:04,069 INFO L290 TraceCheckUtils]: 89: Hoare triple {8582#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8308#false} is VALID [2022-04-08 12:23:04,070 INFO L290 TraceCheckUtils]: 90: Hoare triple {8308#false} assume !false; {8308#false} is VALID [2022-04-08 12:23:04,070 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 16 proven. 8 refuted. 0 times theorem prover too weak. 172 trivial. 0 not checked. [2022-04-08 12:23:04,070 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:23:04,421 INFO L290 TraceCheckUtils]: 90: Hoare triple {8308#false} assume !false; {8308#false} is VALID [2022-04-08 12:23:04,421 INFO L290 TraceCheckUtils]: 89: Hoare triple {8582#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8308#false} is VALID [2022-04-08 12:23:04,421 INFO L290 TraceCheckUtils]: 88: Hoare triple {8578#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8582#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:23:04,422 INFO L272 TraceCheckUtils]: 87: Hoare triple {8598#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {8578#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:23:04,422 INFO L290 TraceCheckUtils]: 86: Hoare triple {8602#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {8598#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-08 12:23:04,422 INFO L290 TraceCheckUtils]: 85: Hoare triple {8602#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !false; {8602#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-08 12:23:06,424 WARN L290 TraceCheckUtils]: 84: Hoare triple {8609#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8602#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is UNKNOWN [2022-04-08 12:23:06,424 INFO L290 TraceCheckUtils]: 83: Hoare triple {8609#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {8609#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:23:06,425 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {8307#true} {8609#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #97#return; {8609#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:23:06,425 INFO L290 TraceCheckUtils]: 81: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:06,425 INFO L290 TraceCheckUtils]: 80: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:06,425 INFO L290 TraceCheckUtils]: 79: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:06,425 INFO L272 TraceCheckUtils]: 78: Hoare triple {8609#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:06,426 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {8307#true} {8609#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #95#return; {8609#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:23:06,426 INFO L290 TraceCheckUtils]: 76: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:06,426 INFO L290 TraceCheckUtils]: 75: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:06,426 INFO L290 TraceCheckUtils]: 74: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:06,426 INFO L272 TraceCheckUtils]: 73: Hoare triple {8609#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~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)); {8307#true} is VALID [2022-04-08 12:23:06,426 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8307#true} {8609#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #93#return; {8609#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:23:06,427 INFO L290 TraceCheckUtils]: 71: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:06,427 INFO L290 TraceCheckUtils]: 70: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:06,427 INFO L290 TraceCheckUtils]: 69: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:06,427 INFO L272 TraceCheckUtils]: 68: Hoare triple {8609#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~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)); {8307#true} is VALID [2022-04-08 12:23:06,427 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8307#true} {8609#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #91#return; {8609#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:23:06,427 INFO L290 TraceCheckUtils]: 66: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:06,427 INFO L290 TraceCheckUtils]: 65: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:06,427 INFO L290 TraceCheckUtils]: 64: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:06,428 INFO L272 TraceCheckUtils]: 63: Hoare triple {8609#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:06,428 INFO L290 TraceCheckUtils]: 62: Hoare triple {8609#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {8609#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:23:06,622 INFO L290 TraceCheckUtils]: 61: Hoare triple {8679#(or (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {8609#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:23:06,622 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {8307#true} {8679#(or (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} #97#return; {8679#(or (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-08 12:23:06,623 INFO L290 TraceCheckUtils]: 59: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:06,623 INFO L290 TraceCheckUtils]: 58: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:06,623 INFO L290 TraceCheckUtils]: 57: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:06,623 INFO L272 TraceCheckUtils]: 56: Hoare triple {8679#(or (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:06,623 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8307#true} {8679#(or (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} #95#return; {8679#(or (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-08 12:23:06,623 INFO L290 TraceCheckUtils]: 54: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:06,623 INFO L290 TraceCheckUtils]: 53: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:06,623 INFO L290 TraceCheckUtils]: 52: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:06,624 INFO L272 TraceCheckUtils]: 51: Hoare triple {8679#(or (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:06,624 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8307#true} {8679#(or (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} #93#return; {8679#(or (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-08 12:23:06,624 INFO L290 TraceCheckUtils]: 49: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:06,624 INFO L290 TraceCheckUtils]: 48: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:06,624 INFO L290 TraceCheckUtils]: 47: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:06,624 INFO L272 TraceCheckUtils]: 46: Hoare triple {8679#(or (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:06,625 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8307#true} {8679#(or (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} #91#return; {8679#(or (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-08 12:23:06,625 INFO L290 TraceCheckUtils]: 44: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:06,625 INFO L290 TraceCheckUtils]: 43: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:06,625 INFO L290 TraceCheckUtils]: 42: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:06,625 INFO L272 TraceCheckUtils]: 41: Hoare triple {8679#(or (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:06,625 INFO L290 TraceCheckUtils]: 40: Hoare triple {8679#(or (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} assume !false; {8679#(or (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-08 12:23:06,626 INFO L290 TraceCheckUtils]: 39: Hoare triple {8746#(or (= (+ (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8679#(or (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-08 12:23:06,626 INFO L290 TraceCheckUtils]: 38: Hoare triple {8746#(or (= (+ (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} assume !false; {8746#(or (= (+ (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-08 12:23:06,627 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8307#true} {8746#(or (= (+ (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} #89#return; {8746#(or (= (+ (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-08 12:23:06,627 INFO L290 TraceCheckUtils]: 36: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:06,627 INFO L290 TraceCheckUtils]: 35: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:06,627 INFO L290 TraceCheckUtils]: 34: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:06,627 INFO L272 TraceCheckUtils]: 33: Hoare triple {8746#(or (= (+ (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:06,627 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8307#true} {8746#(or (= (+ (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} #87#return; {8746#(or (= (+ (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-08 12:23:06,627 INFO L290 TraceCheckUtils]: 31: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:06,628 INFO L290 TraceCheckUtils]: 30: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:06,628 INFO L290 TraceCheckUtils]: 29: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:06,628 INFO L272 TraceCheckUtils]: 28: Hoare triple {8746#(or (= (+ (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:06,628 INFO L290 TraceCheckUtils]: 27: Hoare triple {8307#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {8746#(or (= (+ (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-08 12:23:06,628 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8307#true} {8307#true} #85#return; {8307#true} is VALID [2022-04-08 12:23:06,628 INFO L290 TraceCheckUtils]: 25: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:06,628 INFO L290 TraceCheckUtils]: 24: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:06,628 INFO L290 TraceCheckUtils]: 23: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:06,628 INFO L272 TraceCheckUtils]: 22: Hoare triple {8307#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:06,628 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8307#true} {8307#true} #83#return; {8307#true} is VALID [2022-04-08 12:23:06,628 INFO L290 TraceCheckUtils]: 20: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:06,629 INFO L290 TraceCheckUtils]: 19: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:06,629 INFO L290 TraceCheckUtils]: 18: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:06,629 INFO L272 TraceCheckUtils]: 17: Hoare triple {8307#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:06,629 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8307#true} {8307#true} #81#return; {8307#true} is VALID [2022-04-08 12:23:06,629 INFO L290 TraceCheckUtils]: 15: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:06,629 INFO L290 TraceCheckUtils]: 14: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:06,629 INFO L290 TraceCheckUtils]: 13: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:06,629 INFO L272 TraceCheckUtils]: 12: Hoare triple {8307#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:06,629 INFO L290 TraceCheckUtils]: 11: Hoare triple {8307#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8307#true} is VALID [2022-04-08 12:23:06,629 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8307#true} {8307#true} #79#return; {8307#true} is VALID [2022-04-08 12:23:06,629 INFO L290 TraceCheckUtils]: 9: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:06,629 INFO L290 TraceCheckUtils]: 8: Hoare triple {8307#true} assume !(0 == ~cond); {8307#true} is VALID [2022-04-08 12:23:06,629 INFO L290 TraceCheckUtils]: 7: Hoare triple {8307#true} ~cond := #in~cond; {8307#true} is VALID [2022-04-08 12:23:06,629 INFO L272 TraceCheckUtils]: 6: Hoare triple {8307#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {8307#true} is VALID [2022-04-08 12:23:06,629 INFO L290 TraceCheckUtils]: 5: Hoare triple {8307#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8307#true} is VALID [2022-04-08 12:23:06,629 INFO L272 TraceCheckUtils]: 4: Hoare triple {8307#true} call #t~ret6 := main(); {8307#true} is VALID [2022-04-08 12:23:06,629 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8307#true} {8307#true} #103#return; {8307#true} is VALID [2022-04-08 12:23:06,629 INFO L290 TraceCheckUtils]: 2: Hoare triple {8307#true} assume true; {8307#true} is VALID [2022-04-08 12:23:06,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {8307#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {8307#true} is VALID [2022-04-08 12:23:06,630 INFO L272 TraceCheckUtils]: 0: Hoare triple {8307#true} call ULTIMATE.init(); {8307#true} is VALID [2022-04-08 12:23:06,630 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 16 proven. 8 refuted. 0 times theorem prover too weak. 172 trivial. 0 not checked. [2022-04-08 12:23:06,630 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:23:06,630 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [715221758] [2022-04-08 12:23:06,630 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:23:06,630 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [524174446] [2022-04-08 12:23:06,630 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [524174446] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:23:06,630 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:23:06,630 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-08 12:23:06,631 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:23:06,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1270168118] [2022-04-08 12:23:06,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1270168118] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:23:06,631 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:23:06,631 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 12:23:06,631 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1758489703] [2022-04-08 12:23:06,631 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:23:06,631 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 8 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) Word has length 91 [2022-04-08 12:23:06,631 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:23:06,631 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.875) internal successors, (23), 8 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-08 12:23:06,680 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 12:23:06,680 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 12:23:06,681 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:23:06,681 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 12:23:06,681 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2022-04-08 12:23:06,681 INFO L87 Difference]: Start difference. First operand 130 states and 175 transitions. Second operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 8 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-08 12:23:07,937 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:23:07,937 INFO L93 Difference]: Finished difference Result 157 states and 211 transitions. [2022-04-08 12:23:07,937 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 12:23:07,937 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 8 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) Word has length 91 [2022-04-08 12:23:07,938 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:23:07,938 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 8 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-08 12:23:07,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 105 transitions. [2022-04-08 12:23:07,939 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 8 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-08 12:23:07,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 105 transitions. [2022-04-08 12:23:07,940 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 105 transitions. [2022-04-08 12:23:08,038 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:23:08,041 INFO L225 Difference]: With dead ends: 157 [2022-04-08 12:23:08,041 INFO L226 Difference]: Without dead ends: 154 [2022-04-08 12:23:08,041 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 168 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=63, Invalid=243, Unknown=0, NotChecked=0, Total=306 [2022-04-08 12:23:08,041 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 19 mSDsluCounter, 218 mSDsCounter, 0 mSdLazyCounter, 323 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 275 SdHoareTripleChecker+Invalid, 342 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 323 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 12:23:08,042 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 275 Invalid, 342 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 323 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 12:23:08,042 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 154 states. [2022-04-08 12:23:08,251 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 154 to 153. [2022-04-08 12:23:08,251 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:23:08,252 INFO L82 GeneralOperation]: Start isEquivalent. First operand 154 states. Second operand has 153 states, 84 states have (on average 1.1785714285714286) internal successors, (99), 86 states have internal predecessors, (99), 55 states have call successors, (55), 14 states have call predecessors, (55), 13 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-08 12:23:08,252 INFO L74 IsIncluded]: Start isIncluded. First operand 154 states. Second operand has 153 states, 84 states have (on average 1.1785714285714286) internal successors, (99), 86 states have internal predecessors, (99), 55 states have call successors, (55), 14 states have call predecessors, (55), 13 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-08 12:23:08,252 INFO L87 Difference]: Start difference. First operand 154 states. Second operand has 153 states, 84 states have (on average 1.1785714285714286) internal successors, (99), 86 states have internal predecessors, (99), 55 states have call successors, (55), 14 states have call predecessors, (55), 13 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-08 12:23:08,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:23:08,255 INFO L93 Difference]: Finished difference Result 154 states and 207 transitions. [2022-04-08 12:23:08,255 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 207 transitions. [2022-04-08 12:23:08,256 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:23:08,256 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:23:08,256 INFO L74 IsIncluded]: Start isIncluded. First operand has 153 states, 84 states have (on average 1.1785714285714286) internal successors, (99), 86 states have internal predecessors, (99), 55 states have call successors, (55), 14 states have call predecessors, (55), 13 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) Second operand 154 states. [2022-04-08 12:23:08,256 INFO L87 Difference]: Start difference. First operand has 153 states, 84 states have (on average 1.1785714285714286) internal successors, (99), 86 states have internal predecessors, (99), 55 states have call successors, (55), 14 states have call predecessors, (55), 13 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) Second operand 154 states. [2022-04-08 12:23:08,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:23:08,259 INFO L93 Difference]: Finished difference Result 154 states and 207 transitions. [2022-04-08 12:23:08,259 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 207 transitions. [2022-04-08 12:23:08,260 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:23:08,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:23:08,260 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:23:08,260 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:23:08,260 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 153 states, 84 states have (on average 1.1785714285714286) internal successors, (99), 86 states have internal predecessors, (99), 55 states have call successors, (55), 14 states have call predecessors, (55), 13 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-08 12:23:08,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 206 transitions. [2022-04-08 12:23:08,263 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 206 transitions. Word has length 91 [2022-04-08 12:23:08,263 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:23:08,263 INFO L478 AbstractCegarLoop]: Abstraction has 153 states and 206 transitions. [2022-04-08 12:23:08,263 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 8 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-08 12:23:08,263 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 153 states and 206 transitions. [2022-04-08 12:23:08,560 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 206 edges. 206 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:23:08,560 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 206 transitions. [2022-04-08 12:23:08,561 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-08 12:23:08,561 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:23:08,561 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 6, 6, 6, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:23:08,590 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 12:23:08,761 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-08 12:23:08,762 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:23:08,762 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:23:08,762 INFO L85 PathProgramCache]: Analyzing trace with hash -663071842, now seen corresponding path program 7 times [2022-04-08 12:23:08,762 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:23:08,762 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [256382253] [2022-04-08 12:23:08,763 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:23:08,763 INFO L85 PathProgramCache]: Analyzing trace with hash -663071842, now seen corresponding path program 8 times [2022-04-08 12:23:08,763 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:23:08,763 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2079012619] [2022-04-08 12:23:08,763 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:23:08,763 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:23:08,774 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:23:08,775 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [495444634] [2022-04-08 12:23:08,775 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:23:08,775 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:23:08,775 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:23:08,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 12:23:08,780 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 12:23:08,845 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:23:08,846 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:23:08,846 INFO L263 TraceCheckSpWp]: Trace formula consists of 262 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 12:23:08,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:23:08,860 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:23:09,096 INFO L272 TraceCheckUtils]: 0: Hoare triple {9802#true} call ULTIMATE.init(); {9802#true} is VALID [2022-04-08 12:23:09,096 INFO L290 TraceCheckUtils]: 1: Hoare triple {9802#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {9802#true} is VALID [2022-04-08 12:23:09,096 INFO L290 TraceCheckUtils]: 2: Hoare triple {9802#true} assume true; {9802#true} is VALID [2022-04-08 12:23:09,096 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9802#true} {9802#true} #103#return; {9802#true} is VALID [2022-04-08 12:23:09,096 INFO L272 TraceCheckUtils]: 4: Hoare triple {9802#true} call #t~ret6 := main(); {9802#true} is VALID [2022-04-08 12:23:09,096 INFO L290 TraceCheckUtils]: 5: Hoare triple {9802#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {9802#true} is VALID [2022-04-08 12:23:09,097 INFO L272 TraceCheckUtils]: 6: Hoare triple {9802#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {9802#true} is VALID [2022-04-08 12:23:09,097 INFO L290 TraceCheckUtils]: 7: Hoare triple {9802#true} ~cond := #in~cond; {9802#true} is VALID [2022-04-08 12:23:09,097 INFO L290 TraceCheckUtils]: 8: Hoare triple {9802#true} assume !(0 == ~cond); {9802#true} is VALID [2022-04-08 12:23:09,097 INFO L290 TraceCheckUtils]: 9: Hoare triple {9802#true} assume true; {9802#true} is VALID [2022-04-08 12:23:09,097 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9802#true} {9802#true} #79#return; {9802#true} is VALID [2022-04-08 12:23:09,097 INFO L290 TraceCheckUtils]: 11: Hoare triple {9802#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9802#true} is VALID [2022-04-08 12:23:09,097 INFO L272 TraceCheckUtils]: 12: Hoare triple {9802#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {9802#true} is VALID [2022-04-08 12:23:09,097 INFO L290 TraceCheckUtils]: 13: Hoare triple {9802#true} ~cond := #in~cond; {9802#true} is VALID [2022-04-08 12:23:09,097 INFO L290 TraceCheckUtils]: 14: Hoare triple {9802#true} assume !(0 == ~cond); {9802#true} is VALID [2022-04-08 12:23:09,097 INFO L290 TraceCheckUtils]: 15: Hoare triple {9802#true} assume true; {9802#true} is VALID [2022-04-08 12:23:09,097 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9802#true} {9802#true} #81#return; {9802#true} is VALID [2022-04-08 12:23:09,097 INFO L272 TraceCheckUtils]: 17: Hoare triple {9802#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9802#true} is VALID [2022-04-08 12:23:09,097 INFO L290 TraceCheckUtils]: 18: Hoare triple {9802#true} ~cond := #in~cond; {9802#true} is VALID [2022-04-08 12:23:09,097 INFO L290 TraceCheckUtils]: 19: Hoare triple {9802#true} assume !(0 == ~cond); {9802#true} is VALID [2022-04-08 12:23:09,097 INFO L290 TraceCheckUtils]: 20: Hoare triple {9802#true} assume true; {9802#true} is VALID [2022-04-08 12:23:09,097 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9802#true} {9802#true} #83#return; {9802#true} is VALID [2022-04-08 12:23:09,097 INFO L272 TraceCheckUtils]: 22: Hoare triple {9802#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9802#true} is VALID [2022-04-08 12:23:09,097 INFO L290 TraceCheckUtils]: 23: Hoare triple {9802#true} ~cond := #in~cond; {9802#true} is VALID [2022-04-08 12:23:09,098 INFO L290 TraceCheckUtils]: 24: Hoare triple {9802#true} assume !(0 == ~cond); {9802#true} is VALID [2022-04-08 12:23:09,098 INFO L290 TraceCheckUtils]: 25: Hoare triple {9802#true} assume true; {9802#true} is VALID [2022-04-08 12:23:09,098 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9802#true} {9802#true} #85#return; {9802#true} is VALID [2022-04-08 12:23:09,098 INFO L290 TraceCheckUtils]: 27: Hoare triple {9802#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {9802#true} is VALID [2022-04-08 12:23:09,098 INFO L272 TraceCheckUtils]: 28: Hoare triple {9802#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {9802#true} is VALID [2022-04-08 12:23:09,098 INFO L290 TraceCheckUtils]: 29: Hoare triple {9802#true} ~cond := #in~cond; {9802#true} is VALID [2022-04-08 12:23:09,098 INFO L290 TraceCheckUtils]: 30: Hoare triple {9802#true} assume !(0 == ~cond); {9802#true} is VALID [2022-04-08 12:23:09,098 INFO L290 TraceCheckUtils]: 31: Hoare triple {9802#true} assume true; {9802#true} is VALID [2022-04-08 12:23:09,098 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9802#true} {9802#true} #87#return; {9802#true} is VALID [2022-04-08 12:23:09,098 INFO L272 TraceCheckUtils]: 33: Hoare triple {9802#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {9802#true} is VALID [2022-04-08 12:23:09,098 INFO L290 TraceCheckUtils]: 34: Hoare triple {9802#true} ~cond := #in~cond; {9802#true} is VALID [2022-04-08 12:23:09,098 INFO L290 TraceCheckUtils]: 35: Hoare triple {9802#true} assume !(0 == ~cond); {9802#true} is VALID [2022-04-08 12:23:09,098 INFO L290 TraceCheckUtils]: 36: Hoare triple {9802#true} assume true; {9802#true} is VALID [2022-04-08 12:23:09,098 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {9802#true} {9802#true} #89#return; {9802#true} is VALID [2022-04-08 12:23:09,098 INFO L290 TraceCheckUtils]: 38: Hoare triple {9802#true} assume !false; {9802#true} is VALID [2022-04-08 12:23:09,098 INFO L290 TraceCheckUtils]: 39: Hoare triple {9802#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9802#true} is VALID [2022-04-08 12:23:09,098 INFO L290 TraceCheckUtils]: 40: Hoare triple {9802#true} assume !false; {9802#true} is VALID [2022-04-08 12:23:09,098 INFO L272 TraceCheckUtils]: 41: Hoare triple {9802#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9802#true} is VALID [2022-04-08 12:23:09,099 INFO L290 TraceCheckUtils]: 42: Hoare triple {9802#true} ~cond := #in~cond; {9802#true} is VALID [2022-04-08 12:23:09,099 INFO L290 TraceCheckUtils]: 43: Hoare triple {9802#true} assume !(0 == ~cond); {9802#true} is VALID [2022-04-08 12:23:09,099 INFO L290 TraceCheckUtils]: 44: Hoare triple {9802#true} assume true; {9802#true} is VALID [2022-04-08 12:23:09,099 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9802#true} {9802#true} #91#return; {9802#true} is VALID [2022-04-08 12:23:09,099 INFO L272 TraceCheckUtils]: 46: Hoare triple {9802#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9802#true} is VALID [2022-04-08 12:23:09,099 INFO L290 TraceCheckUtils]: 47: Hoare triple {9802#true} ~cond := #in~cond; {9802#true} is VALID [2022-04-08 12:23:09,099 INFO L290 TraceCheckUtils]: 48: Hoare triple {9802#true} assume !(0 == ~cond); {9802#true} is VALID [2022-04-08 12:23:09,099 INFO L290 TraceCheckUtils]: 49: Hoare triple {9802#true} assume true; {9802#true} is VALID [2022-04-08 12:23:09,099 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9802#true} {9802#true} #93#return; {9802#true} is VALID [2022-04-08 12:23:09,099 INFO L272 TraceCheckUtils]: 51: Hoare triple {9802#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9802#true} is VALID [2022-04-08 12:23:09,099 INFO L290 TraceCheckUtils]: 52: Hoare triple {9802#true} ~cond := #in~cond; {9802#true} is VALID [2022-04-08 12:23:09,099 INFO L290 TraceCheckUtils]: 53: Hoare triple {9802#true} assume !(0 == ~cond); {9802#true} is VALID [2022-04-08 12:23:09,099 INFO L290 TraceCheckUtils]: 54: Hoare triple {9802#true} assume true; {9802#true} is VALID [2022-04-08 12:23:09,099 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9802#true} {9802#true} #95#return; {9802#true} is VALID [2022-04-08 12:23:09,099 INFO L272 TraceCheckUtils]: 56: Hoare triple {9802#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9802#true} is VALID [2022-04-08 12:23:09,099 INFO L290 TraceCheckUtils]: 57: Hoare triple {9802#true} ~cond := #in~cond; {9802#true} is VALID [2022-04-08 12:23:09,099 INFO L290 TraceCheckUtils]: 58: Hoare triple {9802#true} assume !(0 == ~cond); {9802#true} is VALID [2022-04-08 12:23:09,100 INFO L290 TraceCheckUtils]: 59: Hoare triple {9802#true} assume true; {9802#true} is VALID [2022-04-08 12:23:09,100 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {9802#true} {9802#true} #97#return; {9802#true} is VALID [2022-04-08 12:23:09,100 INFO L290 TraceCheckUtils]: 61: Hoare triple {9802#true} assume !(~c~0 >= ~b~0); {9990#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 12:23:09,100 INFO L290 TraceCheckUtils]: 62: Hoare triple {9990#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {9994#(< main_~b~0 main_~a~0)} is VALID [2022-04-08 12:23:09,101 INFO L290 TraceCheckUtils]: 63: Hoare triple {9994#(< main_~b~0 main_~a~0)} assume !false; {9994#(< main_~b~0 main_~a~0)} is VALID [2022-04-08 12:23:09,122 INFO L290 TraceCheckUtils]: 64: Hoare triple {9994#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10001#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 12:23:09,122 INFO L290 TraceCheckUtils]: 65: Hoare triple {10001#(< main_~b~0 main_~c~0)} assume !false; {10001#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 12:23:09,122 INFO L272 TraceCheckUtils]: 66: Hoare triple {10001#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9802#true} is VALID [2022-04-08 12:23:09,122 INFO L290 TraceCheckUtils]: 67: Hoare triple {9802#true} ~cond := #in~cond; {9802#true} is VALID [2022-04-08 12:23:09,122 INFO L290 TraceCheckUtils]: 68: Hoare triple {9802#true} assume !(0 == ~cond); {9802#true} is VALID [2022-04-08 12:23:09,122 INFO L290 TraceCheckUtils]: 69: Hoare triple {9802#true} assume true; {9802#true} is VALID [2022-04-08 12:23:09,123 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {9802#true} {10001#(< main_~b~0 main_~c~0)} #91#return; {10001#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 12:23:09,123 INFO L272 TraceCheckUtils]: 71: Hoare triple {10001#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9802#true} is VALID [2022-04-08 12:23:09,123 INFO L290 TraceCheckUtils]: 72: Hoare triple {9802#true} ~cond := #in~cond; {9802#true} is VALID [2022-04-08 12:23:09,123 INFO L290 TraceCheckUtils]: 73: Hoare triple {9802#true} assume !(0 == ~cond); {9802#true} is VALID [2022-04-08 12:23:09,123 INFO L290 TraceCheckUtils]: 74: Hoare triple {9802#true} assume true; {9802#true} is VALID [2022-04-08 12:23:09,124 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {9802#true} {10001#(< main_~b~0 main_~c~0)} #93#return; {10001#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 12:23:09,124 INFO L272 TraceCheckUtils]: 76: Hoare triple {10001#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9802#true} is VALID [2022-04-08 12:23:09,124 INFO L290 TraceCheckUtils]: 77: Hoare triple {9802#true} ~cond := #in~cond; {9802#true} is VALID [2022-04-08 12:23:09,124 INFO L290 TraceCheckUtils]: 78: Hoare triple {9802#true} assume !(0 == ~cond); {9802#true} is VALID [2022-04-08 12:23:09,124 INFO L290 TraceCheckUtils]: 79: Hoare triple {9802#true} assume true; {9802#true} is VALID [2022-04-08 12:23:09,124 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {9802#true} {10001#(< main_~b~0 main_~c~0)} #95#return; {10001#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 12:23:09,125 INFO L272 TraceCheckUtils]: 81: Hoare triple {10001#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9802#true} is VALID [2022-04-08 12:23:09,125 INFO L290 TraceCheckUtils]: 82: Hoare triple {9802#true} ~cond := #in~cond; {9802#true} is VALID [2022-04-08 12:23:09,125 INFO L290 TraceCheckUtils]: 83: Hoare triple {9802#true} assume !(0 == ~cond); {9802#true} is VALID [2022-04-08 12:23:09,125 INFO L290 TraceCheckUtils]: 84: Hoare triple {9802#true} assume true; {9802#true} is VALID [2022-04-08 12:23:09,125 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {9802#true} {10001#(< main_~b~0 main_~c~0)} #97#return; {10001#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 12:23:09,126 INFO L290 TraceCheckUtils]: 86: Hoare triple {10001#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {9803#false} is VALID [2022-04-08 12:23:09,126 INFO L290 TraceCheckUtils]: 87: Hoare triple {9803#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {9803#false} is VALID [2022-04-08 12:23:09,126 INFO L290 TraceCheckUtils]: 88: Hoare triple {9803#false} assume !false; {9803#false} is VALID [2022-04-08 12:23:09,126 INFO L290 TraceCheckUtils]: 89: Hoare triple {9803#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9803#false} is VALID [2022-04-08 12:23:09,126 INFO L290 TraceCheckUtils]: 90: Hoare triple {9803#false} assume !false; {9803#false} is VALID [2022-04-08 12:23:09,126 INFO L272 TraceCheckUtils]: 91: Hoare triple {9803#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9803#false} is VALID [2022-04-08 12:23:09,126 INFO L290 TraceCheckUtils]: 92: Hoare triple {9803#false} ~cond := #in~cond; {9803#false} is VALID [2022-04-08 12:23:09,126 INFO L290 TraceCheckUtils]: 93: Hoare triple {9803#false} assume !(0 == ~cond); {9803#false} is VALID [2022-04-08 12:23:09,126 INFO L290 TraceCheckUtils]: 94: Hoare triple {9803#false} assume true; {9803#false} is VALID [2022-04-08 12:23:09,126 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {9803#false} {9803#false} #91#return; {9803#false} is VALID [2022-04-08 12:23:09,126 INFO L272 TraceCheckUtils]: 96: Hoare triple {9803#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9803#false} is VALID [2022-04-08 12:23:09,127 INFO L290 TraceCheckUtils]: 97: Hoare triple {9803#false} ~cond := #in~cond; {9803#false} is VALID [2022-04-08 12:23:09,127 INFO L290 TraceCheckUtils]: 98: Hoare triple {9803#false} assume 0 == ~cond; {9803#false} is VALID [2022-04-08 12:23:09,127 INFO L290 TraceCheckUtils]: 99: Hoare triple {9803#false} assume !false; {9803#false} is VALID [2022-04-08 12:23:09,127 INFO L134 CoverageAnalysis]: Checked inductivity of 241 backedges. 67 proven. 0 refuted. 0 times theorem prover too weak. 174 trivial. 0 not checked. [2022-04-08 12:23:09,127 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:23:09,127 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:23:09,127 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2079012619] [2022-04-08 12:23:09,127 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:23:09,127 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [495444634] [2022-04-08 12:23:09,127 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [495444634] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:23:09,127 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:23:09,127 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:23:09,128 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:23:09,128 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [256382253] [2022-04-08 12:23:09,128 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [256382253] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:23:09,128 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:23:09,128 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:23:09,128 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1089467368] [2022-04-08 12:23:09,128 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:23:09,128 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) Word has length 100 [2022-04-08 12:23:09,128 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:23:09,128 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-08 12:23:09,171 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 12:23:09,171 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:23:09,171 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:23:09,172 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:23:09,172 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:23:09,172 INFO L87 Difference]: Start difference. First operand 153 states and 206 transitions. Second operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-08 12:23:09,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:23:09,567 INFO L93 Difference]: Finished difference Result 201 states and 280 transitions. [2022-04-08 12:23:09,567 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 12:23:09,568 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) Word has length 100 [2022-04-08 12:23:09,568 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:23:09,568 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-08 12:23:09,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 94 transitions. [2022-04-08 12:23:09,569 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-08 12:23:09,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 94 transitions. [2022-04-08 12:23:09,570 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 94 transitions. [2022-04-08 12:23:09,639 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 12:23:09,642 INFO L225 Difference]: With dead ends: 201 [2022-04-08 12:23:09,642 INFO L226 Difference]: Without dead ends: 156 [2022-04-08 12:23:09,642 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 96 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-04-08 12:23:09,643 INFO L913 BasicCegarLoop]: 58 mSDtfsCounter, 6 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 163 SdHoareTripleChecker+Invalid, 74 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:23:09,643 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 163 Invalid, 74 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:23:09,643 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2022-04-08 12:23:09,911 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 147. [2022-04-08 12:23:09,912 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:23:09,912 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand has 147 states, 78 states have (on average 1.1282051282051282) internal successors, (88), 80 states have internal predecessors, (88), 55 states have call successors, (55), 14 states have call predecessors, (55), 13 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-08 12:23:09,912 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand has 147 states, 78 states have (on average 1.1282051282051282) internal successors, (88), 80 states have internal predecessors, (88), 55 states have call successors, (55), 14 states have call predecessors, (55), 13 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-08 12:23:09,912 INFO L87 Difference]: Start difference. First operand 156 states. Second operand has 147 states, 78 states have (on average 1.1282051282051282) internal successors, (88), 80 states have internal predecessors, (88), 55 states have call successors, (55), 14 states have call predecessors, (55), 13 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-08 12:23:09,916 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:23:09,916 INFO L93 Difference]: Finished difference Result 156 states and 209 transitions. [2022-04-08 12:23:09,916 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 209 transitions. [2022-04-08 12:23:09,917 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:23:09,917 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:23:09,917 INFO L74 IsIncluded]: Start isIncluded. First operand has 147 states, 78 states have (on average 1.1282051282051282) internal successors, (88), 80 states have internal predecessors, (88), 55 states have call successors, (55), 14 states have call predecessors, (55), 13 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) Second operand 156 states. [2022-04-08 12:23:09,917 INFO L87 Difference]: Start difference. First operand has 147 states, 78 states have (on average 1.1282051282051282) internal successors, (88), 80 states have internal predecessors, (88), 55 states have call successors, (55), 14 states have call predecessors, (55), 13 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) Second operand 156 states. [2022-04-08 12:23:09,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:23:09,920 INFO L93 Difference]: Finished difference Result 156 states and 209 transitions. [2022-04-08 12:23:09,920 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 209 transitions. [2022-04-08 12:23:09,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:23:09,921 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:23:09,921 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:23:09,921 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:23:09,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 147 states, 78 states have (on average 1.1282051282051282) internal successors, (88), 80 states have internal predecessors, (88), 55 states have call successors, (55), 14 states have call predecessors, (55), 13 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-08 12:23:09,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 147 states to 147 states and 195 transitions. [2022-04-08 12:23:09,924 INFO L78 Accepts]: Start accepts. Automaton has 147 states and 195 transitions. Word has length 100 [2022-04-08 12:23:09,924 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:23:09,924 INFO L478 AbstractCegarLoop]: Abstraction has 147 states and 195 transitions. [2022-04-08 12:23:09,924 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-08 12:23:09,924 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 147 states and 195 transitions. [2022-04-08 12:23:10,239 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 195 edges. 195 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:23:10,239 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 195 transitions. [2022-04-08 12:23:10,240 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 108 [2022-04-08 12:23:10,240 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:23:10,240 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:23:10,257 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 12:23:10,444 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 12:23:10,444 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:23:10,444 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:23:10,444 INFO L85 PathProgramCache]: Analyzing trace with hash -428114403, now seen corresponding path program 1 times [2022-04-08 12:23:10,444 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:23:10,444 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1625423505] [2022-04-08 12:23:10,445 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:23:10,445 INFO L85 PathProgramCache]: Analyzing trace with hash -428114403, now seen corresponding path program 2 times [2022-04-08 12:23:10,445 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:23:10,445 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [936326739] [2022-04-08 12:23:10,445 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:23:10,445 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:23:10,457 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:23:10,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [796086466] [2022-04-08 12:23:10,457 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:23:10,457 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:23:10,457 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:23:10,472 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 12:23:10,473 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 12:23:10,536 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:23:10,536 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:23:10,538 INFO L263 TraceCheckSpWp]: Trace formula consists of 264 conjuncts, 66 conjunts are in the unsatisfiable core [2022-04-08 12:23:10,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:23:10,577 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:23:11,891 INFO L272 TraceCheckUtils]: 0: Hoare triple {11118#true} call ULTIMATE.init(); {11118#true} is VALID [2022-04-08 12:23:11,891 INFO L290 TraceCheckUtils]: 1: Hoare triple {11118#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {11118#true} is VALID [2022-04-08 12:23:11,891 INFO L290 TraceCheckUtils]: 2: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:23:11,891 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11118#true} {11118#true} #103#return; {11118#true} is VALID [2022-04-08 12:23:11,891 INFO L272 TraceCheckUtils]: 4: Hoare triple {11118#true} call #t~ret6 := main(); {11118#true} is VALID [2022-04-08 12:23:11,891 INFO L290 TraceCheckUtils]: 5: Hoare triple {11118#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11118#true} is VALID [2022-04-08 12:23:11,891 INFO L272 TraceCheckUtils]: 6: Hoare triple {11118#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:23:11,891 INFO L290 TraceCheckUtils]: 7: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:23:11,891 INFO L290 TraceCheckUtils]: 8: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:23:11,891 INFO L290 TraceCheckUtils]: 9: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:23:11,891 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11118#true} {11118#true} #79#return; {11118#true} is VALID [2022-04-08 12:23:11,892 INFO L290 TraceCheckUtils]: 11: Hoare triple {11118#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11118#true} is VALID [2022-04-08 12:23:11,892 INFO L272 TraceCheckUtils]: 12: Hoare triple {11118#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:23:11,892 INFO L290 TraceCheckUtils]: 13: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:23:11,892 INFO L290 TraceCheckUtils]: 14: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:23:11,892 INFO L290 TraceCheckUtils]: 15: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:23:11,892 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11118#true} {11118#true} #81#return; {11118#true} is VALID [2022-04-08 12:23:11,892 INFO L272 TraceCheckUtils]: 17: Hoare triple {11118#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:23:11,901 INFO L290 TraceCheckUtils]: 18: Hoare triple {11118#true} ~cond := #in~cond; {11177#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:23:11,901 INFO L290 TraceCheckUtils]: 19: Hoare triple {11177#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {11181#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:23:11,901 INFO L290 TraceCheckUtils]: 20: Hoare triple {11181#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11181#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:23:11,915 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11181#(not (= |assume_abort_if_not_#in~cond| 0))} {11118#true} #83#return; {11188#(<= 1 main_~x~0)} is VALID [2022-04-08 12:23:11,916 INFO L272 TraceCheckUtils]: 22: Hoare triple {11188#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:23:11,916 INFO L290 TraceCheckUtils]: 23: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:23:11,916 INFO L290 TraceCheckUtils]: 24: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:23:11,916 INFO L290 TraceCheckUtils]: 25: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:23:11,916 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11118#true} {11188#(<= 1 main_~x~0)} #85#return; {11188#(<= 1 main_~x~0)} is VALID [2022-04-08 12:23:11,917 INFO L290 TraceCheckUtils]: 27: Hoare triple {11188#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {11207#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:11,917 INFO L272 TraceCheckUtils]: 28: Hoare triple {11207#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:23:11,917 INFO L290 TraceCheckUtils]: 29: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:23:11,917 INFO L290 TraceCheckUtils]: 30: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:23:11,917 INFO L290 TraceCheckUtils]: 31: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:23:11,918 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11118#true} {11207#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {11207#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:11,918 INFO L272 TraceCheckUtils]: 33: Hoare triple {11207#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:23:11,918 INFO L290 TraceCheckUtils]: 34: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:23:11,918 INFO L290 TraceCheckUtils]: 35: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:23:11,918 INFO L290 TraceCheckUtils]: 36: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:23:11,918 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {11118#true} {11207#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {11207#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:11,919 INFO L290 TraceCheckUtils]: 38: Hoare triple {11207#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {11207#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:11,919 INFO L290 TraceCheckUtils]: 39: Hoare triple {11207#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11244#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:11,920 INFO L290 TraceCheckUtils]: 40: Hoare triple {11244#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {11244#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:11,920 INFO L272 TraceCheckUtils]: 41: Hoare triple {11244#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:23:11,920 INFO L290 TraceCheckUtils]: 42: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:23:11,920 INFO L290 TraceCheckUtils]: 43: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:23:11,920 INFO L290 TraceCheckUtils]: 44: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:23:11,921 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11118#true} {11244#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {11244#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:11,921 INFO L272 TraceCheckUtils]: 46: Hoare triple {11244#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {11118#true} is VALID [2022-04-08 12:23:11,921 INFO L290 TraceCheckUtils]: 47: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:23:11,921 INFO L290 TraceCheckUtils]: 48: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:23:11,921 INFO L290 TraceCheckUtils]: 49: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:23:11,922 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11118#true} {11244#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #93#return; {11244#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:11,922 INFO L272 TraceCheckUtils]: 51: Hoare triple {11244#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {11118#true} is VALID [2022-04-08 12:23:11,922 INFO L290 TraceCheckUtils]: 52: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:23:11,922 INFO L290 TraceCheckUtils]: 53: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:23:11,922 INFO L290 TraceCheckUtils]: 54: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:23:11,923 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11118#true} {11244#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #95#return; {11244#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:11,923 INFO L272 TraceCheckUtils]: 56: Hoare triple {11244#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:23:11,923 INFO L290 TraceCheckUtils]: 57: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:23:11,923 INFO L290 TraceCheckUtils]: 58: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:23:11,923 INFO L290 TraceCheckUtils]: 59: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:23:11,924 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {11118#true} {11244#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #97#return; {11244#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:11,925 INFO L290 TraceCheckUtils]: 61: Hoare triple {11244#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {11311#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:11,925 INFO L290 TraceCheckUtils]: 62: Hoare triple {11311#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {11311#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:23:11,926 INFO L272 TraceCheckUtils]: 63: Hoare triple {11311#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:23:11,926 INFO L290 TraceCheckUtils]: 64: Hoare triple {11118#true} ~cond := #in~cond; {11321#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:23:11,926 INFO L290 TraceCheckUtils]: 65: Hoare triple {11321#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:23:11,926 INFO L290 TraceCheckUtils]: 66: Hoare triple {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:23:11,928 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} {11311#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {11332#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-08 12:23:11,928 INFO L272 TraceCheckUtils]: 68: Hoare triple {11332#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~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)); {11118#true} is VALID [2022-04-08 12:23:11,928 INFO L290 TraceCheckUtils]: 69: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:23:11,928 INFO L290 TraceCheckUtils]: 70: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:23:11,928 INFO L290 TraceCheckUtils]: 71: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:23:11,928 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11118#true} {11332#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #93#return; {11332#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-08 12:23:11,929 INFO L272 TraceCheckUtils]: 73: Hoare triple {11332#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~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)); {11118#true} is VALID [2022-04-08 12:23:11,929 INFO L290 TraceCheckUtils]: 74: Hoare triple {11118#true} ~cond := #in~cond; {11321#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:23:11,929 INFO L290 TraceCheckUtils]: 75: Hoare triple {11321#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:23:11,929 INFO L290 TraceCheckUtils]: 76: Hoare triple {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:23:11,930 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} {11332#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #95#return; {11332#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-08 12:23:11,930 INFO L272 TraceCheckUtils]: 78: Hoare triple {11332#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:23:11,930 INFO L290 TraceCheckUtils]: 79: Hoare triple {11118#true} ~cond := #in~cond; {11321#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:23:11,931 INFO L290 TraceCheckUtils]: 80: Hoare triple {11321#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:23:11,931 INFO L290 TraceCheckUtils]: 81: Hoare triple {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:23:11,931 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} {11332#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #97#return; {11332#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-08 12:23:11,932 INFO L290 TraceCheckUtils]: 83: Hoare triple {11332#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {11381#(and (= main_~r~0 0) (<= main_~y~0 (+ main_~c~0 (* main_~k~0 main_~y~0))) (< main_~c~0 main_~y~0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 (* main_~k~0 main_~y~0))) (= main_~p~0 1))} is VALID [2022-04-08 12:23:11,933 INFO L290 TraceCheckUtils]: 84: Hoare triple {11381#(and (= main_~r~0 0) (<= main_~y~0 (+ main_~c~0 (* main_~k~0 main_~y~0))) (< main_~c~0 main_~y~0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 (* main_~k~0 main_~y~0))) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11385#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-08 12:23:11,933 INFO L290 TraceCheckUtils]: 85: Hoare triple {11385#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} assume !false; {11385#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-08 12:23:11,934 INFO L290 TraceCheckUtils]: 86: Hoare triple {11385#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11385#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-08 12:23:11,934 INFO L290 TraceCheckUtils]: 87: Hoare triple {11385#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} assume !false; {11385#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-08 12:23:11,934 INFO L272 TraceCheckUtils]: 88: Hoare triple {11385#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:23:11,934 INFO L290 TraceCheckUtils]: 89: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:23:11,934 INFO L290 TraceCheckUtils]: 90: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:23:11,934 INFO L290 TraceCheckUtils]: 91: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:23:11,935 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {11118#true} {11385#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} #91#return; {11385#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-08 12:23:11,935 INFO L272 TraceCheckUtils]: 93: Hoare triple {11385#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:23:11,935 INFO L290 TraceCheckUtils]: 94: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:23:11,935 INFO L290 TraceCheckUtils]: 95: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:23:11,935 INFO L290 TraceCheckUtils]: 96: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:23:11,951 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {11118#true} {11385#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} #93#return; {11385#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-08 12:23:11,951 INFO L272 TraceCheckUtils]: 98: Hoare triple {11385#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:23:11,952 INFO L290 TraceCheckUtils]: 99: Hoare triple {11118#true} ~cond := #in~cond; {11321#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:23:11,952 INFO L290 TraceCheckUtils]: 100: Hoare triple {11321#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:23:11,952 INFO L290 TraceCheckUtils]: 101: Hoare triple {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:23:11,953 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} {11385#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} #95#return; {11385#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-08 12:23:11,955 INFO L272 TraceCheckUtils]: 103: Hoare triple {11385#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11443#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:23:11,955 INFO L290 TraceCheckUtils]: 104: Hoare triple {11443#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11447#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:23:11,955 INFO L290 TraceCheckUtils]: 105: Hoare triple {11447#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11119#false} is VALID [2022-04-08 12:23:11,956 INFO L290 TraceCheckUtils]: 106: Hoare triple {11119#false} assume !false; {11119#false} is VALID [2022-04-08 12:23:11,956 INFO L134 CoverageAnalysis]: Checked inductivity of 320 backedges. 87 proven. 52 refuted. 0 times theorem prover too weak. 181 trivial. 0 not checked. [2022-04-08 12:23:11,956 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:25:47,498 INFO L290 TraceCheckUtils]: 106: Hoare triple {11119#false} assume !false; {11119#false} is VALID [2022-04-08 12:25:47,499 INFO L290 TraceCheckUtils]: 105: Hoare triple {11447#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11119#false} is VALID [2022-04-08 12:25:47,499 INFO L290 TraceCheckUtils]: 104: Hoare triple {11443#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11447#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:25:47,500 INFO L272 TraceCheckUtils]: 103: Hoare triple {11463#(= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11443#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:25:47,501 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} {11467#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #95#return; {11463#(= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))} is VALID [2022-04-08 12:25:47,501 INFO L290 TraceCheckUtils]: 101: Hoare triple {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:25:47,501 INFO L290 TraceCheckUtils]: 100: Hoare triple {11477#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:25:47,502 INFO L290 TraceCheckUtils]: 99: Hoare triple {11118#true} ~cond := #in~cond; {11477#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:25:47,502 INFO L272 TraceCheckUtils]: 98: Hoare triple {11467#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~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)); {11118#true} is VALID [2022-04-08 12:25:47,502 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {11118#true} {11467#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #93#return; {11467#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:25:47,503 INFO L290 TraceCheckUtils]: 96: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:25:47,503 INFO L290 TraceCheckUtils]: 95: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:25:47,503 INFO L290 TraceCheckUtils]: 94: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:25:47,503 INFO L272 TraceCheckUtils]: 93: Hoare triple {11467#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~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)); {11118#true} is VALID [2022-04-08 12:25:47,503 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {11118#true} {11467#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #91#return; {11467#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:25:47,503 INFO L290 TraceCheckUtils]: 91: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:25:47,503 INFO L290 TraceCheckUtils]: 90: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:25:47,504 INFO L290 TraceCheckUtils]: 89: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:25:47,504 INFO L272 TraceCheckUtils]: 88: Hoare triple {11467#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:25:47,504 INFO L290 TraceCheckUtils]: 87: Hoare triple {11467#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {11467#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:25:47,504 INFO L290 TraceCheckUtils]: 86: Hoare triple {11467#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11467#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:25:47,505 INFO L290 TraceCheckUtils]: 85: Hoare triple {11467#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {11467#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:25:49,507 WARN L290 TraceCheckUtils]: 84: Hoare triple {11523#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11467#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is UNKNOWN [2022-04-08 12:25:49,507 INFO L290 TraceCheckUtils]: 83: Hoare triple {11527#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} assume !(~c~0 >= ~b~0); {11523#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-08 12:25:49,509 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} {11531#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} #97#return; {11527#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-08 12:25:49,509 INFO L290 TraceCheckUtils]: 81: Hoare triple {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:25:49,509 INFO L290 TraceCheckUtils]: 80: Hoare triple {11477#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:25:49,509 INFO L290 TraceCheckUtils]: 79: Hoare triple {11118#true} ~cond := #in~cond; {11477#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:25:49,510 INFO L272 TraceCheckUtils]: 78: Hoare triple {11531#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:25:49,511 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} {11547#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} #95#return; {11531#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-08 12:25:49,511 INFO L290 TraceCheckUtils]: 76: Hoare triple {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:25:49,511 INFO L290 TraceCheckUtils]: 75: Hoare triple {11477#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:25:49,511 INFO L290 TraceCheckUtils]: 74: Hoare triple {11118#true} ~cond := #in~cond; {11477#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:25:49,512 INFO L272 TraceCheckUtils]: 73: Hoare triple {11547#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:25:49,512 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11118#true} {11547#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} #93#return; {11547#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-08 12:25:49,512 INFO L290 TraceCheckUtils]: 71: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:25:49,512 INFO L290 TraceCheckUtils]: 70: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:25:49,512 INFO L290 TraceCheckUtils]: 69: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:25:49,513 INFO L272 TraceCheckUtils]: 68: Hoare triple {11547#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:25:49,514 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} {11578#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} #91#return; {11547#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-08 12:25:49,514 INFO L290 TraceCheckUtils]: 66: Hoare triple {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:25:49,514 INFO L290 TraceCheckUtils]: 65: Hoare triple {11477#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:25:49,514 INFO L290 TraceCheckUtils]: 64: Hoare triple {11118#true} ~cond := #in~cond; {11477#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:25:49,515 INFO L272 TraceCheckUtils]: 63: Hoare triple {11578#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:25:49,515 INFO L290 TraceCheckUtils]: 62: Hoare triple {11578#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} assume !false; {11578#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-08 12:25:49,528 INFO L290 TraceCheckUtils]: 61: Hoare triple {11597#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {11578#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-08 12:25:49,529 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {11118#true} {11597#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} #97#return; {11597#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 12:25:49,529 INFO L290 TraceCheckUtils]: 59: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:25:49,529 INFO L290 TraceCheckUtils]: 58: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:25:49,529 INFO L290 TraceCheckUtils]: 57: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:25:49,529 INFO L272 TraceCheckUtils]: 56: Hoare triple {11597#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:25:49,530 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11118#true} {11597#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} #95#return; {11597#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 12:25:49,530 INFO L290 TraceCheckUtils]: 54: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:25:49,530 INFO L290 TraceCheckUtils]: 53: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:25:49,530 INFO L290 TraceCheckUtils]: 52: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:25:49,530 INFO L272 TraceCheckUtils]: 51: Hoare triple {11597#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:25:49,531 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11118#true} {11597#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} #93#return; {11597#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 12:25:49,531 INFO L290 TraceCheckUtils]: 49: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:25:49,531 INFO L290 TraceCheckUtils]: 48: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:25:49,531 INFO L290 TraceCheckUtils]: 47: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:25:49,531 INFO L272 TraceCheckUtils]: 46: Hoare triple {11597#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:25:49,532 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11118#true} {11597#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} #91#return; {11597#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 12:25:49,532 INFO L290 TraceCheckUtils]: 44: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:25:49,532 INFO L290 TraceCheckUtils]: 43: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:25:49,532 INFO L290 TraceCheckUtils]: 42: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:25:49,532 INFO L272 TraceCheckUtils]: 41: Hoare triple {11597#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:25:49,533 INFO L290 TraceCheckUtils]: 40: Hoare triple {11597#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} assume !false; {11597#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 12:25:49,534 INFO L290 TraceCheckUtils]: 39: Hoare triple {11664#(or (not (<= main_~b~0 main_~a~0)) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) main_~y~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)))))) (<= (* main_~b~0 2) main_~a~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11597#(or (not (= main_~a~0 (+ main_~c~0 (* (- 1) main_~b~0) (* (+ main_~k~0 1) main_~b~0)))) (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 12:25:49,534 INFO L290 TraceCheckUtils]: 38: Hoare triple {11664#(or (not (<= main_~b~0 main_~a~0)) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) main_~y~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)))))) (<= (* main_~b~0 2) main_~a~0))} assume !false; {11664#(or (not (<= main_~b~0 main_~a~0)) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) main_~y~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)))))) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-08 12:25:49,535 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {11118#true} {11664#(or (not (<= main_~b~0 main_~a~0)) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) main_~y~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)))))) (<= (* main_~b~0 2) main_~a~0))} #89#return; {11664#(or (not (<= main_~b~0 main_~a~0)) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) main_~y~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)))))) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-08 12:25:49,535 INFO L290 TraceCheckUtils]: 36: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:25:49,535 INFO L290 TraceCheckUtils]: 35: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:25:49,535 INFO L290 TraceCheckUtils]: 34: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:25:49,535 INFO L272 TraceCheckUtils]: 33: Hoare triple {11664#(or (not (<= main_~b~0 main_~a~0)) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) main_~y~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)))))) (<= (* main_~b~0 2) main_~a~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:25:49,536 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11118#true} {11664#(or (not (<= main_~b~0 main_~a~0)) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) main_~y~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)))))) (<= (* main_~b~0 2) main_~a~0))} #87#return; {11664#(or (not (<= main_~b~0 main_~a~0)) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) main_~y~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)))))) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-08 12:25:49,536 INFO L290 TraceCheckUtils]: 31: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:25:49,536 INFO L290 TraceCheckUtils]: 30: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:25:49,536 INFO L290 TraceCheckUtils]: 29: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:25:49,536 INFO L272 TraceCheckUtils]: 28: Hoare triple {11664#(or (not (<= main_~b~0 main_~a~0)) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) main_~y~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)))))) (<= (* main_~b~0 2) main_~a~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:25:49,537 INFO L290 TraceCheckUtils]: 27: Hoare triple {11118#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {11664#(or (not (<= main_~b~0 main_~a~0)) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) main_~y~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)))))) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-08 12:25:49,537 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11118#true} {11118#true} #85#return; {11118#true} is VALID [2022-04-08 12:25:49,537 INFO L290 TraceCheckUtils]: 25: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:25:49,537 INFO L290 TraceCheckUtils]: 24: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:25:49,537 INFO L290 TraceCheckUtils]: 23: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:25:49,538 INFO L272 TraceCheckUtils]: 22: Hoare triple {11118#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:25:49,538 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11118#true} {11118#true} #83#return; {11118#true} is VALID [2022-04-08 12:25:49,538 INFO L290 TraceCheckUtils]: 20: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:25:49,538 INFO L290 TraceCheckUtils]: 19: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:25:49,538 INFO L290 TraceCheckUtils]: 18: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:25:49,538 INFO L272 TraceCheckUtils]: 17: Hoare triple {11118#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:25:49,538 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11118#true} {11118#true} #81#return; {11118#true} is VALID [2022-04-08 12:25:49,538 INFO L290 TraceCheckUtils]: 15: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:25:49,538 INFO L290 TraceCheckUtils]: 14: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:25:49,538 INFO L290 TraceCheckUtils]: 13: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:25:49,538 INFO L272 TraceCheckUtils]: 12: Hoare triple {11118#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:25:49,538 INFO L290 TraceCheckUtils]: 11: Hoare triple {11118#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11118#true} is VALID [2022-04-08 12:25:49,538 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11118#true} {11118#true} #79#return; {11118#true} is VALID [2022-04-08 12:25:49,538 INFO L290 TraceCheckUtils]: 9: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:25:49,538 INFO L290 TraceCheckUtils]: 8: Hoare triple {11118#true} assume !(0 == ~cond); {11118#true} is VALID [2022-04-08 12:25:49,538 INFO L290 TraceCheckUtils]: 7: Hoare triple {11118#true} ~cond := #in~cond; {11118#true} is VALID [2022-04-08 12:25:49,538 INFO L272 TraceCheckUtils]: 6: Hoare triple {11118#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {11118#true} is VALID [2022-04-08 12:25:49,538 INFO L290 TraceCheckUtils]: 5: Hoare triple {11118#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11118#true} is VALID [2022-04-08 12:25:49,539 INFO L272 TraceCheckUtils]: 4: Hoare triple {11118#true} call #t~ret6 := main(); {11118#true} is VALID [2022-04-08 12:25:49,539 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11118#true} {11118#true} #103#return; {11118#true} is VALID [2022-04-08 12:25:49,539 INFO L290 TraceCheckUtils]: 2: Hoare triple {11118#true} assume true; {11118#true} is VALID [2022-04-08 12:25:49,539 INFO L290 TraceCheckUtils]: 1: Hoare triple {11118#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {11118#true} is VALID [2022-04-08 12:25:49,539 INFO L272 TraceCheckUtils]: 0: Hoare triple {11118#true} call ULTIMATE.init(); {11118#true} is VALID [2022-04-08 12:25:49,539 INFO L134 CoverageAnalysis]: Checked inductivity of 320 backedges. 81 proven. 43 refuted. 0 times theorem prover too weak. 196 trivial. 0 not checked. [2022-04-08 12:25:49,539 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:25:49,540 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [936326739] [2022-04-08 12:25:49,540 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:25:49,540 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [796086466] [2022-04-08 12:25:49,540 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [796086466] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:25:49,540 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:25:49,540 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 25 [2022-04-08 12:25:49,540 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:25:49,540 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1625423505] [2022-04-08 12:25:49,540 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1625423505] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:25:49,540 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:25:49,540 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 12:25:49,540 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1795350456] [2022-04-08 12:25:49,540 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:25:49,541 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 7 states have call successors, (18) Word has length 107 [2022-04-08 12:25:49,541 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:25:49,541 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.0) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-08 12:25:49,608 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 12:25:49,608 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 12:25:49,608 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:25:49,608 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 12:25:49,608 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=473, Unknown=2, NotChecked=0, Total=600 [2022-04-08 12:25:49,609 INFO L87 Difference]: Start difference. First operand 147 states and 195 transitions. Second operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-08 12:25:58,281 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:25:58,282 INFO L93 Difference]: Finished difference Result 154 states and 201 transitions. [2022-04-08 12:25:58,282 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 12:25:58,282 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 7 states have call successors, (18) Word has length 107 [2022-04-08 12:25:58,282 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:25:58,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-08 12:25:58,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 103 transitions. [2022-04-08 12:25:58,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-08 12:25:58,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 103 transitions. [2022-04-08 12:25:58,285 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 103 transitions. [2022-04-08 12:25:58,401 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:25:58,404 INFO L225 Difference]: With dead ends: 154 [2022-04-08 12:25:58,404 INFO L226 Difference]: Without dead ends: 152 [2022-04-08 12:25:58,404 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 217 GetRequests, 188 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 181 ImplicationChecksByTransitivity, 16.4s TimeCoverageRelationStatistics Valid=158, Invalid=651, Unknown=3, NotChecked=0, Total=812 [2022-04-08 12:25:58,405 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 38 mSDsluCounter, 160 mSDsCounter, 0 mSdLazyCounter, 605 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 197 SdHoareTripleChecker+Invalid, 641 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 605 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-08 12:25:58,405 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [52 Valid, 197 Invalid, 641 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 605 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-08 12:25:58,405 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 152 states. [2022-04-08 12:25:58,619 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 152 to 128. [2022-04-08 12:25:58,619 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:25:58,619 INFO L82 GeneralOperation]: Start isEquivalent. First operand 152 states. Second operand has 128 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 70 states have internal predecessors, (77), 47 states have call successors, (47), 13 states have call predecessors, (47), 12 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 12:25:58,620 INFO L74 IsIncluded]: Start isIncluded. First operand 152 states. Second operand has 128 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 70 states have internal predecessors, (77), 47 states have call successors, (47), 13 states have call predecessors, (47), 12 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 12:25:58,620 INFO L87 Difference]: Start difference. First operand 152 states. Second operand has 128 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 70 states have internal predecessors, (77), 47 states have call successors, (47), 13 states have call predecessors, (47), 12 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 12:25:58,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:25:58,623 INFO L93 Difference]: Finished difference Result 152 states and 199 transitions. [2022-04-08 12:25:58,623 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 199 transitions. [2022-04-08 12:25:58,623 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:25:58,623 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:25:58,623 INFO L74 IsIncluded]: Start isIncluded. First operand has 128 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 70 states have internal predecessors, (77), 47 states have call successors, (47), 13 states have call predecessors, (47), 12 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 152 states. [2022-04-08 12:25:58,624 INFO L87 Difference]: Start difference. First operand has 128 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 70 states have internal predecessors, (77), 47 states have call successors, (47), 13 states have call predecessors, (47), 12 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 152 states. [2022-04-08 12:25:58,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:25:58,626 INFO L93 Difference]: Finished difference Result 152 states and 199 transitions. [2022-04-08 12:25:58,626 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 199 transitions. [2022-04-08 12:25:58,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:25:58,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:25:58,627 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:25:58,627 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:25:58,627 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 128 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 70 states have internal predecessors, (77), 47 states have call successors, (47), 13 states have call predecessors, (47), 12 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 12:25:58,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 168 transitions. [2022-04-08 12:25:58,629 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 168 transitions. Word has length 107 [2022-04-08 12:25:58,629 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:25:58,629 INFO L478 AbstractCegarLoop]: Abstraction has 128 states and 168 transitions. [2022-04-08 12:25:58,629 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-08 12:25:58,630 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 128 states and 168 transitions. [2022-04-08 12:25:58,920 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 168 edges. 168 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:25:58,920 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 168 transitions. [2022-04-08 12:25:58,921 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-04-08 12:25:58,921 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:25:58,921 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:25:58,939 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 12:25:59,121 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-08 12:25:59,122 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:25:59,122 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:25:59,122 INFO L85 PathProgramCache]: Analyzing trace with hash 1185765869, now seen corresponding path program 3 times [2022-04-08 12:25:59,122 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:25:59,122 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [313028844] [2022-04-08 12:25:59,123 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:25:59,123 INFO L85 PathProgramCache]: Analyzing trace with hash 1185765869, now seen corresponding path program 4 times [2022-04-08 12:25:59,123 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:25:59,123 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1123811302] [2022-04-08 12:25:59,123 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:25:59,123 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:25:59,134 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:25:59,134 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1250334156] [2022-04-08 12:25:59,134 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:25:59,134 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:25:59,134 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:25:59,136 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 12:25:59,136 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 12:25:59,187 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:25:59,187 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:25:59,189 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 49 conjunts are in the unsatisfiable core [2022-04-08 12:25:59,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:25:59,206 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:26:00,367 INFO L272 TraceCheckUtils]: 0: Hoare triple {12660#true} call ULTIMATE.init(); {12660#true} is VALID [2022-04-08 12:26:00,367 INFO L290 TraceCheckUtils]: 1: Hoare triple {12660#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {12660#true} is VALID [2022-04-08 12:26:00,367 INFO L290 TraceCheckUtils]: 2: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:26:00,367 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12660#true} {12660#true} #103#return; {12660#true} is VALID [2022-04-08 12:26:00,367 INFO L272 TraceCheckUtils]: 4: Hoare triple {12660#true} call #t~ret6 := main(); {12660#true} is VALID [2022-04-08 12:26:00,367 INFO L290 TraceCheckUtils]: 5: Hoare triple {12660#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {12660#true} is VALID [2022-04-08 12:26:00,367 INFO L272 TraceCheckUtils]: 6: Hoare triple {12660#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:26:00,367 INFO L290 TraceCheckUtils]: 7: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:26:00,367 INFO L290 TraceCheckUtils]: 8: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:26:00,367 INFO L290 TraceCheckUtils]: 9: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:26:00,367 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12660#true} {12660#true} #79#return; {12660#true} is VALID [2022-04-08 12:26:00,367 INFO L290 TraceCheckUtils]: 11: Hoare triple {12660#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12660#true} is VALID [2022-04-08 12:26:00,367 INFO L272 TraceCheckUtils]: 12: Hoare triple {12660#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:26:00,367 INFO L290 TraceCheckUtils]: 13: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:26:00,367 INFO L290 TraceCheckUtils]: 14: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:26:00,368 INFO L290 TraceCheckUtils]: 15: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:26:00,368 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12660#true} {12660#true} #81#return; {12660#true} is VALID [2022-04-08 12:26:00,368 INFO L272 TraceCheckUtils]: 17: Hoare triple {12660#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:26:00,368 INFO L290 TraceCheckUtils]: 18: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:26:00,368 INFO L290 TraceCheckUtils]: 19: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:26:00,368 INFO L290 TraceCheckUtils]: 20: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:26:00,368 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {12660#true} {12660#true} #83#return; {12660#true} is VALID [2022-04-08 12:26:00,368 INFO L272 TraceCheckUtils]: 22: Hoare triple {12660#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:26:00,368 INFO L290 TraceCheckUtils]: 23: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:26:00,368 INFO L290 TraceCheckUtils]: 24: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:26:00,368 INFO L290 TraceCheckUtils]: 25: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:26:00,368 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {12660#true} {12660#true} #85#return; {12660#true} is VALID [2022-04-08 12:26:00,369 INFO L290 TraceCheckUtils]: 27: Hoare triple {12660#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {12746#(and (= main_~r~0 0) (= 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 12:26:00,369 INFO L272 TraceCheckUtils]: 28: Hoare triple {12746#(and (= main_~r~0 0) (= 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 assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:26:00,369 INFO L290 TraceCheckUtils]: 29: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:26:00,369 INFO L290 TraceCheckUtils]: 30: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:26:00,369 INFO L290 TraceCheckUtils]: 31: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:26:00,370 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12660#true} {12746#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {12746#(and (= main_~r~0 0) (= 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 12:26:00,370 INFO L272 TraceCheckUtils]: 33: Hoare triple {12746#(and (= main_~r~0 0) (= 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 assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:26:00,370 INFO L290 TraceCheckUtils]: 34: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:26:00,370 INFO L290 TraceCheckUtils]: 35: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:26:00,370 INFO L290 TraceCheckUtils]: 36: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:26:00,371 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {12660#true} {12746#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {12746#(and (= main_~r~0 0) (= 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 12:26:00,371 INFO L290 TraceCheckUtils]: 38: Hoare triple {12746#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {12746#(and (= main_~r~0 0) (= 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 12:26:00,372 INFO L290 TraceCheckUtils]: 39: Hoare triple {12746#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {12783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:26:00,372 INFO L290 TraceCheckUtils]: 40: Hoare triple {12783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {12783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:26:00,372 INFO L272 TraceCheckUtils]: 41: Hoare triple {12783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:26:00,372 INFO L290 TraceCheckUtils]: 42: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:26:00,372 INFO L290 TraceCheckUtils]: 43: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:26:00,372 INFO L290 TraceCheckUtils]: 44: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:26:00,373 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12660#true} {12783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {12783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:26:00,373 INFO L272 TraceCheckUtils]: 46: Hoare triple {12783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:26:00,373 INFO L290 TraceCheckUtils]: 47: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:26:00,373 INFO L290 TraceCheckUtils]: 48: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:26:00,373 INFO L290 TraceCheckUtils]: 49: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:26:00,374 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12660#true} {12783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #93#return; {12783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:26:00,374 INFO L272 TraceCheckUtils]: 51: Hoare triple {12783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:26:00,374 INFO L290 TraceCheckUtils]: 52: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:26:00,374 INFO L290 TraceCheckUtils]: 53: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:26:00,374 INFO L290 TraceCheckUtils]: 54: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:26:00,375 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {12660#true} {12783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #95#return; {12783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:26:00,375 INFO L272 TraceCheckUtils]: 56: Hoare triple {12783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:26:00,375 INFO L290 TraceCheckUtils]: 57: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:26:00,375 INFO L290 TraceCheckUtils]: 58: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:26:00,375 INFO L290 TraceCheckUtils]: 59: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:26:00,376 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {12660#true} {12783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #97#return; {12783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:26:00,376 INFO L290 TraceCheckUtils]: 61: Hoare triple {12783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {12850#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:26:00,377 INFO L290 TraceCheckUtils]: 62: Hoare triple {12850#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {12850#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:26:00,377 INFO L272 TraceCheckUtils]: 63: Hoare triple {12850#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:26:00,377 INFO L290 TraceCheckUtils]: 64: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:26:00,377 INFO L290 TraceCheckUtils]: 65: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:26:00,377 INFO L290 TraceCheckUtils]: 66: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:26:00,378 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {12660#true} {12850#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {12850#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:26:00,378 INFO L272 TraceCheckUtils]: 68: Hoare triple {12850#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:26:00,378 INFO L290 TraceCheckUtils]: 69: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:26:00,378 INFO L290 TraceCheckUtils]: 70: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:26:00,378 INFO L290 TraceCheckUtils]: 71: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:26:00,379 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {12660#true} {12850#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #93#return; {12850#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:26:00,379 INFO L272 TraceCheckUtils]: 73: Hoare triple {12850#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:26:00,379 INFO L290 TraceCheckUtils]: 74: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:26:00,379 INFO L290 TraceCheckUtils]: 75: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:26:00,379 INFO L290 TraceCheckUtils]: 76: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:26:00,379 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {12660#true} {12850#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #95#return; {12850#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:26:00,380 INFO L272 TraceCheckUtils]: 78: Hoare triple {12850#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:26:00,380 INFO L290 TraceCheckUtils]: 79: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:26:00,380 INFO L290 TraceCheckUtils]: 80: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:26:00,380 INFO L290 TraceCheckUtils]: 81: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:26:00,380 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {12660#true} {12850#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #97#return; {12850#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:26:00,381 INFO L290 TraceCheckUtils]: 83: Hoare triple {12850#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {12917#(and (= main_~r~0 0) (= (+ (- 1) main_~k~0) 1) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:26:00,382 INFO L290 TraceCheckUtils]: 84: Hoare triple {12917#(and (= main_~r~0 0) (= (+ (- 1) main_~k~0) 1) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {12917#(and (= main_~r~0 0) (= (+ (- 1) main_~k~0) 1) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:26:00,382 INFO L272 TraceCheckUtils]: 85: Hoare triple {12917#(and (= main_~r~0 0) (= (+ (- 1) main_~k~0) 1) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:26:00,382 INFO L290 TraceCheckUtils]: 86: Hoare triple {12660#true} ~cond := #in~cond; {12927#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:26:00,382 INFO L290 TraceCheckUtils]: 87: Hoare triple {12927#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12931#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:26:00,383 INFO L290 TraceCheckUtils]: 88: Hoare triple {12931#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12931#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:26:00,383 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {12931#(not (= |__VERIFIER_assert_#in~cond| 0))} {12917#(and (= main_~r~0 0) (= (+ (- 1) main_~k~0) 1) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {12917#(and (= main_~r~0 0) (= (+ (- 1) main_~k~0) 1) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:26:00,383 INFO L272 TraceCheckUtils]: 90: Hoare triple {12917#(and (= main_~r~0 0) (= (+ (- 1) main_~k~0) 1) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~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)); {12660#true} is VALID [2022-04-08 12:26:00,384 INFO L290 TraceCheckUtils]: 91: Hoare triple {12660#true} ~cond := #in~cond; {12927#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:26:00,384 INFO L290 TraceCheckUtils]: 92: Hoare triple {12927#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12931#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:26:00,384 INFO L290 TraceCheckUtils]: 93: Hoare triple {12931#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12931#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:26:00,385 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {12931#(not (= |__VERIFIER_assert_#in~cond| 0))} {12917#(and (= main_~r~0 0) (= (+ (- 1) main_~k~0) 1) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #93#return; {12953#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~p~0 1))} is VALID [2022-04-08 12:26:00,385 INFO L272 TraceCheckUtils]: 95: Hoare triple {12953#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~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)); {12660#true} is VALID [2022-04-08 12:26:00,385 INFO L290 TraceCheckUtils]: 96: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:26:00,385 INFO L290 TraceCheckUtils]: 97: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:26:00,385 INFO L290 TraceCheckUtils]: 98: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:26:00,386 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {12660#true} {12953#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~p~0 1))} #95#return; {12953#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~p~0 1))} is VALID [2022-04-08 12:26:00,386 INFO L272 TraceCheckUtils]: 100: Hoare triple {12953#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:26:00,386 INFO L290 TraceCheckUtils]: 101: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:26:00,386 INFO L290 TraceCheckUtils]: 102: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:26:00,386 INFO L290 TraceCheckUtils]: 103: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:26:00,387 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {12660#true} {12953#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~p~0 1))} #97#return; {12953#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~p~0 1))} is VALID [2022-04-08 12:26:00,387 INFO L290 TraceCheckUtils]: 105: Hoare triple {12953#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {12987#(and (= main_~r~0 0) (= main_~s~0 1) (not (<= main_~y~0 main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~y~0 2))) (<= 0 main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:26:00,388 INFO L290 TraceCheckUtils]: 106: Hoare triple {12987#(and (= main_~r~0 0) (= main_~s~0 1) (not (<= main_~y~0 main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~y~0 2))) (<= 0 main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {12991#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~s~0 2) 0) (not (<= main_~y~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= main_~q~0 1))} is VALID [2022-04-08 12:26:00,389 INFO L290 TraceCheckUtils]: 107: Hoare triple {12991#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~s~0 2) 0) (not (<= main_~y~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= main_~q~0 1))} assume !false; {12991#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~s~0 2) 0) (not (<= main_~y~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= main_~q~0 1))} is VALID [2022-04-08 12:26:00,389 INFO L290 TraceCheckUtils]: 108: Hoare triple {12991#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~s~0 2) 0) (not (<= main_~y~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= main_~q~0 1))} assume !(0 != ~b~0); {12998#(and (= (+ main_~s~0 2) 0) (< (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) main_~y~0) (= main_~q~0 1) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-08 12:26:00,390 INFO L272 TraceCheckUtils]: 109: Hoare triple {12998#(and (= (+ main_~s~0 2) 0) (< (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) main_~y~0) (= main_~q~0 1) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {13002#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:26:00,390 INFO L290 TraceCheckUtils]: 110: Hoare triple {13002#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13006#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:26:00,390 INFO L290 TraceCheckUtils]: 111: Hoare triple {13006#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12661#false} is VALID [2022-04-08 12:26:00,391 INFO L290 TraceCheckUtils]: 112: Hoare triple {12661#false} assume !false; {12661#false} is VALID [2022-04-08 12:26:00,391 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 70 proven. 34 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2022-04-08 12:26:00,391 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:27:22,100 INFO L290 TraceCheckUtils]: 112: Hoare triple {12661#false} assume !false; {12661#false} is VALID [2022-04-08 12:27:22,101 INFO L290 TraceCheckUtils]: 111: Hoare triple {13006#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12661#false} is VALID [2022-04-08 12:27:22,101 INFO L290 TraceCheckUtils]: 110: Hoare triple {13002#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13006#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:27:22,102 INFO L272 TraceCheckUtils]: 109: Hoare triple {13022#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {13002#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:27:22,102 INFO L290 TraceCheckUtils]: 108: Hoare triple {13026#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {13022#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-08 12:27:22,102 INFO L290 TraceCheckUtils]: 107: Hoare triple {13026#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !false; {13026#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-08 12:27:22,766 INFO L290 TraceCheckUtils]: 106: Hoare triple {13033#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {13026#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-08 12:27:22,767 INFO L290 TraceCheckUtils]: 105: Hoare triple {13037#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !(~c~0 >= ~b~0); {13033#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-08 12:27:22,768 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {12660#true} {13037#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #97#return; {13037#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-08 12:27:22,768 INFO L290 TraceCheckUtils]: 103: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:27:22,768 INFO L290 TraceCheckUtils]: 102: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:27:22,768 INFO L290 TraceCheckUtils]: 101: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:27:22,768 INFO L272 TraceCheckUtils]: 100: Hoare triple {13037#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:27:22,768 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {12660#true} {13037#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #95#return; {13037#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-08 12:27:22,769 INFO L290 TraceCheckUtils]: 98: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:27:22,769 INFO L290 TraceCheckUtils]: 97: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:27:22,769 INFO L290 TraceCheckUtils]: 96: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:27:22,769 INFO L272 TraceCheckUtils]: 95: Hoare triple {13037#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:27:22,769 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {12931#(not (= |__VERIFIER_assert_#in~cond| 0))} {13071#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #93#return; {13037#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-08 12:27:22,770 INFO L290 TraceCheckUtils]: 93: Hoare triple {12931#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12931#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:27:22,770 INFO L290 TraceCheckUtils]: 92: Hoare triple {13081#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12931#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:27:22,770 INFO L290 TraceCheckUtils]: 91: Hoare triple {12660#true} ~cond := #in~cond; {13081#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:27:22,770 INFO L272 TraceCheckUtils]: 90: Hoare triple {13071#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:27:22,771 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {12931#(not (= |__VERIFIER_assert_#in~cond| 0))} {13088#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #91#return; {13071#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-08 12:27:22,771 INFO L290 TraceCheckUtils]: 88: Hoare triple {12931#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12931#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:27:22,772 INFO L290 TraceCheckUtils]: 87: Hoare triple {13081#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12931#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:27:22,772 INFO L290 TraceCheckUtils]: 86: Hoare triple {12660#true} ~cond := #in~cond; {13081#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:27:22,772 INFO L272 TraceCheckUtils]: 85: Hoare triple {13088#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:27:22,772 INFO L290 TraceCheckUtils]: 84: Hoare triple {13088#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !false; {13088#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-08 12:27:23,003 INFO L290 TraceCheckUtils]: 83: Hoare triple {13107#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (not (= main_~a~0 (+ main_~b~0 (* main_~b~0 main_~k~0)))))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {13088#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-08 12:27:23,004 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {12660#true} {13107#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (not (= main_~a~0 (+ main_~b~0 (* main_~b~0 main_~k~0)))))} #97#return; {13107#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (not (= main_~a~0 (+ main_~b~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-08 12:27:23,004 INFO L290 TraceCheckUtils]: 81: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:27:23,005 INFO L290 TraceCheckUtils]: 80: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:27:23,005 INFO L290 TraceCheckUtils]: 79: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:27:23,005 INFO L272 TraceCheckUtils]: 78: Hoare triple {13107#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (not (= main_~a~0 (+ main_~b~0 (* main_~b~0 main_~k~0)))))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:27:23,005 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {12660#true} {13107#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (not (= main_~a~0 (+ main_~b~0 (* main_~b~0 main_~k~0)))))} #95#return; {13107#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (not (= main_~a~0 (+ main_~b~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-08 12:27:23,005 INFO L290 TraceCheckUtils]: 76: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:27:23,005 INFO L290 TraceCheckUtils]: 75: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:27:23,005 INFO L290 TraceCheckUtils]: 74: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:27:23,005 INFO L272 TraceCheckUtils]: 73: Hoare triple {13107#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (not (= main_~a~0 (+ main_~b~0 (* main_~b~0 main_~k~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:27:23,006 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {12660#true} {13107#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (not (= main_~a~0 (+ main_~b~0 (* main_~b~0 main_~k~0)))))} #93#return; {13107#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (not (= main_~a~0 (+ main_~b~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-08 12:27:23,006 INFO L290 TraceCheckUtils]: 71: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:27:23,006 INFO L290 TraceCheckUtils]: 70: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:27:23,006 INFO L290 TraceCheckUtils]: 69: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:27:23,006 INFO L272 TraceCheckUtils]: 68: Hoare triple {13107#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (not (= main_~a~0 (+ main_~b~0 (* main_~b~0 main_~k~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:27:23,007 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {12660#true} {13107#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (not (= main_~a~0 (+ main_~b~0 (* main_~b~0 main_~k~0)))))} #91#return; {13107#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (not (= main_~a~0 (+ main_~b~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-08 12:27:23,007 INFO L290 TraceCheckUtils]: 66: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:27:23,007 INFO L290 TraceCheckUtils]: 65: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:27:23,007 INFO L290 TraceCheckUtils]: 64: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:27:23,007 INFO L272 TraceCheckUtils]: 63: Hoare triple {13107#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (not (= main_~a~0 (+ main_~b~0 (* main_~b~0 main_~k~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:27:23,008 INFO L290 TraceCheckUtils]: 62: Hoare triple {13107#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (not (= main_~a~0 (+ main_~b~0 (* main_~b~0 main_~k~0)))))} assume !false; {13107#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (not (= main_~a~0 (+ main_~b~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-08 12:27:23,108 INFO L290 TraceCheckUtils]: 61: Hoare triple {13174#(or (not (= (+ main_~b~0 (* (+ main_~k~0 1) main_~b~0)) main_~a~0)) (not (= main_~b~0 (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {13107#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (not (= main_~a~0 (+ main_~b~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-08 12:27:23,109 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {12660#true} {13174#(or (not (= (+ main_~b~0 (* (+ main_~k~0 1) main_~b~0)) main_~a~0)) (not (= main_~b~0 (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #97#return; {13174#(or (not (= (+ main_~b~0 (* (+ main_~k~0 1) main_~b~0)) main_~a~0)) (not (= main_~b~0 (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:23,109 INFO L290 TraceCheckUtils]: 59: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:27:23,109 INFO L290 TraceCheckUtils]: 58: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:27:23,109 INFO L290 TraceCheckUtils]: 57: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:27:23,109 INFO L272 TraceCheckUtils]: 56: Hoare triple {13174#(or (not (= (+ main_~b~0 (* (+ main_~k~0 1) main_~b~0)) main_~a~0)) (not (= main_~b~0 (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:27:23,110 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {12660#true} {13174#(or (not (= (+ main_~b~0 (* (+ main_~k~0 1) main_~b~0)) main_~a~0)) (not (= main_~b~0 (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #95#return; {13174#(or (not (= (+ main_~b~0 (* (+ main_~k~0 1) main_~b~0)) main_~a~0)) (not (= main_~b~0 (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:23,110 INFO L290 TraceCheckUtils]: 54: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:27:23,110 INFO L290 TraceCheckUtils]: 53: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:27:23,110 INFO L290 TraceCheckUtils]: 52: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:27:23,110 INFO L272 TraceCheckUtils]: 51: Hoare triple {13174#(or (not (= (+ main_~b~0 (* (+ main_~k~0 1) main_~b~0)) main_~a~0)) (not (= main_~b~0 (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) (* main_~y~0 main_~s~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)); {12660#true} is VALID [2022-04-08 12:27:23,110 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12660#true} {13174#(or (not (= (+ main_~b~0 (* (+ main_~k~0 1) main_~b~0)) main_~a~0)) (not (= main_~b~0 (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #93#return; {13174#(or (not (= (+ main_~b~0 (* (+ main_~k~0 1) main_~b~0)) main_~a~0)) (not (= main_~b~0 (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:23,111 INFO L290 TraceCheckUtils]: 49: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:27:23,111 INFO L290 TraceCheckUtils]: 48: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:27:23,111 INFO L290 TraceCheckUtils]: 47: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:27:23,111 INFO L272 TraceCheckUtils]: 46: Hoare triple {13174#(or (not (= (+ main_~b~0 (* (+ main_~k~0 1) main_~b~0)) main_~a~0)) (not (= main_~b~0 (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) (* main_~y~0 main_~s~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)); {12660#true} is VALID [2022-04-08 12:27:23,111 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12660#true} {13174#(or (not (= (+ main_~b~0 (* (+ main_~k~0 1) main_~b~0)) main_~a~0)) (not (= main_~b~0 (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #91#return; {13174#(or (not (= (+ main_~b~0 (* (+ main_~k~0 1) main_~b~0)) main_~a~0)) (not (= main_~b~0 (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:23,111 INFO L290 TraceCheckUtils]: 44: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:27:23,111 INFO L290 TraceCheckUtils]: 43: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:27:23,111 INFO L290 TraceCheckUtils]: 42: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:27:23,112 INFO L272 TraceCheckUtils]: 41: Hoare triple {13174#(or (not (= (+ main_~b~0 (* (+ main_~k~0 1) main_~b~0)) main_~a~0)) (not (= main_~b~0 (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:27:23,112 INFO L290 TraceCheckUtils]: 40: Hoare triple {13174#(or (not (= (+ main_~b~0 (* (+ main_~k~0 1) main_~b~0)) main_~a~0)) (not (= main_~b~0 (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {13174#(or (not (= (+ main_~b~0 (* (+ main_~k~0 1) main_~b~0)) main_~a~0)) (not (= main_~b~0 (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:23,113 INFO L290 TraceCheckUtils]: 39: Hoare triple {13241#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13174#(or (not (= (+ main_~b~0 (* (+ main_~k~0 1) main_~b~0)) main_~a~0)) (not (= main_~b~0 (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:23,113 INFO L290 TraceCheckUtils]: 38: Hoare triple {13241#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {13241#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:23,113 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {12660#true} {13241#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #89#return; {13241#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:23,114 INFO L290 TraceCheckUtils]: 36: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:27:23,114 INFO L290 TraceCheckUtils]: 35: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:27:23,114 INFO L290 TraceCheckUtils]: 34: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:27:23,114 INFO L272 TraceCheckUtils]: 33: Hoare triple {13241#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:27:23,114 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12660#true} {13241#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #87#return; {13241#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:23,114 INFO L290 TraceCheckUtils]: 31: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:27:23,114 INFO L290 TraceCheckUtils]: 30: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:27:23,114 INFO L290 TraceCheckUtils]: 29: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:27:23,114 INFO L272 TraceCheckUtils]: 28: Hoare triple {13241#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:27:23,115 INFO L290 TraceCheckUtils]: 27: Hoare triple {12660#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {13241#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 0) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:23,115 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {12660#true} {12660#true} #85#return; {12660#true} is VALID [2022-04-08 12:27:23,115 INFO L290 TraceCheckUtils]: 25: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:27:23,115 INFO L290 TraceCheckUtils]: 24: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:27:23,115 INFO L290 TraceCheckUtils]: 23: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:27:23,115 INFO L272 TraceCheckUtils]: 22: Hoare triple {12660#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:27:23,115 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {12660#true} {12660#true} #83#return; {12660#true} is VALID [2022-04-08 12:27:23,115 INFO L290 TraceCheckUtils]: 20: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:27:23,115 INFO L290 TraceCheckUtils]: 19: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:27:23,115 INFO L290 TraceCheckUtils]: 18: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:27:23,115 INFO L272 TraceCheckUtils]: 17: Hoare triple {12660#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:27:23,115 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12660#true} {12660#true} #81#return; {12660#true} is VALID [2022-04-08 12:27:23,116 INFO L290 TraceCheckUtils]: 15: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:27:23,116 INFO L290 TraceCheckUtils]: 14: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:27:23,116 INFO L290 TraceCheckUtils]: 13: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:27:23,116 INFO L272 TraceCheckUtils]: 12: Hoare triple {12660#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:27:23,116 INFO L290 TraceCheckUtils]: 11: Hoare triple {12660#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12660#true} is VALID [2022-04-08 12:27:23,116 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12660#true} {12660#true} #79#return; {12660#true} is VALID [2022-04-08 12:27:23,116 INFO L290 TraceCheckUtils]: 9: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:27:23,116 INFO L290 TraceCheckUtils]: 8: Hoare triple {12660#true} assume !(0 == ~cond); {12660#true} is VALID [2022-04-08 12:27:23,116 INFO L290 TraceCheckUtils]: 7: Hoare triple {12660#true} ~cond := #in~cond; {12660#true} is VALID [2022-04-08 12:27:23,116 INFO L272 TraceCheckUtils]: 6: Hoare triple {12660#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {12660#true} is VALID [2022-04-08 12:27:23,116 INFO L290 TraceCheckUtils]: 5: Hoare triple {12660#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {12660#true} is VALID [2022-04-08 12:27:23,116 INFO L272 TraceCheckUtils]: 4: Hoare triple {12660#true} call #t~ret6 := main(); {12660#true} is VALID [2022-04-08 12:27:23,116 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12660#true} {12660#true} #103#return; {12660#true} is VALID [2022-04-08 12:27:23,116 INFO L290 TraceCheckUtils]: 2: Hoare triple {12660#true} assume true; {12660#true} is VALID [2022-04-08 12:27:23,116 INFO L290 TraceCheckUtils]: 1: Hoare triple {12660#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {12660#true} is VALID [2022-04-08 12:27:23,116 INFO L272 TraceCheckUtils]: 0: Hoare triple {12660#true} call ULTIMATE.init(); {12660#true} is VALID [2022-04-08 12:27:23,117 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 70 proven. 34 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2022-04-08 12:27:23,117 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:27:23,117 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1123811302] [2022-04-08 12:27:23,117 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:27:23,117 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1250334156] [2022-04-08 12:27:23,117 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1250334156] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:27:23,117 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:27:23,117 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 15] total 24 [2022-04-08 12:27:23,118 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:27:23,118 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [313028844] [2022-04-08 12:27:23,118 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [313028844] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:27:23,118 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:27:23,118 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 12:27:23,118 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [745629720] [2022-04-08 12:27:23,118 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:27:23,118 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) Word has length 113 [2022-04-08 12:27:23,119 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:27:23,119 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-08 12:27:23,183 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 12:27:23,183 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 12:27:23,184 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:27:23,184 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 12:27:23,184 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=110, Invalid=442, Unknown=0, NotChecked=0, Total=552 [2022-04-08 12:27:23,184 INFO L87 Difference]: Start difference. First operand 128 states and 168 transitions. Second operand has 14 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-08 12:27:26,635 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:27:26,636 INFO L93 Difference]: Finished difference Result 162 states and 215 transitions. [2022-04-08 12:27:26,636 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 12:27:26,636 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) Word has length 113 [2022-04-08 12:27:26,636 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:27:26,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-08 12:27:26,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 117 transitions. [2022-04-08 12:27:26,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-08 12:27:26,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 117 transitions. [2022-04-08 12:27:26,639 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 117 transitions. [2022-04-08 12:27:26,761 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:27:26,764 INFO L225 Difference]: With dead ends: 162 [2022-04-08 12:27:26,764 INFO L226 Difference]: Without dead ends: 159 [2022-04-08 12:27:26,764 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 229 GetRequests, 201 SyntacticMatches, 2 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 146 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=149, Invalid=607, Unknown=0, NotChecked=0, Total=756 [2022-04-08 12:27:26,764 INFO L913 BasicCegarLoop]: 51 mSDtfsCounter, 31 mSDsluCounter, 240 mSDsCounter, 0 mSdLazyCounter, 629 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 291 SdHoareTripleChecker+Invalid, 659 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 629 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-08 12:27:26,765 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [42 Valid, 291 Invalid, 659 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 629 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-08 12:27:26,765 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2022-04-08 12:27:27,060 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 157. [2022-04-08 12:27:27,060 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:27:27,061 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand has 157 states, 83 states have (on average 1.1325301204819278) internal successors, (94), 85 states have internal predecessors, (94), 59 states have call successors, (59), 15 states have call predecessors, (59), 14 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-08 12:27:27,061 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand has 157 states, 83 states have (on average 1.1325301204819278) internal successors, (94), 85 states have internal predecessors, (94), 59 states have call successors, (59), 15 states have call predecessors, (59), 14 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-08 12:27:27,061 INFO L87 Difference]: Start difference. First operand 159 states. Second operand has 157 states, 83 states have (on average 1.1325301204819278) internal successors, (94), 85 states have internal predecessors, (94), 59 states have call successors, (59), 15 states have call predecessors, (59), 14 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-08 12:27:27,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:27:27,064 INFO L93 Difference]: Finished difference Result 159 states and 211 transitions. [2022-04-08 12:27:27,064 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 211 transitions. [2022-04-08 12:27:27,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:27:27,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:27:27,065 INFO L74 IsIncluded]: Start isIncluded. First operand has 157 states, 83 states have (on average 1.1325301204819278) internal successors, (94), 85 states have internal predecessors, (94), 59 states have call successors, (59), 15 states have call predecessors, (59), 14 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) Second operand 159 states. [2022-04-08 12:27:27,065 INFO L87 Difference]: Start difference. First operand has 157 states, 83 states have (on average 1.1325301204819278) internal successors, (94), 85 states have internal predecessors, (94), 59 states have call successors, (59), 15 states have call predecessors, (59), 14 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) Second operand 159 states. [2022-04-08 12:27:27,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:27:27,068 INFO L93 Difference]: Finished difference Result 159 states and 211 transitions. [2022-04-08 12:27:27,068 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 211 transitions. [2022-04-08 12:27:27,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:27:27,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:27:27,069 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:27:27,069 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:27:27,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 157 states, 83 states have (on average 1.1325301204819278) internal successors, (94), 85 states have internal predecessors, (94), 59 states have call successors, (59), 15 states have call predecessors, (59), 14 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-08 12:27:27,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 209 transitions. [2022-04-08 12:27:27,072 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 209 transitions. Word has length 113 [2022-04-08 12:27:27,072 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:27:27,072 INFO L478 AbstractCegarLoop]: Abstraction has 157 states and 209 transitions. [2022-04-08 12:27:27,073 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-08 12:27:27,073 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 157 states and 209 transitions. [2022-04-08 12:27:27,512 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 209 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:27:27,513 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 209 transitions. [2022-04-08 12:27:27,513 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-08 12:27:27,513 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:27:27,513 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:27:27,530 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Ended with exit code 0 [2022-04-08 12:27:27,730 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:27:27,730 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:27:27,731 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:27:27,731 INFO L85 PathProgramCache]: Analyzing trace with hash 884638574, now seen corresponding path program 5 times [2022-04-08 12:27:27,731 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:27:27,731 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1989914082] [2022-04-08 12:27:27,731 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:27:27,731 INFO L85 PathProgramCache]: Analyzing trace with hash 884638574, now seen corresponding path program 6 times [2022-04-08 12:27:27,731 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:27:27,732 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1447364725] [2022-04-08 12:27:27,732 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:27:27,732 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:27:27,753 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:27:27,753 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2141408214] [2022-04-08 12:27:27,754 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 12:27:27,754 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:27:27,754 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:27:27,754 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 12:27:27,755 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 12:27:27,817 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 12:27:27,817 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:27:27,828 INFO L263 TraceCheckSpWp]: Trace formula consists of 255 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 12:27:27,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:27:27,842 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:27:28,091 INFO L272 TraceCheckUtils]: 0: Hoare triple {14325#true} call ULTIMATE.init(); {14325#true} is VALID [2022-04-08 12:27:28,092 INFO L290 TraceCheckUtils]: 1: Hoare triple {14325#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {14325#true} is VALID [2022-04-08 12:27:28,092 INFO L290 TraceCheckUtils]: 2: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,092 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14325#true} {14325#true} #103#return; {14325#true} is VALID [2022-04-08 12:27:28,092 INFO L272 TraceCheckUtils]: 4: Hoare triple {14325#true} call #t~ret6 := main(); {14325#true} is VALID [2022-04-08 12:27:28,092 INFO L290 TraceCheckUtils]: 5: Hoare triple {14325#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {14325#true} is VALID [2022-04-08 12:27:28,092 INFO L272 TraceCheckUtils]: 6: Hoare triple {14325#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,092 INFO L290 TraceCheckUtils]: 7: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,092 INFO L290 TraceCheckUtils]: 8: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,092 INFO L290 TraceCheckUtils]: 9: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,092 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14325#true} {14325#true} #79#return; {14325#true} is VALID [2022-04-08 12:27:28,092 INFO L290 TraceCheckUtils]: 11: Hoare triple {14325#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14325#true} is VALID [2022-04-08 12:27:28,092 INFO L272 TraceCheckUtils]: 12: Hoare triple {14325#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,092 INFO L290 TraceCheckUtils]: 13: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,093 INFO L290 TraceCheckUtils]: 14: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,093 INFO L290 TraceCheckUtils]: 15: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,093 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14325#true} {14325#true} #81#return; {14325#true} is VALID [2022-04-08 12:27:28,093 INFO L272 TraceCheckUtils]: 17: Hoare triple {14325#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,093 INFO L290 TraceCheckUtils]: 18: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,093 INFO L290 TraceCheckUtils]: 19: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,093 INFO L290 TraceCheckUtils]: 20: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,093 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14325#true} {14325#true} #83#return; {14325#true} is VALID [2022-04-08 12:27:28,093 INFO L272 TraceCheckUtils]: 22: Hoare triple {14325#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,093 INFO L290 TraceCheckUtils]: 23: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,093 INFO L290 TraceCheckUtils]: 24: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,093 INFO L290 TraceCheckUtils]: 25: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,093 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14325#true} {14325#true} #85#return; {14325#true} is VALID [2022-04-08 12:27:28,093 INFO L290 TraceCheckUtils]: 27: Hoare triple {14325#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {14325#true} is VALID [2022-04-08 12:27:28,093 INFO L272 TraceCheckUtils]: 28: Hoare triple {14325#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,093 INFO L290 TraceCheckUtils]: 29: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,093 INFO L290 TraceCheckUtils]: 30: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,093 INFO L290 TraceCheckUtils]: 31: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,094 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14325#true} {14325#true} #87#return; {14325#true} is VALID [2022-04-08 12:27:28,094 INFO L272 TraceCheckUtils]: 33: Hoare triple {14325#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,094 INFO L290 TraceCheckUtils]: 34: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,094 INFO L290 TraceCheckUtils]: 35: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,094 INFO L290 TraceCheckUtils]: 36: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,094 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {14325#true} {14325#true} #89#return; {14325#true} is VALID [2022-04-08 12:27:28,094 INFO L290 TraceCheckUtils]: 38: Hoare triple {14325#true} assume !false; {14325#true} is VALID [2022-04-08 12:27:28,094 INFO L290 TraceCheckUtils]: 39: Hoare triple {14325#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14325#true} is VALID [2022-04-08 12:27:28,094 INFO L290 TraceCheckUtils]: 40: Hoare triple {14325#true} assume !false; {14325#true} is VALID [2022-04-08 12:27:28,094 INFO L272 TraceCheckUtils]: 41: Hoare triple {14325#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,094 INFO L290 TraceCheckUtils]: 42: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,094 INFO L290 TraceCheckUtils]: 43: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,094 INFO L290 TraceCheckUtils]: 44: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,094 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14325#true} {14325#true} #91#return; {14325#true} is VALID [2022-04-08 12:27:28,094 INFO L272 TraceCheckUtils]: 46: Hoare triple {14325#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,094 INFO L290 TraceCheckUtils]: 47: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,094 INFO L290 TraceCheckUtils]: 48: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,095 INFO L290 TraceCheckUtils]: 49: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,095 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14325#true} {14325#true} #93#return; {14325#true} is VALID [2022-04-08 12:27:28,095 INFO L272 TraceCheckUtils]: 51: Hoare triple {14325#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,095 INFO L290 TraceCheckUtils]: 52: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,095 INFO L290 TraceCheckUtils]: 53: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,095 INFO L290 TraceCheckUtils]: 54: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,095 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14325#true} {14325#true} #95#return; {14325#true} is VALID [2022-04-08 12:27:28,095 INFO L272 TraceCheckUtils]: 56: Hoare triple {14325#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,095 INFO L290 TraceCheckUtils]: 57: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,095 INFO L290 TraceCheckUtils]: 58: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,095 INFO L290 TraceCheckUtils]: 59: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,095 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {14325#true} {14325#true} #97#return; {14325#true} is VALID [2022-04-08 12:27:28,108 INFO L290 TraceCheckUtils]: 61: Hoare triple {14325#true} assume !(~c~0 >= ~b~0); {14513#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 12:27:28,109 INFO L290 TraceCheckUtils]: 62: Hoare triple {14513#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {14517#(< main_~b~0 main_~a~0)} is VALID [2022-04-08 12:27:28,109 INFO L290 TraceCheckUtils]: 63: Hoare triple {14517#(< main_~b~0 main_~a~0)} assume !false; {14517#(< main_~b~0 main_~a~0)} is VALID [2022-04-08 12:27:28,109 INFO L290 TraceCheckUtils]: 64: Hoare triple {14517#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14524#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 12:27:28,110 INFO L290 TraceCheckUtils]: 65: Hoare triple {14524#(< main_~b~0 main_~c~0)} assume !false; {14524#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 12:27:28,110 INFO L272 TraceCheckUtils]: 66: Hoare triple {14524#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,110 INFO L290 TraceCheckUtils]: 67: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,110 INFO L290 TraceCheckUtils]: 68: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,110 INFO L290 TraceCheckUtils]: 69: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,110 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {14325#true} {14524#(< main_~b~0 main_~c~0)} #91#return; {14524#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 12:27:28,110 INFO L272 TraceCheckUtils]: 71: Hoare triple {14524#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,110 INFO L290 TraceCheckUtils]: 72: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,110 INFO L290 TraceCheckUtils]: 73: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,110 INFO L290 TraceCheckUtils]: 74: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,111 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {14325#true} {14524#(< main_~b~0 main_~c~0)} #93#return; {14524#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 12:27:28,111 INFO L272 TraceCheckUtils]: 76: Hoare triple {14524#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,111 INFO L290 TraceCheckUtils]: 77: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,111 INFO L290 TraceCheckUtils]: 78: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,111 INFO L290 TraceCheckUtils]: 79: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,111 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {14325#true} {14524#(< main_~b~0 main_~c~0)} #95#return; {14524#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 12:27:28,111 INFO L272 TraceCheckUtils]: 81: Hoare triple {14524#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,111 INFO L290 TraceCheckUtils]: 82: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,112 INFO L290 TraceCheckUtils]: 83: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,112 INFO L290 TraceCheckUtils]: 84: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,112 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {14325#true} {14524#(< main_~b~0 main_~c~0)} #97#return; {14524#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 12:27:28,113 INFO L290 TraceCheckUtils]: 86: Hoare triple {14524#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14591#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:28,113 INFO L290 TraceCheckUtils]: 87: Hoare triple {14591#(< 0 main_~c~0)} assume !false; {14591#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:28,113 INFO L272 TraceCheckUtils]: 88: Hoare triple {14591#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,113 INFO L290 TraceCheckUtils]: 89: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,113 INFO L290 TraceCheckUtils]: 90: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,113 INFO L290 TraceCheckUtils]: 91: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,114 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {14325#true} {14591#(< 0 main_~c~0)} #91#return; {14591#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:28,114 INFO L272 TraceCheckUtils]: 93: Hoare triple {14591#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,114 INFO L290 TraceCheckUtils]: 94: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,114 INFO L290 TraceCheckUtils]: 95: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,114 INFO L290 TraceCheckUtils]: 96: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,114 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {14325#true} {14591#(< 0 main_~c~0)} #93#return; {14591#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:28,114 INFO L272 TraceCheckUtils]: 98: Hoare triple {14591#(< 0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,114 INFO L290 TraceCheckUtils]: 99: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,114 INFO L290 TraceCheckUtils]: 100: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,114 INFO L290 TraceCheckUtils]: 101: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,115 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {14325#true} {14591#(< 0 main_~c~0)} #95#return; {14591#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:28,115 INFO L272 TraceCheckUtils]: 103: Hoare triple {14591#(< 0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,115 INFO L290 TraceCheckUtils]: 104: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,115 INFO L290 TraceCheckUtils]: 105: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,115 INFO L290 TraceCheckUtils]: 106: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,115 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {14325#true} {14591#(< 0 main_~c~0)} #97#return; {14591#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:28,116 INFO L290 TraceCheckUtils]: 108: Hoare triple {14591#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {14591#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:28,116 INFO L290 TraceCheckUtils]: 109: Hoare triple {14591#(< 0 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {14661#(< 0 main_~b~0)} is VALID [2022-04-08 12:27:28,116 INFO L290 TraceCheckUtils]: 110: Hoare triple {14661#(< 0 main_~b~0)} assume !false; {14661#(< 0 main_~b~0)} is VALID [2022-04-08 12:27:28,116 INFO L290 TraceCheckUtils]: 111: Hoare triple {14661#(< 0 main_~b~0)} assume !(0 != ~b~0); {14326#false} is VALID [2022-04-08 12:27:28,116 INFO L272 TraceCheckUtils]: 112: Hoare triple {14326#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {14326#false} is VALID [2022-04-08 12:27:28,116 INFO L290 TraceCheckUtils]: 113: Hoare triple {14326#false} ~cond := #in~cond; {14326#false} is VALID [2022-04-08 12:27:28,117 INFO L290 TraceCheckUtils]: 114: Hoare triple {14326#false} assume 0 == ~cond; {14326#false} is VALID [2022-04-08 12:27:28,117 INFO L290 TraceCheckUtils]: 115: Hoare triple {14326#false} assume !false; {14326#false} is VALID [2022-04-08 12:27:28,117 INFO L134 CoverageAnalysis]: Checked inductivity of 373 backedges. 40 proven. 9 refuted. 0 times theorem prover too weak. 324 trivial. 0 not checked. [2022-04-08 12:27:28,117 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:27:28,319 INFO L290 TraceCheckUtils]: 115: Hoare triple {14326#false} assume !false; {14326#false} is VALID [2022-04-08 12:27:28,320 INFO L290 TraceCheckUtils]: 114: Hoare triple {14326#false} assume 0 == ~cond; {14326#false} is VALID [2022-04-08 12:27:28,320 INFO L290 TraceCheckUtils]: 113: Hoare triple {14326#false} ~cond := #in~cond; {14326#false} is VALID [2022-04-08 12:27:28,320 INFO L272 TraceCheckUtils]: 112: Hoare triple {14326#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {14326#false} is VALID [2022-04-08 12:27:28,320 INFO L290 TraceCheckUtils]: 111: Hoare triple {14661#(< 0 main_~b~0)} assume !(0 != ~b~0); {14326#false} is VALID [2022-04-08 12:27:28,320 INFO L290 TraceCheckUtils]: 110: Hoare triple {14661#(< 0 main_~b~0)} assume !false; {14661#(< 0 main_~b~0)} is VALID [2022-04-08 12:27:28,320 INFO L290 TraceCheckUtils]: 109: Hoare triple {14591#(< 0 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {14661#(< 0 main_~b~0)} is VALID [2022-04-08 12:27:28,321 INFO L290 TraceCheckUtils]: 108: Hoare triple {14591#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {14591#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:28,329 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {14325#true} {14591#(< 0 main_~c~0)} #97#return; {14591#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:28,329 INFO L290 TraceCheckUtils]: 106: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,330 INFO L290 TraceCheckUtils]: 105: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,330 INFO L290 TraceCheckUtils]: 104: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,330 INFO L272 TraceCheckUtils]: 103: Hoare triple {14591#(< 0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,331 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {14325#true} {14591#(< 0 main_~c~0)} #95#return; {14591#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:28,331 INFO L290 TraceCheckUtils]: 101: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,332 INFO L290 TraceCheckUtils]: 100: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,332 INFO L290 TraceCheckUtils]: 99: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,332 INFO L272 TraceCheckUtils]: 98: Hoare triple {14591#(< 0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,332 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {14325#true} {14591#(< 0 main_~c~0)} #93#return; {14591#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:28,332 INFO L290 TraceCheckUtils]: 96: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,332 INFO L290 TraceCheckUtils]: 95: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,332 INFO L290 TraceCheckUtils]: 94: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,333 INFO L272 TraceCheckUtils]: 93: Hoare triple {14591#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,333 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {14325#true} {14591#(< 0 main_~c~0)} #91#return; {14591#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:28,333 INFO L290 TraceCheckUtils]: 91: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,333 INFO L290 TraceCheckUtils]: 90: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,333 INFO L290 TraceCheckUtils]: 89: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,333 INFO L272 TraceCheckUtils]: 88: Hoare triple {14591#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,334 INFO L290 TraceCheckUtils]: 87: Hoare triple {14591#(< 0 main_~c~0)} assume !false; {14591#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:28,335 INFO L290 TraceCheckUtils]: 86: Hoare triple {14524#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14591#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:28,335 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {14325#true} {14524#(< main_~b~0 main_~c~0)} #97#return; {14524#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 12:27:28,336 INFO L290 TraceCheckUtils]: 84: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,336 INFO L290 TraceCheckUtils]: 83: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,336 INFO L290 TraceCheckUtils]: 82: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,336 INFO L272 TraceCheckUtils]: 81: Hoare triple {14524#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,336 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {14325#true} {14524#(< main_~b~0 main_~c~0)} #95#return; {14524#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 12:27:28,336 INFO L290 TraceCheckUtils]: 79: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,336 INFO L290 TraceCheckUtils]: 78: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,336 INFO L290 TraceCheckUtils]: 77: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,337 INFO L272 TraceCheckUtils]: 76: Hoare triple {14524#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,337 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {14325#true} {14524#(< main_~b~0 main_~c~0)} #93#return; {14524#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 12:27:28,337 INFO L290 TraceCheckUtils]: 74: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,337 INFO L290 TraceCheckUtils]: 73: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,337 INFO L290 TraceCheckUtils]: 72: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,337 INFO L272 TraceCheckUtils]: 71: Hoare triple {14524#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,338 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {14325#true} {14524#(< main_~b~0 main_~c~0)} #91#return; {14524#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 12:27:28,338 INFO L290 TraceCheckUtils]: 69: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,338 INFO L290 TraceCheckUtils]: 68: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,338 INFO L290 TraceCheckUtils]: 67: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,338 INFO L272 TraceCheckUtils]: 66: Hoare triple {14524#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,338 INFO L290 TraceCheckUtils]: 65: Hoare triple {14524#(< main_~b~0 main_~c~0)} assume !false; {14524#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 12:27:28,339 INFO L290 TraceCheckUtils]: 64: Hoare triple {14517#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14524#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 12:27:28,339 INFO L290 TraceCheckUtils]: 63: Hoare triple {14517#(< main_~b~0 main_~a~0)} assume !false; {14517#(< main_~b~0 main_~a~0)} is VALID [2022-04-08 12:27:28,340 INFO L290 TraceCheckUtils]: 62: Hoare triple {14513#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {14517#(< main_~b~0 main_~a~0)} is VALID [2022-04-08 12:27:28,340 INFO L290 TraceCheckUtils]: 61: Hoare triple {14325#true} assume !(~c~0 >= ~b~0); {14513#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 12:27:28,340 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {14325#true} {14325#true} #97#return; {14325#true} is VALID [2022-04-08 12:27:28,340 INFO L290 TraceCheckUtils]: 59: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,340 INFO L290 TraceCheckUtils]: 58: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,340 INFO L290 TraceCheckUtils]: 57: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,340 INFO L272 TraceCheckUtils]: 56: Hoare triple {14325#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,340 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14325#true} {14325#true} #95#return; {14325#true} is VALID [2022-04-08 12:27:28,340 INFO L290 TraceCheckUtils]: 54: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,340 INFO L290 TraceCheckUtils]: 53: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,340 INFO L290 TraceCheckUtils]: 52: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,340 INFO L272 TraceCheckUtils]: 51: Hoare triple {14325#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,341 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14325#true} {14325#true} #93#return; {14325#true} is VALID [2022-04-08 12:27:28,341 INFO L290 TraceCheckUtils]: 49: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,341 INFO L290 TraceCheckUtils]: 48: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,341 INFO L290 TraceCheckUtils]: 47: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,341 INFO L272 TraceCheckUtils]: 46: Hoare triple {14325#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,341 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14325#true} {14325#true} #91#return; {14325#true} is VALID [2022-04-08 12:27:28,341 INFO L290 TraceCheckUtils]: 44: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,341 INFO L290 TraceCheckUtils]: 43: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,341 INFO L290 TraceCheckUtils]: 42: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,341 INFO L272 TraceCheckUtils]: 41: Hoare triple {14325#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,341 INFO L290 TraceCheckUtils]: 40: Hoare triple {14325#true} assume !false; {14325#true} is VALID [2022-04-08 12:27:28,341 INFO L290 TraceCheckUtils]: 39: Hoare triple {14325#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14325#true} is VALID [2022-04-08 12:27:28,341 INFO L290 TraceCheckUtils]: 38: Hoare triple {14325#true} assume !false; {14325#true} is VALID [2022-04-08 12:27:28,341 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {14325#true} {14325#true} #89#return; {14325#true} is VALID [2022-04-08 12:27:28,341 INFO L290 TraceCheckUtils]: 36: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,341 INFO L290 TraceCheckUtils]: 35: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,341 INFO L290 TraceCheckUtils]: 34: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,341 INFO L272 TraceCheckUtils]: 33: Hoare triple {14325#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,341 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14325#true} {14325#true} #87#return; {14325#true} is VALID [2022-04-08 12:27:28,342 INFO L290 TraceCheckUtils]: 31: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,342 INFO L290 TraceCheckUtils]: 30: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,342 INFO L290 TraceCheckUtils]: 29: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,342 INFO L272 TraceCheckUtils]: 28: Hoare triple {14325#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,342 INFO L290 TraceCheckUtils]: 27: Hoare triple {14325#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {14325#true} is VALID [2022-04-08 12:27:28,342 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14325#true} {14325#true} #85#return; {14325#true} is VALID [2022-04-08 12:27:28,342 INFO L290 TraceCheckUtils]: 25: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,342 INFO L290 TraceCheckUtils]: 24: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,342 INFO L290 TraceCheckUtils]: 23: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,342 INFO L272 TraceCheckUtils]: 22: Hoare triple {14325#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,342 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14325#true} {14325#true} #83#return; {14325#true} is VALID [2022-04-08 12:27:28,342 INFO L290 TraceCheckUtils]: 20: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,342 INFO L290 TraceCheckUtils]: 19: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,342 INFO L290 TraceCheckUtils]: 18: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,342 INFO L272 TraceCheckUtils]: 17: Hoare triple {14325#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,342 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14325#true} {14325#true} #81#return; {14325#true} is VALID [2022-04-08 12:27:28,342 INFO L290 TraceCheckUtils]: 15: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,342 INFO L290 TraceCheckUtils]: 14: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,342 INFO L290 TraceCheckUtils]: 13: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,343 INFO L272 TraceCheckUtils]: 12: Hoare triple {14325#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,343 INFO L290 TraceCheckUtils]: 11: Hoare triple {14325#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14325#true} is VALID [2022-04-08 12:27:28,343 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14325#true} {14325#true} #79#return; {14325#true} is VALID [2022-04-08 12:27:28,343 INFO L290 TraceCheckUtils]: 9: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,343 INFO L290 TraceCheckUtils]: 8: Hoare triple {14325#true} assume !(0 == ~cond); {14325#true} is VALID [2022-04-08 12:27:28,343 INFO L290 TraceCheckUtils]: 7: Hoare triple {14325#true} ~cond := #in~cond; {14325#true} is VALID [2022-04-08 12:27:28,343 INFO L272 TraceCheckUtils]: 6: Hoare triple {14325#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {14325#true} is VALID [2022-04-08 12:27:28,343 INFO L290 TraceCheckUtils]: 5: Hoare triple {14325#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {14325#true} is VALID [2022-04-08 12:27:28,343 INFO L272 TraceCheckUtils]: 4: Hoare triple {14325#true} call #t~ret6 := main(); {14325#true} is VALID [2022-04-08 12:27:28,343 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14325#true} {14325#true} #103#return; {14325#true} is VALID [2022-04-08 12:27:28,343 INFO L290 TraceCheckUtils]: 2: Hoare triple {14325#true} assume true; {14325#true} is VALID [2022-04-08 12:27:28,343 INFO L290 TraceCheckUtils]: 1: Hoare triple {14325#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {14325#true} is VALID [2022-04-08 12:27:28,343 INFO L272 TraceCheckUtils]: 0: Hoare triple {14325#true} call ULTIMATE.init(); {14325#true} is VALID [2022-04-08 12:27:28,343 INFO L134 CoverageAnalysis]: Checked inductivity of 373 backedges. 40 proven. 9 refuted. 0 times theorem prover too weak. 324 trivial. 0 not checked. [2022-04-08 12:27:28,344 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:27:28,344 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1447364725] [2022-04-08 12:27:28,344 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:27:28,344 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2141408214] [2022-04-08 12:27:28,344 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2141408214] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:27:28,344 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:27:28,344 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 7 [2022-04-08 12:27:28,344 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:27:28,344 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1989914082] [2022-04-08 12:27:28,344 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1989914082] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:27:28,344 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:27:28,344 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 12:27:28,344 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1335144594] [2022-04-08 12:27:28,344 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:27:28,345 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) Word has length 116 [2022-04-08 12:27:28,345 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:27:28,345 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) [2022-04-08 12:27:28,400 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 12:27:28,401 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 12:27:28,401 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:27:28,401 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 12:27:28,401 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-04-08 12:27:28,401 INFO L87 Difference]: Start difference. First operand 157 states and 209 transitions. Second operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) [2022-04-08 12:27:29,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:27:29,470 INFO L93 Difference]: Finished difference Result 211 states and 298 transitions. [2022-04-08 12:27:29,470 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 12:27:29,470 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) Word has length 116 [2022-04-08 12:27:29,471 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:27:29,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) [2022-04-08 12:27:29,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 126 transitions. [2022-04-08 12:27:29,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) [2022-04-08 12:27:29,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 126 transitions. [2022-04-08 12:27:29,474 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 126 transitions. [2022-04-08 12:27:29,578 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:27:29,581 INFO L225 Difference]: With dead ends: 211 [2022-04-08 12:27:29,581 INFO L226 Difference]: Without dead ends: 203 [2022-04-08 12:27:29,581 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 242 GetRequests, 227 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=62, Invalid=148, Unknown=0, NotChecked=0, Total=210 [2022-04-08 12:27:29,582 INFO L913 BasicCegarLoop]: 85 mSDtfsCounter, 14 mSDsluCounter, 195 mSDsCounter, 0 mSdLazyCounter, 205 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 280 SdHoareTripleChecker+Invalid, 245 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 205 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 12:27:29,582 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 280 Invalid, 245 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 205 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 12:27:29,582 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 203 states. [2022-04-08 12:27:29,951 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 203 to 184. [2022-04-08 12:27:29,951 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:27:29,952 INFO L82 GeneralOperation]: Start isEquivalent. First operand 203 states. Second operand has 184 states, 94 states have (on average 1.1595744680851063) internal successors, (109), 96 states have internal predecessors, (109), 75 states have call successors, (75), 15 states have call predecessors, (75), 14 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-08 12:27:29,952 INFO L74 IsIncluded]: Start isIncluded. First operand 203 states. Second operand has 184 states, 94 states have (on average 1.1595744680851063) internal successors, (109), 96 states have internal predecessors, (109), 75 states have call successors, (75), 15 states have call predecessors, (75), 14 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-08 12:27:29,952 INFO L87 Difference]: Start difference. First operand 203 states. Second operand has 184 states, 94 states have (on average 1.1595744680851063) internal successors, (109), 96 states have internal predecessors, (109), 75 states have call successors, (75), 15 states have call predecessors, (75), 14 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-08 12:27:29,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:27:29,957 INFO L93 Difference]: Finished difference Result 203 states and 289 transitions. [2022-04-08 12:27:29,957 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 289 transitions. [2022-04-08 12:27:29,957 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:27:29,957 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:27:29,958 INFO L74 IsIncluded]: Start isIncluded. First operand has 184 states, 94 states have (on average 1.1595744680851063) internal successors, (109), 96 states have internal predecessors, (109), 75 states have call successors, (75), 15 states have call predecessors, (75), 14 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) Second operand 203 states. [2022-04-08 12:27:29,958 INFO L87 Difference]: Start difference. First operand has 184 states, 94 states have (on average 1.1595744680851063) internal successors, (109), 96 states have internal predecessors, (109), 75 states have call successors, (75), 15 states have call predecessors, (75), 14 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) Second operand 203 states. [2022-04-08 12:27:29,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:27:29,962 INFO L93 Difference]: Finished difference Result 203 states and 289 transitions. [2022-04-08 12:27:29,962 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 289 transitions. [2022-04-08 12:27:29,963 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:27:29,963 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:27:29,963 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:27:29,963 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:27:29,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 184 states, 94 states have (on average 1.1595744680851063) internal successors, (109), 96 states have internal predecessors, (109), 75 states have call successors, (75), 15 states have call predecessors, (75), 14 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-08 12:27:29,966 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 184 states to 184 states and 256 transitions. [2022-04-08 12:27:29,967 INFO L78 Accepts]: Start accepts. Automaton has 184 states and 256 transitions. Word has length 116 [2022-04-08 12:27:29,967 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:27:29,967 INFO L478 AbstractCegarLoop]: Abstraction has 184 states and 256 transitions. [2022-04-08 12:27:29,967 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) [2022-04-08 12:27:29,967 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 184 states and 256 transitions. [2022-04-08 12:27:30,456 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 256 edges. 256 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:27:30,457 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 256 transitions. [2022-04-08 12:27:30,457 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 123 [2022-04-08 12:27:30,457 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:27:30,457 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 6, 6, 6, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:27:30,476 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 12:27:30,674 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-08 12:27:30,674 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:27:30,674 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:27:30,674 INFO L85 PathProgramCache]: Analyzing trace with hash -743412771, now seen corresponding path program 3 times [2022-04-08 12:27:30,674 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:27:30,674 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [568736210] [2022-04-08 12:27:30,675 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:27:30,675 INFO L85 PathProgramCache]: Analyzing trace with hash -743412771, now seen corresponding path program 4 times [2022-04-08 12:27:30,675 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:27:30,675 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1929118405] [2022-04-08 12:27:30,675 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:27:30,675 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:27:30,684 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:27:30,685 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [617161724] [2022-04-08 12:27:30,685 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:27:30,685 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:27:30,685 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:27:30,691 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 12:27:30,700 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 12:27:30,748 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:27:30,748 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:27:30,749 INFO L263 TraceCheckSpWp]: Trace formula consists of 257 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 12:27:30,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:27:30,763 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:27:31,005 INFO L272 TraceCheckUtils]: 0: Hoare triple {16242#true} call ULTIMATE.init(); {16242#true} is VALID [2022-04-08 12:27:31,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {16242#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {16242#true} is VALID [2022-04-08 12:27:31,006 INFO L290 TraceCheckUtils]: 2: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:31,006 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16242#true} {16242#true} #103#return; {16242#true} is VALID [2022-04-08 12:27:31,006 INFO L272 TraceCheckUtils]: 4: Hoare triple {16242#true} call #t~ret6 := main(); {16242#true} is VALID [2022-04-08 12:27:31,006 INFO L290 TraceCheckUtils]: 5: Hoare triple {16242#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {16242#true} is VALID [2022-04-08 12:27:31,006 INFO L272 TraceCheckUtils]: 6: Hoare triple {16242#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:31,006 INFO L290 TraceCheckUtils]: 7: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:31,006 INFO L290 TraceCheckUtils]: 8: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:31,006 INFO L290 TraceCheckUtils]: 9: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:31,006 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16242#true} {16242#true} #79#return; {16242#true} is VALID [2022-04-08 12:27:31,006 INFO L290 TraceCheckUtils]: 11: Hoare triple {16242#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16242#true} is VALID [2022-04-08 12:27:31,006 INFO L272 TraceCheckUtils]: 12: Hoare triple {16242#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:31,006 INFO L290 TraceCheckUtils]: 13: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:31,006 INFO L290 TraceCheckUtils]: 14: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:31,006 INFO L290 TraceCheckUtils]: 15: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:31,006 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16242#true} {16242#true} #81#return; {16242#true} is VALID [2022-04-08 12:27:31,006 INFO L272 TraceCheckUtils]: 17: Hoare triple {16242#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:31,006 INFO L290 TraceCheckUtils]: 18: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:31,006 INFO L290 TraceCheckUtils]: 19: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:31,006 INFO L290 TraceCheckUtils]: 20: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:31,007 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16242#true} {16242#true} #83#return; {16242#true} is VALID [2022-04-08 12:27:31,007 INFO L272 TraceCheckUtils]: 22: Hoare triple {16242#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:31,007 INFO L290 TraceCheckUtils]: 23: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:31,007 INFO L290 TraceCheckUtils]: 24: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:31,007 INFO L290 TraceCheckUtils]: 25: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:31,007 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16242#true} {16242#true} #85#return; {16242#true} is VALID [2022-04-08 12:27:31,007 INFO L290 TraceCheckUtils]: 27: Hoare triple {16242#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {16242#true} is VALID [2022-04-08 12:27:31,007 INFO L272 TraceCheckUtils]: 28: Hoare triple {16242#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:31,007 INFO L290 TraceCheckUtils]: 29: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:31,007 INFO L290 TraceCheckUtils]: 30: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:31,007 INFO L290 TraceCheckUtils]: 31: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:31,007 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16242#true} {16242#true} #87#return; {16242#true} is VALID [2022-04-08 12:27:31,007 INFO L272 TraceCheckUtils]: 33: Hoare triple {16242#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:31,007 INFO L290 TraceCheckUtils]: 34: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:31,007 INFO L290 TraceCheckUtils]: 35: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:31,007 INFO L290 TraceCheckUtils]: 36: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:31,007 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {16242#true} {16242#true} #89#return; {16242#true} is VALID [2022-04-08 12:27:31,007 INFO L290 TraceCheckUtils]: 38: Hoare triple {16242#true} assume !false; {16242#true} is VALID [2022-04-08 12:27:31,008 INFO L290 TraceCheckUtils]: 39: Hoare triple {16242#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16242#true} is VALID [2022-04-08 12:27:31,008 INFO L290 TraceCheckUtils]: 40: Hoare triple {16242#true} assume !false; {16242#true} is VALID [2022-04-08 12:27:31,008 INFO L272 TraceCheckUtils]: 41: Hoare triple {16242#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:31,008 INFO L290 TraceCheckUtils]: 42: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:31,008 INFO L290 TraceCheckUtils]: 43: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:31,008 INFO L290 TraceCheckUtils]: 44: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:31,008 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16242#true} {16242#true} #91#return; {16242#true} is VALID [2022-04-08 12:27:31,008 INFO L272 TraceCheckUtils]: 46: Hoare triple {16242#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:31,008 INFO L290 TraceCheckUtils]: 47: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:31,008 INFO L290 TraceCheckUtils]: 48: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:31,008 INFO L290 TraceCheckUtils]: 49: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:31,008 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16242#true} {16242#true} #93#return; {16242#true} is VALID [2022-04-08 12:27:31,008 INFO L272 TraceCheckUtils]: 51: Hoare triple {16242#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:31,008 INFO L290 TraceCheckUtils]: 52: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:31,008 INFO L290 TraceCheckUtils]: 53: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:31,008 INFO L290 TraceCheckUtils]: 54: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:31,008 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {16242#true} {16242#true} #95#return; {16242#true} is VALID [2022-04-08 12:27:31,008 INFO L272 TraceCheckUtils]: 56: Hoare triple {16242#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:31,008 INFO L290 TraceCheckUtils]: 57: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:31,009 INFO L290 TraceCheckUtils]: 58: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:31,009 INFO L290 TraceCheckUtils]: 59: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:31,009 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {16242#true} {16242#true} #97#return; {16242#true} is VALID [2022-04-08 12:27:31,009 INFO L290 TraceCheckUtils]: 61: Hoare triple {16242#true} assume !(~c~0 >= ~b~0); {16242#true} is VALID [2022-04-08 12:27:31,009 INFO L290 TraceCheckUtils]: 62: Hoare triple {16242#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {16242#true} is VALID [2022-04-08 12:27:31,009 INFO L290 TraceCheckUtils]: 63: Hoare triple {16242#true} assume !false; {16242#true} is VALID [2022-04-08 12:27:31,009 INFO L290 TraceCheckUtils]: 64: Hoare triple {16242#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16242#true} is VALID [2022-04-08 12:27:31,009 INFO L290 TraceCheckUtils]: 65: Hoare triple {16242#true} assume !false; {16242#true} is VALID [2022-04-08 12:27:31,009 INFO L272 TraceCheckUtils]: 66: Hoare triple {16242#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:31,009 INFO L290 TraceCheckUtils]: 67: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:31,009 INFO L290 TraceCheckUtils]: 68: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:31,009 INFO L290 TraceCheckUtils]: 69: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:31,009 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {16242#true} {16242#true} #91#return; {16242#true} is VALID [2022-04-08 12:27:31,009 INFO L272 TraceCheckUtils]: 71: Hoare triple {16242#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:31,009 INFO L290 TraceCheckUtils]: 72: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:31,009 INFO L290 TraceCheckUtils]: 73: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:31,009 INFO L290 TraceCheckUtils]: 74: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:31,009 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {16242#true} {16242#true} #93#return; {16242#true} is VALID [2022-04-08 12:27:31,010 INFO L272 TraceCheckUtils]: 76: Hoare triple {16242#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:31,010 INFO L290 TraceCheckUtils]: 77: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:31,010 INFO L290 TraceCheckUtils]: 78: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:31,010 INFO L290 TraceCheckUtils]: 79: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:31,010 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {16242#true} {16242#true} #95#return; {16242#true} is VALID [2022-04-08 12:27:31,010 INFO L272 TraceCheckUtils]: 81: Hoare triple {16242#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:31,010 INFO L290 TraceCheckUtils]: 82: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:31,010 INFO L290 TraceCheckUtils]: 83: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:31,010 INFO L290 TraceCheckUtils]: 84: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:31,010 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {16242#true} {16242#true} #97#return; {16242#true} is VALID [2022-04-08 12:27:31,010 INFO L290 TraceCheckUtils]: 86: Hoare triple {16242#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {16242#true} is VALID [2022-04-08 12:27:31,010 INFO L290 TraceCheckUtils]: 87: Hoare triple {16242#true} assume !false; {16242#true} is VALID [2022-04-08 12:27:31,010 INFO L272 TraceCheckUtils]: 88: Hoare triple {16242#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:31,010 INFO L290 TraceCheckUtils]: 89: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:31,010 INFO L290 TraceCheckUtils]: 90: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:31,010 INFO L290 TraceCheckUtils]: 91: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:31,010 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {16242#true} {16242#true} #91#return; {16242#true} is VALID [2022-04-08 12:27:31,010 INFO L272 TraceCheckUtils]: 93: Hoare triple {16242#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:31,010 INFO L290 TraceCheckUtils]: 94: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:31,011 INFO L290 TraceCheckUtils]: 95: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:31,011 INFO L290 TraceCheckUtils]: 96: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:31,011 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {16242#true} {16242#true} #93#return; {16242#true} is VALID [2022-04-08 12:27:31,011 INFO L272 TraceCheckUtils]: 98: Hoare triple {16242#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:31,011 INFO L290 TraceCheckUtils]: 99: Hoare triple {16242#true} ~cond := #in~cond; {16544#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:27:31,011 INFO L290 TraceCheckUtils]: 100: Hoare triple {16544#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16548#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:27:31,012 INFO L290 TraceCheckUtils]: 101: Hoare triple {16548#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16548#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:27:31,012 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {16548#(not (= |__VERIFIER_assert_#in~cond| 0))} {16242#true} #95#return; {16555#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:27:31,012 INFO L272 TraceCheckUtils]: 103: Hoare triple {16555#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:31,012 INFO L290 TraceCheckUtils]: 104: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:31,012 INFO L290 TraceCheckUtils]: 105: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:31,012 INFO L290 TraceCheckUtils]: 106: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:31,013 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {16242#true} {16555#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #97#return; {16555#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:27:31,013 INFO L290 TraceCheckUtils]: 108: Hoare triple {16555#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {16555#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:27:31,013 INFO L290 TraceCheckUtils]: 109: Hoare triple {16555#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:27:31,014 INFO L290 TraceCheckUtils]: 110: Hoare triple {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:27:31,014 INFO L290 TraceCheckUtils]: 111: Hoare triple {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:27:31,014 INFO L290 TraceCheckUtils]: 112: Hoare triple {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:27:31,014 INFO L272 TraceCheckUtils]: 113: Hoare triple {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:31,014 INFO L290 TraceCheckUtils]: 114: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:31,015 INFO L290 TraceCheckUtils]: 115: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:31,015 INFO L290 TraceCheckUtils]: 116: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:31,015 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {16242#true} {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #91#return; {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:27:31,016 INFO L272 TraceCheckUtils]: 118: Hoare triple {16577#(= 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)); {16605#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:27:31,016 INFO L290 TraceCheckUtils]: 119: Hoare triple {16605#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16609#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:27:31,016 INFO L290 TraceCheckUtils]: 120: Hoare triple {16609#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16243#false} is VALID [2022-04-08 12:27:31,016 INFO L290 TraceCheckUtils]: 121: Hoare triple {16243#false} assume !false; {16243#false} is VALID [2022-04-08 12:27:31,016 INFO L134 CoverageAnalysis]: Checked inductivity of 432 backedges. 73 proven. 7 refuted. 0 times theorem prover too weak. 352 trivial. 0 not checked. [2022-04-08 12:27:31,017 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:27:45,788 INFO L290 TraceCheckUtils]: 121: Hoare triple {16243#false} assume !false; {16243#false} is VALID [2022-04-08 12:27:45,789 INFO L290 TraceCheckUtils]: 120: Hoare triple {16609#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16243#false} is VALID [2022-04-08 12:27:45,789 INFO L290 TraceCheckUtils]: 119: Hoare triple {16605#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16609#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:27:45,790 INFO L272 TraceCheckUtils]: 118: Hoare triple {16577#(= 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)); {16605#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:27:45,790 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {16242#true} {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #91#return; {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:27:45,791 INFO L290 TraceCheckUtils]: 116: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:45,791 INFO L290 TraceCheckUtils]: 115: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:45,791 INFO L290 TraceCheckUtils]: 114: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:45,791 INFO L272 TraceCheckUtils]: 113: Hoare triple {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:45,791 INFO L290 TraceCheckUtils]: 112: Hoare triple {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:27:45,792 INFO L290 TraceCheckUtils]: 111: Hoare triple {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:27:45,792 INFO L290 TraceCheckUtils]: 110: Hoare triple {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:27:45,792 INFO L290 TraceCheckUtils]: 109: Hoare triple {16555#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {16577#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:27:45,793 INFO L290 TraceCheckUtils]: 108: Hoare triple {16555#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {16555#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:27:45,793 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {16242#true} {16555#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #97#return; {16555#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:27:45,793 INFO L290 TraceCheckUtils]: 106: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:45,793 INFO L290 TraceCheckUtils]: 105: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:45,793 INFO L290 TraceCheckUtils]: 104: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:45,793 INFO L272 TraceCheckUtils]: 103: Hoare triple {16555#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:45,794 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {16548#(not (= |__VERIFIER_assert_#in~cond| 0))} {16242#true} #95#return; {16555#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:27:45,794 INFO L290 TraceCheckUtils]: 101: Hoare triple {16548#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16548#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:27:45,795 INFO L290 TraceCheckUtils]: 100: Hoare triple {16682#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {16548#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:27:45,795 INFO L290 TraceCheckUtils]: 99: Hoare triple {16242#true} ~cond := #in~cond; {16682#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:27:45,795 INFO L272 TraceCheckUtils]: 98: Hoare triple {16242#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:45,795 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {16242#true} {16242#true} #93#return; {16242#true} is VALID [2022-04-08 12:27:45,795 INFO L290 TraceCheckUtils]: 96: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:45,795 INFO L290 TraceCheckUtils]: 95: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:45,795 INFO L290 TraceCheckUtils]: 94: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:45,795 INFO L272 TraceCheckUtils]: 93: Hoare triple {16242#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:45,795 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {16242#true} {16242#true} #91#return; {16242#true} is VALID [2022-04-08 12:27:45,795 INFO L290 TraceCheckUtils]: 91: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:45,795 INFO L290 TraceCheckUtils]: 90: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:45,795 INFO L290 TraceCheckUtils]: 89: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:45,795 INFO L272 TraceCheckUtils]: 88: Hoare triple {16242#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:45,796 INFO L290 TraceCheckUtils]: 87: Hoare triple {16242#true} assume !false; {16242#true} is VALID [2022-04-08 12:27:45,796 INFO L290 TraceCheckUtils]: 86: Hoare triple {16242#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {16242#true} is VALID [2022-04-08 12:27:45,796 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {16242#true} {16242#true} #97#return; {16242#true} is VALID [2022-04-08 12:27:45,796 INFO L290 TraceCheckUtils]: 84: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:45,796 INFO L290 TraceCheckUtils]: 83: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:45,796 INFO L290 TraceCheckUtils]: 82: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:45,796 INFO L272 TraceCheckUtils]: 81: Hoare triple {16242#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:45,796 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {16242#true} {16242#true} #95#return; {16242#true} is VALID [2022-04-08 12:27:45,796 INFO L290 TraceCheckUtils]: 79: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:45,796 INFO L290 TraceCheckUtils]: 78: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:45,796 INFO L290 TraceCheckUtils]: 77: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:45,796 INFO L272 TraceCheckUtils]: 76: Hoare triple {16242#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:45,796 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {16242#true} {16242#true} #93#return; {16242#true} is VALID [2022-04-08 12:27:45,796 INFO L290 TraceCheckUtils]: 74: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:45,796 INFO L290 TraceCheckUtils]: 73: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:45,796 INFO L290 TraceCheckUtils]: 72: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:45,796 INFO L272 TraceCheckUtils]: 71: Hoare triple {16242#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:45,796 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {16242#true} {16242#true} #91#return; {16242#true} is VALID [2022-04-08 12:27:45,807 INFO L290 TraceCheckUtils]: 69: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:45,807 INFO L290 TraceCheckUtils]: 68: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:45,807 INFO L290 TraceCheckUtils]: 67: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:45,807 INFO L272 TraceCheckUtils]: 66: Hoare triple {16242#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:45,807 INFO L290 TraceCheckUtils]: 65: Hoare triple {16242#true} assume !false; {16242#true} is VALID [2022-04-08 12:27:45,807 INFO L290 TraceCheckUtils]: 64: Hoare triple {16242#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16242#true} is VALID [2022-04-08 12:27:45,807 INFO L290 TraceCheckUtils]: 63: Hoare triple {16242#true} assume !false; {16242#true} is VALID [2022-04-08 12:27:45,807 INFO L290 TraceCheckUtils]: 62: Hoare triple {16242#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {16242#true} is VALID [2022-04-08 12:27:45,807 INFO L290 TraceCheckUtils]: 61: Hoare triple {16242#true} assume !(~c~0 >= ~b~0); {16242#true} is VALID [2022-04-08 12:27:45,807 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {16242#true} {16242#true} #97#return; {16242#true} is VALID [2022-04-08 12:27:45,807 INFO L290 TraceCheckUtils]: 59: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:45,808 INFO L290 TraceCheckUtils]: 58: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:45,808 INFO L290 TraceCheckUtils]: 57: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:45,808 INFO L272 TraceCheckUtils]: 56: Hoare triple {16242#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:45,808 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {16242#true} {16242#true} #95#return; {16242#true} is VALID [2022-04-08 12:27:45,808 INFO L290 TraceCheckUtils]: 54: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:45,808 INFO L290 TraceCheckUtils]: 53: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:45,808 INFO L290 TraceCheckUtils]: 52: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:45,808 INFO L272 TraceCheckUtils]: 51: Hoare triple {16242#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:45,808 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16242#true} {16242#true} #93#return; {16242#true} is VALID [2022-04-08 12:27:45,808 INFO L290 TraceCheckUtils]: 49: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:45,808 INFO L290 TraceCheckUtils]: 48: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:45,808 INFO L290 TraceCheckUtils]: 47: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:45,808 INFO L272 TraceCheckUtils]: 46: Hoare triple {16242#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:45,808 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16242#true} {16242#true} #91#return; {16242#true} is VALID [2022-04-08 12:27:45,808 INFO L290 TraceCheckUtils]: 44: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:45,808 INFO L290 TraceCheckUtils]: 43: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:45,808 INFO L290 TraceCheckUtils]: 42: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:45,809 INFO L272 TraceCheckUtils]: 41: Hoare triple {16242#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:45,809 INFO L290 TraceCheckUtils]: 40: Hoare triple {16242#true} assume !false; {16242#true} is VALID [2022-04-08 12:27:45,809 INFO L290 TraceCheckUtils]: 39: Hoare triple {16242#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16242#true} is VALID [2022-04-08 12:27:45,809 INFO L290 TraceCheckUtils]: 38: Hoare triple {16242#true} assume !false; {16242#true} is VALID [2022-04-08 12:27:45,809 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {16242#true} {16242#true} #89#return; {16242#true} is VALID [2022-04-08 12:27:45,809 INFO L290 TraceCheckUtils]: 36: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:45,809 INFO L290 TraceCheckUtils]: 35: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:45,809 INFO L290 TraceCheckUtils]: 34: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:45,809 INFO L272 TraceCheckUtils]: 33: Hoare triple {16242#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:45,809 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16242#true} {16242#true} #87#return; {16242#true} is VALID [2022-04-08 12:27:45,809 INFO L290 TraceCheckUtils]: 31: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:45,809 INFO L290 TraceCheckUtils]: 30: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:45,809 INFO L290 TraceCheckUtils]: 29: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:45,809 INFO L272 TraceCheckUtils]: 28: Hoare triple {16242#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:45,809 INFO L290 TraceCheckUtils]: 27: Hoare triple {16242#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {16242#true} is VALID [2022-04-08 12:27:45,809 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16242#true} {16242#true} #85#return; {16242#true} is VALID [2022-04-08 12:27:45,809 INFO L290 TraceCheckUtils]: 25: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:45,809 INFO L290 TraceCheckUtils]: 24: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:45,810 INFO L290 TraceCheckUtils]: 23: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:45,810 INFO L272 TraceCheckUtils]: 22: Hoare triple {16242#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:45,810 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16242#true} {16242#true} #83#return; {16242#true} is VALID [2022-04-08 12:27:45,810 INFO L290 TraceCheckUtils]: 20: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:45,810 INFO L290 TraceCheckUtils]: 19: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:45,810 INFO L290 TraceCheckUtils]: 18: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:45,810 INFO L272 TraceCheckUtils]: 17: Hoare triple {16242#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:45,810 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16242#true} {16242#true} #81#return; {16242#true} is VALID [2022-04-08 12:27:45,810 INFO L290 TraceCheckUtils]: 15: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:45,810 INFO L290 TraceCheckUtils]: 14: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:45,810 INFO L290 TraceCheckUtils]: 13: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:45,810 INFO L272 TraceCheckUtils]: 12: Hoare triple {16242#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:45,810 INFO L290 TraceCheckUtils]: 11: Hoare triple {16242#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16242#true} is VALID [2022-04-08 12:27:45,810 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16242#true} {16242#true} #79#return; {16242#true} is VALID [2022-04-08 12:27:45,810 INFO L290 TraceCheckUtils]: 9: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:45,810 INFO L290 TraceCheckUtils]: 8: Hoare triple {16242#true} assume !(0 == ~cond); {16242#true} is VALID [2022-04-08 12:27:45,810 INFO L290 TraceCheckUtils]: 7: Hoare triple {16242#true} ~cond := #in~cond; {16242#true} is VALID [2022-04-08 12:27:45,810 INFO L272 TraceCheckUtils]: 6: Hoare triple {16242#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {16242#true} is VALID [2022-04-08 12:27:45,810 INFO L290 TraceCheckUtils]: 5: Hoare triple {16242#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {16242#true} is VALID [2022-04-08 12:27:45,811 INFO L272 TraceCheckUtils]: 4: Hoare triple {16242#true} call #t~ret6 := main(); {16242#true} is VALID [2022-04-08 12:27:45,811 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16242#true} {16242#true} #103#return; {16242#true} is VALID [2022-04-08 12:27:45,811 INFO L290 TraceCheckUtils]: 2: Hoare triple {16242#true} assume true; {16242#true} is VALID [2022-04-08 12:27:45,811 INFO L290 TraceCheckUtils]: 1: Hoare triple {16242#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {16242#true} is VALID [2022-04-08 12:27:45,811 INFO L272 TraceCheckUtils]: 0: Hoare triple {16242#true} call ULTIMATE.init(); {16242#true} is VALID [2022-04-08 12:27:45,812 INFO L134 CoverageAnalysis]: Checked inductivity of 432 backedges. 73 proven. 7 refuted. 0 times theorem prover too weak. 352 trivial. 0 not checked. [2022-04-08 12:27:45,812 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:27:45,812 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1929118405] [2022-04-08 12:27:45,812 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:27:45,812 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [617161724] [2022-04-08 12:27:45,812 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [617161724] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:27:45,812 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:27:45,812 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-08 12:27:45,812 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:27:45,812 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [568736210] [2022-04-08 12:27:45,812 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [568736210] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:27:45,813 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:27:45,813 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:27:45,813 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [635361470] [2022-04-08 12:27:45,813 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:27:45,813 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.5) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) Word has length 122 [2022-04-08 12:27:45,813 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:27:45,813 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.5) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 12:27:45,855 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 12:27:45,855 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:27:45,855 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:27:45,855 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:27:45,855 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:27:45,855 INFO L87 Difference]: Start difference. First operand 184 states and 256 transitions. Second operand has 8 states, 8 states have (on average 3.5) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 12:27:46,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:27:46,578 INFO L93 Difference]: Finished difference Result 198 states and 267 transitions. [2022-04-08 12:27:46,578 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:27:46,578 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.5) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) Word has length 122 [2022-04-08 12:27:46,578 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:27:46,578 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.5) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 12:27:46,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-08 12:27:46,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.5) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 12:27:46,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-08 12:27:46,580 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 60 transitions. [2022-04-08 12:27:46,638 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 12:27:46,641 INFO L225 Difference]: With dead ends: 198 [2022-04-08 12:27:46,642 INFO L226 Difference]: Without dead ends: 195 [2022-04-08 12:27:46,642 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 246 GetRequests, 235 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 12:27:46,642 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 17 mSDsluCounter, 120 mSDsCounter, 0 mSdLazyCounter, 112 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 156 SdHoareTripleChecker+Invalid, 129 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 112 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:27:46,642 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 156 Invalid, 129 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 112 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:27:46,643 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 195 states. [2022-04-08 12:27:47,088 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 195 to 194. [2022-04-08 12:27:47,088 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:27:47,088 INFO L82 GeneralOperation]: Start isEquivalent. First operand 195 states. Second operand has 194 states, 103 states have (on average 1.145631067961165) internal successors, (118), 104 states have internal predecessors, (118), 73 states have call successors, (73), 18 states have call predecessors, (73), 17 states have return successors, (71), 71 states have call predecessors, (71), 71 states have call successors, (71) [2022-04-08 12:27:47,088 INFO L74 IsIncluded]: Start isIncluded. First operand 195 states. Second operand has 194 states, 103 states have (on average 1.145631067961165) internal successors, (118), 104 states have internal predecessors, (118), 73 states have call successors, (73), 18 states have call predecessors, (73), 17 states have return successors, (71), 71 states have call predecessors, (71), 71 states have call successors, (71) [2022-04-08 12:27:47,089 INFO L87 Difference]: Start difference. First operand 195 states. Second operand has 194 states, 103 states have (on average 1.145631067961165) internal successors, (118), 104 states have internal predecessors, (118), 73 states have call successors, (73), 18 states have call predecessors, (73), 17 states have return successors, (71), 71 states have call predecessors, (71), 71 states have call successors, (71) [2022-04-08 12:27:47,095 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:27:47,095 INFO L93 Difference]: Finished difference Result 195 states and 263 transitions. [2022-04-08 12:27:47,095 INFO L276 IsEmpty]: Start isEmpty. Operand 195 states and 263 transitions. [2022-04-08 12:27:47,096 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:27:47,096 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:27:47,096 INFO L74 IsIncluded]: Start isIncluded. First operand has 194 states, 103 states have (on average 1.145631067961165) internal successors, (118), 104 states have internal predecessors, (118), 73 states have call successors, (73), 18 states have call predecessors, (73), 17 states have return successors, (71), 71 states have call predecessors, (71), 71 states have call successors, (71) Second operand 195 states. [2022-04-08 12:27:47,096 INFO L87 Difference]: Start difference. First operand has 194 states, 103 states have (on average 1.145631067961165) internal successors, (118), 104 states have internal predecessors, (118), 73 states have call successors, (73), 18 states have call predecessors, (73), 17 states have return successors, (71), 71 states have call predecessors, (71), 71 states have call successors, (71) Second operand 195 states. [2022-04-08 12:27:47,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:27:47,099 INFO L93 Difference]: Finished difference Result 195 states and 263 transitions. [2022-04-08 12:27:47,100 INFO L276 IsEmpty]: Start isEmpty. Operand 195 states and 263 transitions. [2022-04-08 12:27:47,100 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:27:47,100 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:27:47,100 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:27:47,100 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:27:47,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 194 states, 103 states have (on average 1.145631067961165) internal successors, (118), 104 states have internal predecessors, (118), 73 states have call successors, (73), 18 states have call predecessors, (73), 17 states have return successors, (71), 71 states have call predecessors, (71), 71 states have call successors, (71) [2022-04-08 12:27:47,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 194 states to 194 states and 262 transitions. [2022-04-08 12:27:47,104 INFO L78 Accepts]: Start accepts. Automaton has 194 states and 262 transitions. Word has length 122 [2022-04-08 12:27:47,104 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:27:47,104 INFO L478 AbstractCegarLoop]: Abstraction has 194 states and 262 transitions. [2022-04-08 12:27:47,104 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.5) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 12:27:47,104 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 194 states and 262 transitions. [2022-04-08 12:27:47,632 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 262 edges. 262 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:27:47,632 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 262 transitions. [2022-04-08 12:27:47,633 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 128 [2022-04-08 12:27:47,633 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:27:47,633 INFO L499 BasicCegarLoop]: trace histogram [15, 14, 14, 6, 6, 6, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:27:47,649 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 12:27:47,833 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-08 12:27:47,834 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:27:47,834 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:27:47,834 INFO L85 PathProgramCache]: Analyzing trace with hash 541794983, now seen corresponding path program 5 times [2022-04-08 12:27:47,834 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:27:47,834 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1338734147] [2022-04-08 12:27:47,834 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:27:47,834 INFO L85 PathProgramCache]: Analyzing trace with hash 541794983, now seen corresponding path program 6 times [2022-04-08 12:27:47,835 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:27:47,835 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [782667371] [2022-04-08 12:27:47,835 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:27:47,835 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:27:47,858 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:27:47,859 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [926389665] [2022-04-08 12:27:47,859 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 12:27:47,859 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:27:47,859 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:27:47,875 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 12:27:47,876 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 12:27:47,984 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 12:27:47,985 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:27:47,986 INFO L263 TraceCheckSpWp]: Trace formula consists of 277 conjuncts, 82 conjunts are in the unsatisfiable core [2022-04-08 12:27:48,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:27:48,014 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:27:49,077 INFO L272 TraceCheckUtils]: 0: Hoare triple {18162#true} call ULTIMATE.init(); {18162#true} is VALID [2022-04-08 12:27:49,077 INFO L290 TraceCheckUtils]: 1: Hoare triple {18162#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {18162#true} is VALID [2022-04-08 12:27:49,077 INFO L290 TraceCheckUtils]: 2: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:27:49,077 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18162#true} {18162#true} #103#return; {18162#true} is VALID [2022-04-08 12:27:49,077 INFO L272 TraceCheckUtils]: 4: Hoare triple {18162#true} call #t~ret6 := main(); {18162#true} is VALID [2022-04-08 12:27:49,077 INFO L290 TraceCheckUtils]: 5: Hoare triple {18162#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {18162#true} is VALID [2022-04-08 12:27:49,077 INFO L272 TraceCheckUtils]: 6: Hoare triple {18162#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:27:49,077 INFO L290 TraceCheckUtils]: 7: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:27:49,077 INFO L290 TraceCheckUtils]: 8: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:27:49,077 INFO L290 TraceCheckUtils]: 9: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:27:49,077 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18162#true} {18162#true} #79#return; {18162#true} is VALID [2022-04-08 12:27:49,078 INFO L290 TraceCheckUtils]: 11: Hoare triple {18162#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18162#true} is VALID [2022-04-08 12:27:49,078 INFO L272 TraceCheckUtils]: 12: Hoare triple {18162#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:27:49,078 INFO L290 TraceCheckUtils]: 13: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:27:49,078 INFO L290 TraceCheckUtils]: 14: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:27:49,078 INFO L290 TraceCheckUtils]: 15: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:27:49,078 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18162#true} {18162#true} #81#return; {18162#true} is VALID [2022-04-08 12:27:49,078 INFO L272 TraceCheckUtils]: 17: Hoare triple {18162#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:27:49,078 INFO L290 TraceCheckUtils]: 18: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:27:49,078 INFO L290 TraceCheckUtils]: 19: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:27:49,078 INFO L290 TraceCheckUtils]: 20: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:27:49,078 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18162#true} {18162#true} #83#return; {18162#true} is VALID [2022-04-08 12:27:49,078 INFO L272 TraceCheckUtils]: 22: Hoare triple {18162#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:27:49,078 INFO L290 TraceCheckUtils]: 23: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:27:49,078 INFO L290 TraceCheckUtils]: 24: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:27:49,078 INFO L290 TraceCheckUtils]: 25: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:27:49,078 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18162#true} {18162#true} #85#return; {18162#true} is VALID [2022-04-08 12:27:49,079 INFO L290 TraceCheckUtils]: 27: Hoare triple {18162#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {18248#(and (= main_~r~0 0) (= 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 12:27:49,079 INFO L272 TraceCheckUtils]: 28: Hoare triple {18248#(and (= main_~r~0 0) (= 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 assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:27:49,079 INFO L290 TraceCheckUtils]: 29: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:27:49,079 INFO L290 TraceCheckUtils]: 30: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:27:49,079 INFO L290 TraceCheckUtils]: 31: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:27:49,080 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {18162#true} {18248#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {18248#(and (= main_~r~0 0) (= 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 12:27:49,080 INFO L272 TraceCheckUtils]: 33: Hoare triple {18248#(and (= main_~r~0 0) (= 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 assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:27:49,080 INFO L290 TraceCheckUtils]: 34: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:27:49,080 INFO L290 TraceCheckUtils]: 35: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:27:49,080 INFO L290 TraceCheckUtils]: 36: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:27:49,081 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {18162#true} {18248#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {18248#(and (= main_~r~0 0) (= 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 12:27:49,081 INFO L290 TraceCheckUtils]: 38: Hoare triple {18248#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {18248#(and (= main_~r~0 0) (= 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 12:27:49,081 INFO L290 TraceCheckUtils]: 39: Hoare triple {18248#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18285#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:27:49,082 INFO L290 TraceCheckUtils]: 40: Hoare triple {18285#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {18285#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:27:49,082 INFO L272 TraceCheckUtils]: 41: Hoare triple {18285#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:27:49,082 INFO L290 TraceCheckUtils]: 42: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:27:49,082 INFO L290 TraceCheckUtils]: 43: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:27:49,082 INFO L290 TraceCheckUtils]: 44: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:27:49,083 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {18162#true} {18285#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {18285#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:27:49,083 INFO L272 TraceCheckUtils]: 46: Hoare triple {18285#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:27:49,083 INFO L290 TraceCheckUtils]: 47: Hoare triple {18162#true} ~cond := #in~cond; {18310#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:27:49,083 INFO L290 TraceCheckUtils]: 48: Hoare triple {18310#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:27:49,084 INFO L290 TraceCheckUtils]: 49: Hoare triple {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:27:49,084 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} {18285#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #93#return; {18321#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:27:49,084 INFO L272 TraceCheckUtils]: 51: Hoare triple {18321#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:27:49,085 INFO L290 TraceCheckUtils]: 52: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:27:49,085 INFO L290 TraceCheckUtils]: 53: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:27:49,085 INFO L290 TraceCheckUtils]: 54: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:27:49,085 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {18162#true} {18321#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #95#return; {18321#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:27:49,085 INFO L272 TraceCheckUtils]: 56: Hoare triple {18321#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:27:49,085 INFO L290 TraceCheckUtils]: 57: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:27:49,085 INFO L290 TraceCheckUtils]: 58: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:27:49,085 INFO L290 TraceCheckUtils]: 59: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:27:49,086 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {18162#true} {18321#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #97#return; {18321#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:27:49,087 INFO L290 TraceCheckUtils]: 61: Hoare triple {18321#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {18321#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:27:49,087 INFO L290 TraceCheckUtils]: 62: Hoare triple {18321#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {18358#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-08 12:27:49,087 INFO L290 TraceCheckUtils]: 63: Hoare triple {18358#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {18358#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-08 12:27:49,088 INFO L290 TraceCheckUtils]: 64: Hoare triple {18358#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18365#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-08 12:27:49,088 INFO L290 TraceCheckUtils]: 65: Hoare triple {18365#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {18365#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-08 12:27:49,088 INFO L272 TraceCheckUtils]: 66: Hoare triple {18365#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:27:49,088 INFO L290 TraceCheckUtils]: 67: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:27:49,088 INFO L290 TraceCheckUtils]: 68: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:27:49,088 INFO L290 TraceCheckUtils]: 69: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:27:49,089 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {18162#true} {18365#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #91#return; {18365#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-08 12:27:49,089 INFO L272 TraceCheckUtils]: 71: Hoare triple {18365#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:27:49,089 INFO L290 TraceCheckUtils]: 72: Hoare triple {18162#true} ~cond := #in~cond; {18310#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:27:49,090 INFO L290 TraceCheckUtils]: 73: Hoare triple {18310#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:27:49,090 INFO L290 TraceCheckUtils]: 74: Hoare triple {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:27:49,091 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} {18365#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #93#return; {18399#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:49,091 INFO L272 TraceCheckUtils]: 76: Hoare triple {18399#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:27:49,091 INFO L290 TraceCheckUtils]: 77: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:27:49,091 INFO L290 TraceCheckUtils]: 78: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:27:49,091 INFO L290 TraceCheckUtils]: 79: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:27:49,092 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18162#true} {18399#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #95#return; {18399#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:49,092 INFO L272 TraceCheckUtils]: 81: Hoare triple {18399#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:27:49,092 INFO L290 TraceCheckUtils]: 82: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:27:49,092 INFO L290 TraceCheckUtils]: 83: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:27:49,092 INFO L290 TraceCheckUtils]: 84: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:27:49,093 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {18162#true} {18399#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #97#return; {18399#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:49,093 INFO L290 TraceCheckUtils]: 86: Hoare triple {18399#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18433#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:49,094 INFO L290 TraceCheckUtils]: 87: Hoare triple {18433#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !false; {18433#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:49,094 INFO L272 TraceCheckUtils]: 88: Hoare triple {18433#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:27:49,094 INFO L290 TraceCheckUtils]: 89: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:27:49,094 INFO L290 TraceCheckUtils]: 90: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:27:49,094 INFO L290 TraceCheckUtils]: 91: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:27:49,095 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {18162#true} {18433#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} #91#return; {18433#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:49,095 INFO L272 TraceCheckUtils]: 93: Hoare triple {18433#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~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)); {18162#true} is VALID [2022-04-08 12:27:49,095 INFO L290 TraceCheckUtils]: 94: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:27:49,095 INFO L290 TraceCheckUtils]: 95: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:27:49,095 INFO L290 TraceCheckUtils]: 96: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:27:49,096 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {18162#true} {18433#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} #93#return; {18433#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:49,096 INFO L272 TraceCheckUtils]: 98: Hoare triple {18433#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~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)); {18162#true} is VALID [2022-04-08 12:27:49,096 INFO L290 TraceCheckUtils]: 99: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:27:49,096 INFO L290 TraceCheckUtils]: 100: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:27:49,096 INFO L290 TraceCheckUtils]: 101: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:27:49,096 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {18162#true} {18433#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} #95#return; {18433#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:49,097 INFO L272 TraceCheckUtils]: 103: Hoare triple {18433#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:27:49,097 INFO L290 TraceCheckUtils]: 104: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:27:49,097 INFO L290 TraceCheckUtils]: 105: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:27:49,097 INFO L290 TraceCheckUtils]: 106: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:27:49,097 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {18162#true} {18433#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} #97#return; {18433#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:49,098 INFO L290 TraceCheckUtils]: 108: Hoare triple {18433#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {18433#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:27:49,098 INFO L290 TraceCheckUtils]: 109: Hoare triple {18433#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {18503#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:27:49,099 INFO L290 TraceCheckUtils]: 110: Hoare triple {18503#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {18503#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:27:49,099 INFO L290 TraceCheckUtils]: 111: Hoare triple {18503#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18510#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (<= main_~c~0 main_~a~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:27:49,100 INFO L290 TraceCheckUtils]: 112: Hoare triple {18510#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (<= main_~c~0 main_~a~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {18510#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (<= main_~c~0 main_~a~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:27:49,100 INFO L272 TraceCheckUtils]: 113: Hoare triple {18510#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (<= main_~c~0 main_~a~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:27:49,100 INFO L290 TraceCheckUtils]: 114: Hoare triple {18162#true} ~cond := #in~cond; {18310#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:27:49,100 INFO L290 TraceCheckUtils]: 115: Hoare triple {18310#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:27:49,101 INFO L290 TraceCheckUtils]: 116: Hoare triple {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:27:49,101 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} {18510#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (<= main_~c~0 main_~a~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {18503#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:27:49,101 INFO L272 TraceCheckUtils]: 118: Hoare triple {18503#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:27:49,102 INFO L290 TraceCheckUtils]: 119: Hoare triple {18162#true} ~cond := #in~cond; {18310#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:27:49,102 INFO L290 TraceCheckUtils]: 120: Hoare triple {18310#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:27:49,102 INFO L290 TraceCheckUtils]: 121: Hoare triple {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:27:49,103 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} {18503#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #93#return; {18544#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (+ (- 1) (* (- 1) main_~q~0)) 0))} is VALID [2022-04-08 12:27:49,104 INFO L272 TraceCheckUtils]: 123: Hoare triple {18544#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (+ (- 1) (* (- 1) main_~q~0)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18548#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:27:49,104 INFO L290 TraceCheckUtils]: 124: Hoare triple {18548#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18552#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:27:49,105 INFO L290 TraceCheckUtils]: 125: Hoare triple {18552#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18163#false} is VALID [2022-04-08 12:27:49,105 INFO L290 TraceCheckUtils]: 126: Hoare triple {18163#false} assume !false; {18163#false} is VALID [2022-04-08 12:27:49,105 INFO L134 CoverageAnalysis]: Checked inductivity of 489 backedges. 99 proven. 86 refuted. 0 times theorem prover too weak. 304 trivial. 0 not checked. [2022-04-08 12:27:49,105 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:29:13,361 INFO L290 TraceCheckUtils]: 126: Hoare triple {18163#false} assume !false; {18163#false} is VALID [2022-04-08 12:29:13,361 INFO L290 TraceCheckUtils]: 125: Hoare triple {18552#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18163#false} is VALID [2022-04-08 12:29:13,362 INFO L290 TraceCheckUtils]: 124: Hoare triple {18548#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18552#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:29:13,362 INFO L272 TraceCheckUtils]: 123: Hoare triple {18568#(= 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)); {18548#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:29:13,363 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} {18572#(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)))))} #93#return; {18568#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:29:13,363 INFO L290 TraceCheckUtils]: 121: Hoare triple {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:29:13,364 INFO L290 TraceCheckUtils]: 120: Hoare triple {18582#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:29:13,364 INFO L290 TraceCheckUtils]: 119: Hoare triple {18162#true} ~cond := #in~cond; {18582#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:29:13,364 INFO L272 TraceCheckUtils]: 118: Hoare triple {18572#(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)); {18162#true} is VALID [2022-04-08 12:29:13,365 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} {18589#(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)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} #91#return; {18572#(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 12:29:13,365 INFO L290 TraceCheckUtils]: 116: Hoare triple {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:29:13,365 INFO L290 TraceCheckUtils]: 115: Hoare triple {18582#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:29:13,366 INFO L290 TraceCheckUtils]: 114: Hoare triple {18162#true} ~cond := #in~cond; {18582#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:29:13,366 INFO L272 TraceCheckUtils]: 113: Hoare triple {18589#(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)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:29:13,366 INFO L290 TraceCheckUtils]: 112: Hoare triple {18589#(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)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} assume !false; {18589#(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)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-08 12:29:13,366 INFO L290 TraceCheckUtils]: 111: Hoare triple {18572#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18589#(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)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-08 12:29:13,367 INFO L290 TraceCheckUtils]: 110: Hoare triple {18572#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {18572#(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 12:29:13,386 INFO L290 TraceCheckUtils]: 109: Hoare triple {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {18572#(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 12:29:13,387 INFO L290 TraceCheckUtils]: 108: Hoare triple {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= ~b~0); {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:29:13,387 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {18162#true} {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #97#return; {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:29:13,387 INFO L290 TraceCheckUtils]: 106: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:29:13,387 INFO L290 TraceCheckUtils]: 105: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:29:13,387 INFO L290 TraceCheckUtils]: 104: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:29:13,387 INFO L272 TraceCheckUtils]: 103: Hoare triple {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:29:13,388 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {18162#true} {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #95#return; {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:29:13,388 INFO L290 TraceCheckUtils]: 101: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:29:13,388 INFO L290 TraceCheckUtils]: 100: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:29:13,388 INFO L290 TraceCheckUtils]: 99: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:29:13,388 INFO L272 TraceCheckUtils]: 98: Hoare triple {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:29:13,389 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {18162#true} {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #93#return; {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:29:13,389 INFO L290 TraceCheckUtils]: 96: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:29:13,389 INFO L290 TraceCheckUtils]: 95: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:29:13,389 INFO L290 TraceCheckUtils]: 94: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:29:13,389 INFO L272 TraceCheckUtils]: 93: Hoare triple {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:29:13,390 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {18162#true} {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #91#return; {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:29:13,390 INFO L290 TraceCheckUtils]: 91: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:29:13,390 INFO L290 TraceCheckUtils]: 90: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:29:13,390 INFO L290 TraceCheckUtils]: 89: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:29:13,390 INFO L272 TraceCheckUtils]: 88: Hoare triple {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:29:13,390 INFO L290 TraceCheckUtils]: 87: Hoare triple {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:29:13,760 INFO L290 TraceCheckUtils]: 86: Hoare triple {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:29:13,761 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {18162#true} {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #97#return; {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:29:13,761 INFO L290 TraceCheckUtils]: 84: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:29:13,761 INFO L290 TraceCheckUtils]: 83: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:29:13,761 INFO L290 TraceCheckUtils]: 82: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:29:13,761 INFO L272 TraceCheckUtils]: 81: Hoare triple {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:29:13,762 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18162#true} {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #95#return; {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:29:13,762 INFO L290 TraceCheckUtils]: 79: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:29:13,762 INFO L290 TraceCheckUtils]: 78: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:29:13,762 INFO L290 TraceCheckUtils]: 77: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:29:13,762 INFO L272 TraceCheckUtils]: 76: Hoare triple {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:29:13,763 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} {18717#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #93#return; {18614#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:29:13,763 INFO L290 TraceCheckUtils]: 74: Hoare triple {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:29:13,764 INFO L290 TraceCheckUtils]: 73: Hoare triple {18582#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {18314#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:29:13,764 INFO L290 TraceCheckUtils]: 72: Hoare triple {18162#true} ~cond := #in~cond; {18582#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:29:13,764 INFO L272 TraceCheckUtils]: 71: Hoare triple {18717#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:29:13,765 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {18162#true} {18717#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #91#return; {18717#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:29:13,765 INFO L290 TraceCheckUtils]: 69: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:29:13,765 INFO L290 TraceCheckUtils]: 68: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:29:13,765 INFO L290 TraceCheckUtils]: 67: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:29:13,765 INFO L272 TraceCheckUtils]: 66: Hoare triple {18717#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:29:13,765 INFO L290 TraceCheckUtils]: 65: Hoare triple {18717#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {18717#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:29:13,766 INFO L290 TraceCheckUtils]: 64: Hoare triple {18162#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18717#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:29:13,766 INFO L290 TraceCheckUtils]: 63: Hoare triple {18162#true} assume !false; {18162#true} is VALID [2022-04-08 12:29:13,766 INFO L290 TraceCheckUtils]: 62: Hoare triple {18162#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {18162#true} is VALID [2022-04-08 12:29:13,766 INFO L290 TraceCheckUtils]: 61: Hoare triple {18162#true} assume !(~c~0 >= ~b~0); {18162#true} is VALID [2022-04-08 12:29:13,766 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {18162#true} {18162#true} #97#return; {18162#true} is VALID [2022-04-08 12:29:13,766 INFO L290 TraceCheckUtils]: 59: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:29:13,766 INFO L290 TraceCheckUtils]: 58: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:29:13,766 INFO L290 TraceCheckUtils]: 57: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:29:13,766 INFO L272 TraceCheckUtils]: 56: Hoare triple {18162#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:29:13,766 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {18162#true} {18162#true} #95#return; {18162#true} is VALID [2022-04-08 12:29:13,766 INFO L290 TraceCheckUtils]: 54: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:29:13,766 INFO L290 TraceCheckUtils]: 53: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:29:13,767 INFO L290 TraceCheckUtils]: 52: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:29:13,767 INFO L272 TraceCheckUtils]: 51: Hoare triple {18162#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:29:13,767 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {18162#true} {18162#true} #93#return; {18162#true} is VALID [2022-04-08 12:29:13,767 INFO L290 TraceCheckUtils]: 49: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:29:13,767 INFO L290 TraceCheckUtils]: 48: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:29:13,767 INFO L290 TraceCheckUtils]: 47: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:29:13,767 INFO L272 TraceCheckUtils]: 46: Hoare triple {18162#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:29:13,767 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {18162#true} {18162#true} #91#return; {18162#true} is VALID [2022-04-08 12:29:13,767 INFO L290 TraceCheckUtils]: 44: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:29:13,767 INFO L290 TraceCheckUtils]: 43: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:29:13,767 INFO L290 TraceCheckUtils]: 42: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:29:13,767 INFO L272 TraceCheckUtils]: 41: Hoare triple {18162#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:29:13,767 INFO L290 TraceCheckUtils]: 40: Hoare triple {18162#true} assume !false; {18162#true} is VALID [2022-04-08 12:29:13,767 INFO L290 TraceCheckUtils]: 39: Hoare triple {18162#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18162#true} is VALID [2022-04-08 12:29:13,767 INFO L290 TraceCheckUtils]: 38: Hoare triple {18162#true} assume !false; {18162#true} is VALID [2022-04-08 12:29:13,767 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {18162#true} {18162#true} #89#return; {18162#true} is VALID [2022-04-08 12:29:13,767 INFO L290 TraceCheckUtils]: 36: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:29:13,767 INFO L290 TraceCheckUtils]: 35: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:29:13,768 INFO L290 TraceCheckUtils]: 34: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:29:13,768 INFO L272 TraceCheckUtils]: 33: Hoare triple {18162#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:29:13,768 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {18162#true} {18162#true} #87#return; {18162#true} is VALID [2022-04-08 12:29:13,768 INFO L290 TraceCheckUtils]: 31: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:29:13,768 INFO L290 TraceCheckUtils]: 30: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:29:13,768 INFO L290 TraceCheckUtils]: 29: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:29:13,768 INFO L272 TraceCheckUtils]: 28: Hoare triple {18162#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:29:13,768 INFO L290 TraceCheckUtils]: 27: Hoare triple {18162#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {18162#true} is VALID [2022-04-08 12:29:13,768 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18162#true} {18162#true} #85#return; {18162#true} is VALID [2022-04-08 12:29:13,768 INFO L290 TraceCheckUtils]: 25: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:29:13,768 INFO L290 TraceCheckUtils]: 24: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:29:13,768 INFO L290 TraceCheckUtils]: 23: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:29:13,768 INFO L272 TraceCheckUtils]: 22: Hoare triple {18162#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:29:13,768 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18162#true} {18162#true} #83#return; {18162#true} is VALID [2022-04-08 12:29:13,768 INFO L290 TraceCheckUtils]: 20: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:29:13,768 INFO L290 TraceCheckUtils]: 19: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:29:13,768 INFO L290 TraceCheckUtils]: 18: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:29:13,768 INFO L272 TraceCheckUtils]: 17: Hoare triple {18162#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:29:13,768 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18162#true} {18162#true} #81#return; {18162#true} is VALID [2022-04-08 12:29:13,769 INFO L290 TraceCheckUtils]: 15: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:29:13,769 INFO L290 TraceCheckUtils]: 14: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:29:13,769 INFO L290 TraceCheckUtils]: 13: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:29:13,769 INFO L272 TraceCheckUtils]: 12: Hoare triple {18162#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:29:13,769 INFO L290 TraceCheckUtils]: 11: Hoare triple {18162#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18162#true} is VALID [2022-04-08 12:29:13,769 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18162#true} {18162#true} #79#return; {18162#true} is VALID [2022-04-08 12:29:13,769 INFO L290 TraceCheckUtils]: 9: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:29:13,769 INFO L290 TraceCheckUtils]: 8: Hoare triple {18162#true} assume !(0 == ~cond); {18162#true} is VALID [2022-04-08 12:29:13,769 INFO L290 TraceCheckUtils]: 7: Hoare triple {18162#true} ~cond := #in~cond; {18162#true} is VALID [2022-04-08 12:29:13,769 INFO L272 TraceCheckUtils]: 6: Hoare triple {18162#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {18162#true} is VALID [2022-04-08 12:29:13,769 INFO L290 TraceCheckUtils]: 5: Hoare triple {18162#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {18162#true} is VALID [2022-04-08 12:29:13,769 INFO L272 TraceCheckUtils]: 4: Hoare triple {18162#true} call #t~ret6 := main(); {18162#true} is VALID [2022-04-08 12:29:13,769 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18162#true} {18162#true} #103#return; {18162#true} is VALID [2022-04-08 12:29:13,769 INFO L290 TraceCheckUtils]: 2: Hoare triple {18162#true} assume true; {18162#true} is VALID [2022-04-08 12:29:13,769 INFO L290 TraceCheckUtils]: 1: Hoare triple {18162#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {18162#true} is VALID [2022-04-08 12:29:13,769 INFO L272 TraceCheckUtils]: 0: Hoare triple {18162#true} call ULTIMATE.init(); {18162#true} is VALID [2022-04-08 12:29:13,770 INFO L134 CoverageAnalysis]: Checked inductivity of 489 backedges. 130 proven. 29 refuted. 0 times theorem prover too weak. 330 trivial. 0 not checked. [2022-04-08 12:29:13,770 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:29:13,770 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [782667371] [2022-04-08 12:29:13,770 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:29:13,770 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [926389665] [2022-04-08 12:29:13,770 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [926389665] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:29:13,774 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:29:13,774 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 11] total 22 [2022-04-08 12:29:13,774 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:29:13,774 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1338734147] [2022-04-08 12:29:13,774 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1338734147] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:29:13,774 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:29:13,774 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 12:29:13,774 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [501974164] [2022-04-08 12:29:13,778 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:29:13,778 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 13 states have internal predecessors, (32), 10 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 9 states have call predecessors, (21), 9 states have call successors, (21) Word has length 127 [2022-04-08 12:29:13,779 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:29:13,779 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 13 states have internal predecessors, (32), 10 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 9 states have call predecessors, (21), 9 states have call successors, (21) [2022-04-08 12:29:13,852 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:29:13,852 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 12:29:13,852 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:29:13,853 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 12:29:13,853 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=366, Unknown=0, NotChecked=0, Total=462 [2022-04-08 12:29:13,853 INFO L87 Difference]: Start difference. First operand 194 states and 262 transitions. Second operand has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 13 states have internal predecessors, (32), 10 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 9 states have call predecessors, (21), 9 states have call successors, (21) [2022-04-08 12:29:16,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:29:16,156 INFO L93 Difference]: Finished difference Result 265 states and 355 transitions. [2022-04-08 12:29:16,156 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 12:29:16,156 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 13 states have internal predecessors, (32), 10 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 9 states have call predecessors, (21), 9 states have call successors, (21) Word has length 127 [2022-04-08 12:29:16,157 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:29:16,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 13 states have internal predecessors, (32), 10 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 9 states have call predecessors, (21), 9 states have call successors, (21) [2022-04-08 12:29:16,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 135 transitions. [2022-04-08 12:29:16,158 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 13 states have internal predecessors, (32), 10 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 9 states have call predecessors, (21), 9 states have call successors, (21) [2022-04-08 12:29:16,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 135 transitions. [2022-04-08 12:29:16,160 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 135 transitions. [2022-04-08 12:29:16,315 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:29:16,320 INFO L225 Difference]: With dead ends: 265 [2022-04-08 12:29:16,320 INFO L226 Difference]: Without dead ends: 263 [2022-04-08 12:29:16,320 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 256 GetRequests, 230 SyntacticMatches, 3 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=118, Invalid=482, Unknown=0, NotChecked=0, Total=600 [2022-04-08 12:29:16,321 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 38 mSDsluCounter, 261 mSDsCounter, 0 mSdLazyCounter, 690 mSolverCounterSat, 45 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 311 SdHoareTripleChecker+Invalid, 735 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 45 IncrementalHoareTripleChecker+Valid, 690 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-08 12:29:16,321 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [60 Valid, 311 Invalid, 735 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [45 Valid, 690 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-08 12:29:16,321 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 263 states. [2022-04-08 12:29:16,721 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 263 to 260. [2022-04-08 12:29:16,721 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:29:16,722 INFO L82 GeneralOperation]: Start isEquivalent. First operand 263 states. Second operand has 260 states, 139 states have (on average 1.1366906474820144) internal successors, (158), 140 states have internal predecessors, (158), 97 states have call successors, (97), 24 states have call predecessors, (97), 23 states have return successors, (95), 95 states have call predecessors, (95), 95 states have call successors, (95) [2022-04-08 12:29:16,723 INFO L74 IsIncluded]: Start isIncluded. First operand 263 states. Second operand has 260 states, 139 states have (on average 1.1366906474820144) internal successors, (158), 140 states have internal predecessors, (158), 97 states have call successors, (97), 24 states have call predecessors, (97), 23 states have return successors, (95), 95 states have call predecessors, (95), 95 states have call successors, (95) [2022-04-08 12:29:16,723 INFO L87 Difference]: Start difference. First operand 263 states. Second operand has 260 states, 139 states have (on average 1.1366906474820144) internal successors, (158), 140 states have internal predecessors, (158), 97 states have call successors, (97), 24 states have call predecessors, (97), 23 states have return successors, (95), 95 states have call predecessors, (95), 95 states have call successors, (95) [2022-04-08 12:29:16,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:29:16,728 INFO L93 Difference]: Finished difference Result 263 states and 353 transitions. [2022-04-08 12:29:16,728 INFO L276 IsEmpty]: Start isEmpty. Operand 263 states and 353 transitions. [2022-04-08 12:29:16,729 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:29:16,729 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:29:16,729 INFO L74 IsIncluded]: Start isIncluded. First operand has 260 states, 139 states have (on average 1.1366906474820144) internal successors, (158), 140 states have internal predecessors, (158), 97 states have call successors, (97), 24 states have call predecessors, (97), 23 states have return successors, (95), 95 states have call predecessors, (95), 95 states have call successors, (95) Second operand 263 states. [2022-04-08 12:29:16,729 INFO L87 Difference]: Start difference. First operand has 260 states, 139 states have (on average 1.1366906474820144) internal successors, (158), 140 states have internal predecessors, (158), 97 states have call successors, (97), 24 states have call predecessors, (97), 23 states have return successors, (95), 95 states have call predecessors, (95), 95 states have call successors, (95) Second operand 263 states. [2022-04-08 12:29:16,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:29:16,734 INFO L93 Difference]: Finished difference Result 263 states and 353 transitions. [2022-04-08 12:29:16,734 INFO L276 IsEmpty]: Start isEmpty. Operand 263 states and 353 transitions. [2022-04-08 12:29:16,735 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:29:16,735 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:29:16,735 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:29:16,735 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:29:16,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 260 states, 139 states have (on average 1.1366906474820144) internal successors, (158), 140 states have internal predecessors, (158), 97 states have call successors, (97), 24 states have call predecessors, (97), 23 states have return successors, (95), 95 states have call predecessors, (95), 95 states have call successors, (95) [2022-04-08 12:29:16,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 260 states to 260 states and 350 transitions. [2022-04-08 12:29:16,740 INFO L78 Accepts]: Start accepts. Automaton has 260 states and 350 transitions. Word has length 127 [2022-04-08 12:29:16,741 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:29:16,741 INFO L478 AbstractCegarLoop]: Abstraction has 260 states and 350 transitions. [2022-04-08 12:29:16,741 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 13 states have internal predecessors, (32), 10 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 9 states have call predecessors, (21), 9 states have call successors, (21) [2022-04-08 12:29:16,741 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 260 states and 350 transitions. [2022-04-08 12:29:17,501 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 350 edges. 350 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:29:17,501 INFO L276 IsEmpty]: Start isEmpty. Operand 260 states and 350 transitions. [2022-04-08 12:29:17,502 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 130 [2022-04-08 12:29:17,502 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:29:17,502 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:29:17,518 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 12:29:17,702 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-08 12:29:17,703 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:29:17,704 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:29:17,704 INFO L85 PathProgramCache]: Analyzing trace with hash -2138166692, now seen corresponding path program 7 times [2022-04-08 12:29:17,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:29:17,704 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [527123552] [2022-04-08 12:29:17,705 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:29:17,705 INFO L85 PathProgramCache]: Analyzing trace with hash -2138166692, now seen corresponding path program 8 times [2022-04-08 12:29:17,705 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:29:17,705 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1666657984] [2022-04-08 12:29:17,705 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:29:17,705 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:29:17,717 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:29:17,717 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2121008311] [2022-04-08 12:29:17,717 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:29:17,719 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:29:17,719 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:29:17,723 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 12:29:17,724 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 12:29:17,800 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:29:17,800 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:29:17,802 INFO L263 TraceCheckSpWp]: Trace formula consists of 306 conjuncts, 71 conjunts are in the unsatisfiable core [2022-04-08 12:29:17,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:29:17,818 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:29:27,010 INFO L272 TraceCheckUtils]: 0: Hoare triple {20527#true} call ULTIMATE.init(); {20527#true} is VALID [2022-04-08 12:29:27,010 INFO L290 TraceCheckUtils]: 1: Hoare triple {20527#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {20527#true} is VALID [2022-04-08 12:29:27,010 INFO L290 TraceCheckUtils]: 2: Hoare triple {20527#true} assume true; {20527#true} is VALID [2022-04-08 12:29:27,010 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20527#true} {20527#true} #103#return; {20527#true} is VALID [2022-04-08 12:29:27,010 INFO L272 TraceCheckUtils]: 4: Hoare triple {20527#true} call #t~ret6 := main(); {20527#true} is VALID [2022-04-08 12:29:27,010 INFO L290 TraceCheckUtils]: 5: Hoare triple {20527#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {20527#true} is VALID [2022-04-08 12:29:27,010 INFO L272 TraceCheckUtils]: 6: Hoare triple {20527#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {20527#true} is VALID [2022-04-08 12:29:27,010 INFO L290 TraceCheckUtils]: 7: Hoare triple {20527#true} ~cond := #in~cond; {20527#true} is VALID [2022-04-08 12:29:27,010 INFO L290 TraceCheckUtils]: 8: Hoare triple {20527#true} assume !(0 == ~cond); {20527#true} is VALID [2022-04-08 12:29:27,010 INFO L290 TraceCheckUtils]: 9: Hoare triple {20527#true} assume true; {20527#true} is VALID [2022-04-08 12:29:27,010 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20527#true} {20527#true} #79#return; {20527#true} is VALID [2022-04-08 12:29:27,010 INFO L290 TraceCheckUtils]: 11: Hoare triple {20527#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20527#true} is VALID [2022-04-08 12:29:27,010 INFO L272 TraceCheckUtils]: 12: Hoare triple {20527#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {20527#true} is VALID [2022-04-08 12:29:27,011 INFO L290 TraceCheckUtils]: 13: Hoare triple {20527#true} ~cond := #in~cond; {20527#true} is VALID [2022-04-08 12:29:27,011 INFO L290 TraceCheckUtils]: 14: Hoare triple {20527#true} assume !(0 == ~cond); {20527#true} is VALID [2022-04-08 12:29:27,011 INFO L290 TraceCheckUtils]: 15: Hoare triple {20527#true} assume true; {20527#true} is VALID [2022-04-08 12:29:27,011 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20527#true} {20527#true} #81#return; {20527#true} is VALID [2022-04-08 12:29:27,011 INFO L272 TraceCheckUtils]: 17: Hoare triple {20527#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20527#true} is VALID [2022-04-08 12:29:27,011 INFO L290 TraceCheckUtils]: 18: Hoare triple {20527#true} ~cond := #in~cond; {20586#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:29:27,011 INFO L290 TraceCheckUtils]: 19: Hoare triple {20586#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {20590#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:29:27,012 INFO L290 TraceCheckUtils]: 20: Hoare triple {20590#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {20590#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:29:27,012 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20590#(not (= |assume_abort_if_not_#in~cond| 0))} {20527#true} #83#return; {20597#(<= 1 main_~x~0)} is VALID [2022-04-08 12:29:27,012 INFO L272 TraceCheckUtils]: 22: Hoare triple {20597#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20527#true} is VALID [2022-04-08 12:29:27,012 INFO L290 TraceCheckUtils]: 23: Hoare triple {20527#true} ~cond := #in~cond; {20527#true} is VALID [2022-04-08 12:29:27,012 INFO L290 TraceCheckUtils]: 24: Hoare triple {20527#true} assume !(0 == ~cond); {20527#true} is VALID [2022-04-08 12:29:27,012 INFO L290 TraceCheckUtils]: 25: Hoare triple {20527#true} assume true; {20527#true} is VALID [2022-04-08 12:29:27,013 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20527#true} {20597#(<= 1 main_~x~0)} #85#return; {20597#(<= 1 main_~x~0)} is VALID [2022-04-08 12:29:27,013 INFO L290 TraceCheckUtils]: 27: Hoare triple {20597#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {20616#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,013 INFO L272 TraceCheckUtils]: 28: Hoare triple {20616#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {20527#true} is VALID [2022-04-08 12:29:27,013 INFO L290 TraceCheckUtils]: 29: Hoare triple {20527#true} ~cond := #in~cond; {20527#true} is VALID [2022-04-08 12:29:27,013 INFO L290 TraceCheckUtils]: 30: Hoare triple {20527#true} assume !(0 == ~cond); {20527#true} is VALID [2022-04-08 12:29:27,013 INFO L290 TraceCheckUtils]: 31: Hoare triple {20527#true} assume true; {20527#true} is VALID [2022-04-08 12:29:27,014 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20527#true} {20616#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {20616#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,014 INFO L272 TraceCheckUtils]: 33: Hoare triple {20616#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {20527#true} is VALID [2022-04-08 12:29:27,014 INFO L290 TraceCheckUtils]: 34: Hoare triple {20527#true} ~cond := #in~cond; {20527#true} is VALID [2022-04-08 12:29:27,014 INFO L290 TraceCheckUtils]: 35: Hoare triple {20527#true} assume !(0 == ~cond); {20527#true} is VALID [2022-04-08 12:29:27,014 INFO L290 TraceCheckUtils]: 36: Hoare triple {20527#true} assume true; {20527#true} is VALID [2022-04-08 12:29:27,015 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {20527#true} {20616#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {20616#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,015 INFO L290 TraceCheckUtils]: 38: Hoare triple {20616#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {20616#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,016 INFO L290 TraceCheckUtils]: 39: Hoare triple {20616#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20653#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,016 INFO L290 TraceCheckUtils]: 40: Hoare triple {20653#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {20653#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,016 INFO L272 TraceCheckUtils]: 41: Hoare triple {20653#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20527#true} is VALID [2022-04-08 12:29:27,016 INFO L290 TraceCheckUtils]: 42: Hoare triple {20527#true} ~cond := #in~cond; {20527#true} is VALID [2022-04-08 12:29:27,016 INFO L290 TraceCheckUtils]: 43: Hoare triple {20527#true} assume !(0 == ~cond); {20527#true} is VALID [2022-04-08 12:29:27,016 INFO L290 TraceCheckUtils]: 44: Hoare triple {20527#true} assume true; {20527#true} is VALID [2022-04-08 12:29:27,017 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {20527#true} {20653#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {20653#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,017 INFO L272 TraceCheckUtils]: 46: Hoare triple {20653#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {20527#true} is VALID [2022-04-08 12:29:27,017 INFO L290 TraceCheckUtils]: 47: Hoare triple {20527#true} ~cond := #in~cond; {20527#true} is VALID [2022-04-08 12:29:27,017 INFO L290 TraceCheckUtils]: 48: Hoare triple {20527#true} assume !(0 == ~cond); {20527#true} is VALID [2022-04-08 12:29:27,017 INFO L290 TraceCheckUtils]: 49: Hoare triple {20527#true} assume true; {20527#true} is VALID [2022-04-08 12:29:27,018 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20527#true} {20653#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #93#return; {20653#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,018 INFO L272 TraceCheckUtils]: 51: Hoare triple {20653#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {20527#true} is VALID [2022-04-08 12:29:27,018 INFO L290 TraceCheckUtils]: 52: Hoare triple {20527#true} ~cond := #in~cond; {20527#true} is VALID [2022-04-08 12:29:27,018 INFO L290 TraceCheckUtils]: 53: Hoare triple {20527#true} assume !(0 == ~cond); {20527#true} is VALID [2022-04-08 12:29:27,018 INFO L290 TraceCheckUtils]: 54: Hoare triple {20527#true} assume true; {20527#true} is VALID [2022-04-08 12:29:27,019 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {20527#true} {20653#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #95#return; {20653#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,019 INFO L272 TraceCheckUtils]: 56: Hoare triple {20653#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {20527#true} is VALID [2022-04-08 12:29:27,019 INFO L290 TraceCheckUtils]: 57: Hoare triple {20527#true} ~cond := #in~cond; {20527#true} is VALID [2022-04-08 12:29:27,019 INFO L290 TraceCheckUtils]: 58: Hoare triple {20527#true} assume !(0 == ~cond); {20527#true} is VALID [2022-04-08 12:29:27,019 INFO L290 TraceCheckUtils]: 59: Hoare triple {20527#true} assume true; {20527#true} is VALID [2022-04-08 12:29:27,020 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {20527#true} {20653#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #97#return; {20653#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,021 INFO L290 TraceCheckUtils]: 61: Hoare triple {20653#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {20720#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,021 INFO L290 TraceCheckUtils]: 62: Hoare triple {20720#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {20720#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,021 INFO L272 TraceCheckUtils]: 63: Hoare triple {20720#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20527#true} is VALID [2022-04-08 12:29:27,022 INFO L290 TraceCheckUtils]: 64: Hoare triple {20527#true} ~cond := #in~cond; {20730#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:29:27,022 INFO L290 TraceCheckUtils]: 65: Hoare triple {20730#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:29:27,022 INFO L290 TraceCheckUtils]: 66: Hoare triple {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:29:27,023 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} {20720#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {20720#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,023 INFO L272 TraceCheckUtils]: 68: Hoare triple {20720#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {20527#true} is VALID [2022-04-08 12:29:27,023 INFO L290 TraceCheckUtils]: 69: Hoare triple {20527#true} ~cond := #in~cond; {20527#true} is VALID [2022-04-08 12:29:27,023 INFO L290 TraceCheckUtils]: 70: Hoare triple {20527#true} assume !(0 == ~cond); {20527#true} is VALID [2022-04-08 12:29:27,023 INFO L290 TraceCheckUtils]: 71: Hoare triple {20527#true} assume true; {20527#true} is VALID [2022-04-08 12:29:27,024 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {20527#true} {20720#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #93#return; {20720#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,024 INFO L272 TraceCheckUtils]: 73: Hoare triple {20720#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {20527#true} is VALID [2022-04-08 12:29:27,024 INFO L290 TraceCheckUtils]: 74: Hoare triple {20527#true} ~cond := #in~cond; {20527#true} is VALID [2022-04-08 12:29:27,024 INFO L290 TraceCheckUtils]: 75: Hoare triple {20527#true} assume !(0 == ~cond); {20527#true} is VALID [2022-04-08 12:29:27,024 INFO L290 TraceCheckUtils]: 76: Hoare triple {20527#true} assume true; {20527#true} is VALID [2022-04-08 12:29:27,025 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {20527#true} {20720#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #95#return; {20720#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,025 INFO L272 TraceCheckUtils]: 78: Hoare triple {20720#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {20527#true} is VALID [2022-04-08 12:29:27,025 INFO L290 TraceCheckUtils]: 79: Hoare triple {20527#true} ~cond := #in~cond; {20527#true} is VALID [2022-04-08 12:29:27,025 INFO L290 TraceCheckUtils]: 80: Hoare triple {20527#true} assume !(0 == ~cond); {20527#true} is VALID [2022-04-08 12:29:27,025 INFO L290 TraceCheckUtils]: 81: Hoare triple {20527#true} assume true; {20527#true} is VALID [2022-04-08 12:29:27,026 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {20527#true} {20720#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #97#return; {20720#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,027 INFO L290 TraceCheckUtils]: 83: Hoare triple {20720#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {20789#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,027 INFO L290 TraceCheckUtils]: 84: Hoare triple {20789#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} assume !false; {20789#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,027 INFO L272 TraceCheckUtils]: 85: Hoare triple {20789#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20527#true} is VALID [2022-04-08 12:29:27,028 INFO L290 TraceCheckUtils]: 86: Hoare triple {20527#true} ~cond := #in~cond; {20730#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:29:27,028 INFO L290 TraceCheckUtils]: 87: Hoare triple {20730#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:29:27,028 INFO L290 TraceCheckUtils]: 88: Hoare triple {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:29:27,030 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} {20789#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} #91#return; {20808#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,030 INFO L272 TraceCheckUtils]: 90: Hoare triple {20808#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~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)); {20527#true} is VALID [2022-04-08 12:29:27,030 INFO L290 TraceCheckUtils]: 91: Hoare triple {20527#true} ~cond := #in~cond; {20527#true} is VALID [2022-04-08 12:29:27,030 INFO L290 TraceCheckUtils]: 92: Hoare triple {20527#true} assume !(0 == ~cond); {20527#true} is VALID [2022-04-08 12:29:27,030 INFO L290 TraceCheckUtils]: 93: Hoare triple {20527#true} assume true; {20527#true} is VALID [2022-04-08 12:29:27,031 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {20527#true} {20808#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #93#return; {20808#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,031 INFO L272 TraceCheckUtils]: 95: Hoare triple {20808#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~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)); {20527#true} is VALID [2022-04-08 12:29:27,032 INFO L290 TraceCheckUtils]: 96: Hoare triple {20527#true} ~cond := #in~cond; {20730#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:29:27,032 INFO L290 TraceCheckUtils]: 97: Hoare triple {20730#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:29:27,032 INFO L290 TraceCheckUtils]: 98: Hoare triple {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:29:27,033 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} {20808#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #95#return; {20808#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,033 INFO L272 TraceCheckUtils]: 100: Hoare triple {20808#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {20527#true} is VALID [2022-04-08 12:29:27,033 INFO L290 TraceCheckUtils]: 101: Hoare triple {20527#true} ~cond := #in~cond; {20730#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:29:27,033 INFO L290 TraceCheckUtils]: 102: Hoare triple {20730#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:29:27,034 INFO L290 TraceCheckUtils]: 103: Hoare triple {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:29:27,034 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} {20808#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #97#return; {20808#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,035 INFO L290 TraceCheckUtils]: 105: Hoare triple {20808#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {20857#(and (= main_~r~0 0) (< main_~c~0 main_~y~0) (= main_~s~0 1) (<= (* main_~y~0 2) (+ main_~c~0 (* main_~k~0 main_~y~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 (* main_~k~0 main_~y~0))) (= (* main_~y~0 2) (* main_~k~0 main_~y~0)) (= main_~p~0 1))} is VALID [2022-04-08 12:29:27,037 INFO L290 TraceCheckUtils]: 106: Hoare triple {20857#(and (= main_~r~0 0) (< main_~c~0 main_~y~0) (= main_~s~0 1) (<= (* main_~y~0 2) (+ main_~c~0 (* main_~k~0 main_~y~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 (* main_~k~0 main_~y~0))) (= (* main_~y~0 2) (* main_~k~0 main_~y~0)) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {20861#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:29:27,037 INFO L290 TraceCheckUtils]: 107: Hoare triple {20861#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {20861#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:29:27,038 INFO L290 TraceCheckUtils]: 108: Hoare triple {20861#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20861#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:29:27,038 INFO L290 TraceCheckUtils]: 109: Hoare triple {20861#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {20861#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:29:27,039 INFO L272 TraceCheckUtils]: 110: Hoare triple {20861#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20527#true} is VALID [2022-04-08 12:29:27,039 INFO L290 TraceCheckUtils]: 111: Hoare triple {20527#true} ~cond := #in~cond; {20527#true} is VALID [2022-04-08 12:29:27,039 INFO L290 TraceCheckUtils]: 112: Hoare triple {20527#true} assume !(0 == ~cond); {20527#true} is VALID [2022-04-08 12:29:27,039 INFO L290 TraceCheckUtils]: 113: Hoare triple {20527#true} assume true; {20527#true} is VALID [2022-04-08 12:29:27,039 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {20527#true} {20861#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #91#return; {20861#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:29:27,039 INFO L272 TraceCheckUtils]: 115: Hoare triple {20861#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20527#true} is VALID [2022-04-08 12:29:27,040 INFO L290 TraceCheckUtils]: 116: Hoare triple {20527#true} ~cond := #in~cond; {20527#true} is VALID [2022-04-08 12:29:27,040 INFO L290 TraceCheckUtils]: 117: Hoare triple {20527#true} assume !(0 == ~cond); {20527#true} is VALID [2022-04-08 12:29:27,040 INFO L290 TraceCheckUtils]: 118: Hoare triple {20527#true} assume true; {20527#true} is VALID [2022-04-08 12:29:27,040 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {20527#true} {20861#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #93#return; {20861#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:29:27,040 INFO L272 TraceCheckUtils]: 120: Hoare triple {20861#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20527#true} is VALID [2022-04-08 12:29:27,041 INFO L290 TraceCheckUtils]: 121: Hoare triple {20527#true} ~cond := #in~cond; {20730#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:29:27,041 INFO L290 TraceCheckUtils]: 122: Hoare triple {20730#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:29:27,041 INFO L290 TraceCheckUtils]: 123: Hoare triple {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:29:27,042 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {20734#(not (= |__VERIFIER_assert_#in~cond| 0))} {20861#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #95#return; {20861#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:29:27,044 INFO L272 TraceCheckUtils]: 125: Hoare triple {20861#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {20919#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:29:27,044 INFO L290 TraceCheckUtils]: 126: Hoare triple {20919#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20923#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:29:27,045 INFO L290 TraceCheckUtils]: 127: Hoare triple {20923#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20528#false} is VALID [2022-04-08 12:29:27,045 INFO L290 TraceCheckUtils]: 128: Hoare triple {20528#false} assume !false; {20528#false} is VALID [2022-04-08 12:29:27,045 INFO L134 CoverageAnalysis]: Checked inductivity of 545 backedges. 142 proven. 88 refuted. 0 times theorem prover too weak. 315 trivial. 0 not checked. [2022-04-08 12:29:27,045 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:32:05,662 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:32:09,852 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:32:09,852 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1666657984] [2022-04-08 12:32:09,852 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:32:09,852 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2121008311] [2022-04-08 12:32:09,852 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2121008311] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 12:32:09,852 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:32:09,852 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-08 12:32:09,852 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:32:09,852 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [527123552] [2022-04-08 12:32:09,852 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [527123552] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:32:09,852 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:32:09,852 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 12:32:09,852 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [199541133] [2022-04-08 12:32:09,853 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:32:09,853 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 7 states have call predecessors, (22), 8 states have call successors, (22) Word has length 129 [2022-04-08 12:32:09,853 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:32:09,853 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 7 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-08 12:32:09,950 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:32:09,950 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 12:32:09,950 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:32:09,951 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 12:32:09,951 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=114, Invalid=437, Unknown=1, NotChecked=0, Total=552 [2022-04-08 12:32:09,951 INFO L87 Difference]: Start difference. First operand 260 states and 350 transitions. Second operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 7 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-08 12:32:15,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:32:15,738 INFO L93 Difference]: Finished difference Result 268 states and 357 transitions. [2022-04-08 12:32:15,738 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 12:32:15,738 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 7 states have call predecessors, (22), 8 states have call successors, (22) Word has length 129 [2022-04-08 12:32:15,739 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:32:15,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 7 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-08 12:32:15,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 113 transitions. [2022-04-08 12:32:15,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 7 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-08 12:32:15,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 113 transitions. [2022-04-08 12:32:15,743 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 113 transitions. [2022-04-08 12:32:15,897 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:32:15,901 INFO L225 Difference]: With dead ends: 268 [2022-04-08 12:32:15,901 INFO L226 Difference]: Without dead ends: 266 [2022-04-08 12:32:15,902 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 141 SyntacticMatches, 5 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 179 ImplicationChecksByTransitivity, 5.4s TimeCoverageRelationStatistics Valid=159, Invalid=652, Unknown=1, NotChecked=0, Total=812 [2022-04-08 12:32:15,902 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 39 mSDsluCounter, 150 mSDsCounter, 0 mSdLazyCounter, 671 mSolverCounterSat, 66 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 193 SdHoareTripleChecker+Invalid, 737 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 66 IncrementalHoareTripleChecker+Valid, 671 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.8s IncrementalHoareTripleChecker+Time [2022-04-08 12:32:15,902 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [49 Valid, 193 Invalid, 737 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [66 Valid, 671 Invalid, 0 Unknown, 0 Unchecked, 2.8s Time] [2022-04-08 12:32:15,902 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 266 states. [2022-04-08 12:32:16,355 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 266 to 264. [2022-04-08 12:32:16,355 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:32:16,355 INFO L82 GeneralOperation]: Start isEquivalent. First operand 266 states. Second operand has 264 states, 142 states have (on average 1.1338028169014085) internal successors, (161), 143 states have internal predecessors, (161), 97 states have call successors, (97), 25 states have call predecessors, (97), 24 states have return successors, (95), 95 states have call predecessors, (95), 95 states have call successors, (95) [2022-04-08 12:32:16,356 INFO L74 IsIncluded]: Start isIncluded. First operand 266 states. Second operand has 264 states, 142 states have (on average 1.1338028169014085) internal successors, (161), 143 states have internal predecessors, (161), 97 states have call successors, (97), 25 states have call predecessors, (97), 24 states have return successors, (95), 95 states have call predecessors, (95), 95 states have call successors, (95) [2022-04-08 12:32:16,356 INFO L87 Difference]: Start difference. First operand 266 states. Second operand has 264 states, 142 states have (on average 1.1338028169014085) internal successors, (161), 143 states have internal predecessors, (161), 97 states have call successors, (97), 25 states have call predecessors, (97), 24 states have return successors, (95), 95 states have call predecessors, (95), 95 states have call successors, (95) [2022-04-08 12:32:16,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:32:16,361 INFO L93 Difference]: Finished difference Result 266 states and 355 transitions. [2022-04-08 12:32:16,361 INFO L276 IsEmpty]: Start isEmpty. Operand 266 states and 355 transitions. [2022-04-08 12:32:16,362 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:32:16,362 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:32:16,362 INFO L74 IsIncluded]: Start isIncluded. First operand has 264 states, 142 states have (on average 1.1338028169014085) internal successors, (161), 143 states have internal predecessors, (161), 97 states have call successors, (97), 25 states have call predecessors, (97), 24 states have return successors, (95), 95 states have call predecessors, (95), 95 states have call successors, (95) Second operand 266 states. [2022-04-08 12:32:16,362 INFO L87 Difference]: Start difference. First operand has 264 states, 142 states have (on average 1.1338028169014085) internal successors, (161), 143 states have internal predecessors, (161), 97 states have call successors, (97), 25 states have call predecessors, (97), 24 states have return successors, (95), 95 states have call predecessors, (95), 95 states have call successors, (95) Second operand 266 states. [2022-04-08 12:32:16,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:32:16,367 INFO L93 Difference]: Finished difference Result 266 states and 355 transitions. [2022-04-08 12:32:16,367 INFO L276 IsEmpty]: Start isEmpty. Operand 266 states and 355 transitions. [2022-04-08 12:32:16,368 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:32:16,368 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:32:16,368 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:32:16,368 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:32:16,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 264 states, 142 states have (on average 1.1338028169014085) internal successors, (161), 143 states have internal predecessors, (161), 97 states have call successors, (97), 25 states have call predecessors, (97), 24 states have return successors, (95), 95 states have call predecessors, (95), 95 states have call successors, (95) [2022-04-08 12:32:16,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 264 states to 264 states and 353 transitions. [2022-04-08 12:32:16,375 INFO L78 Accepts]: Start accepts. Automaton has 264 states and 353 transitions. Word has length 129 [2022-04-08 12:32:16,375 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:32:16,375 INFO L478 AbstractCegarLoop]: Abstraction has 264 states and 353 transitions. [2022-04-08 12:32:16,375 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 7 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-08 12:32:16,375 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 264 states and 353 transitions. [2022-04-08 12:32:17,147 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 353 edges. 353 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:32:17,147 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 353 transitions. [2022-04-08 12:32:17,148 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 133 [2022-04-08 12:32:17,148 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:32:17,148 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:32:17,164 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 12:32:17,348 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:32:17,348 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:32:17,349 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:32:17,349 INFO L85 PathProgramCache]: Analyzing trace with hash -1899875875, now seen corresponding path program 9 times [2022-04-08 12:32:17,349 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:32:17,349 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1018384030] [2022-04-08 12:32:17,349 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:32:17,349 INFO L85 PathProgramCache]: Analyzing trace with hash -1899875875, now seen corresponding path program 10 times [2022-04-08 12:32:17,349 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:32:17,349 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [945506799] [2022-04-08 12:32:17,349 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:32:17,349 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:32:17,359 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:32:17,359 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1867891410] [2022-04-08 12:32:17,359 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:32:17,359 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:32:17,360 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:32:17,360 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 12:32:17,367 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 12:32:17,438 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:32:17,438 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:32:17,439 INFO L263 TraceCheckSpWp]: Trace formula consists of 275 conjuncts, 79 conjunts are in the unsatisfiable core [2022-04-08 12:32:17,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:32:17,464 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:32:19,228 INFO L272 TraceCheckUtils]: 0: Hoare triple {22663#true} call ULTIMATE.init(); {22663#true} is VALID [2022-04-08 12:32:19,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {22663#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {22663#true} is VALID [2022-04-08 12:32:19,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:32:19,228 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22663#true} {22663#true} #103#return; {22663#true} is VALID [2022-04-08 12:32:19,228 INFO L272 TraceCheckUtils]: 4: Hoare triple {22663#true} call #t~ret6 := main(); {22663#true} is VALID [2022-04-08 12:32:19,228 INFO L290 TraceCheckUtils]: 5: Hoare triple {22663#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {22663#true} is VALID [2022-04-08 12:32:19,228 INFO L272 TraceCheckUtils]: 6: Hoare triple {22663#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,228 INFO L290 TraceCheckUtils]: 7: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:32:19,229 INFO L290 TraceCheckUtils]: 8: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:32:19,229 INFO L290 TraceCheckUtils]: 9: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:32:19,229 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22663#true} {22663#true} #79#return; {22663#true} is VALID [2022-04-08 12:32:19,229 INFO L290 TraceCheckUtils]: 11: Hoare triple {22663#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22663#true} is VALID [2022-04-08 12:32:19,229 INFO L272 TraceCheckUtils]: 12: Hoare triple {22663#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,229 INFO L290 TraceCheckUtils]: 13: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:32:19,229 INFO L290 TraceCheckUtils]: 14: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:32:19,229 INFO L290 TraceCheckUtils]: 15: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:32:19,229 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {22663#true} {22663#true} #81#return; {22663#true} is VALID [2022-04-08 12:32:19,229 INFO L272 TraceCheckUtils]: 17: Hoare triple {22663#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,229 INFO L290 TraceCheckUtils]: 18: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:32:19,229 INFO L290 TraceCheckUtils]: 19: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:32:19,229 INFO L290 TraceCheckUtils]: 20: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:32:19,229 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {22663#true} {22663#true} #83#return; {22663#true} is VALID [2022-04-08 12:32:19,229 INFO L272 TraceCheckUtils]: 22: Hoare triple {22663#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,229 INFO L290 TraceCheckUtils]: 23: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:32:19,229 INFO L290 TraceCheckUtils]: 24: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:32:19,229 INFO L290 TraceCheckUtils]: 25: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:32:19,230 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22663#true} {22663#true} #85#return; {22663#true} is VALID [2022-04-08 12:32:19,230 INFO L290 TraceCheckUtils]: 27: Hoare triple {22663#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {22749#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:32:19,230 INFO L272 TraceCheckUtils]: 28: Hoare triple {22749#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,230 INFO L290 TraceCheckUtils]: 29: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:32:19,230 INFO L290 TraceCheckUtils]: 30: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:32:19,230 INFO L290 TraceCheckUtils]: 31: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:32:19,231 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {22663#true} {22749#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {22749#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:32:19,231 INFO L272 TraceCheckUtils]: 33: Hoare triple {22749#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,231 INFO L290 TraceCheckUtils]: 34: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:32:19,231 INFO L290 TraceCheckUtils]: 35: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:32:19,231 INFO L290 TraceCheckUtils]: 36: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:32:19,231 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {22663#true} {22749#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {22749#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:32:19,232 INFO L290 TraceCheckUtils]: 38: Hoare triple {22749#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {22749#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:32:19,232 INFO L290 TraceCheckUtils]: 39: Hoare triple {22749#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22786#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:32:19,232 INFO L290 TraceCheckUtils]: 40: Hoare triple {22786#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {22786#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:32:19,232 INFO L272 TraceCheckUtils]: 41: Hoare triple {22786#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,232 INFO L290 TraceCheckUtils]: 42: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:32:19,232 INFO L290 TraceCheckUtils]: 43: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:32:19,232 INFO L290 TraceCheckUtils]: 44: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:32:19,233 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {22663#true} {22786#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #91#return; {22786#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:32:19,233 INFO L272 TraceCheckUtils]: 46: Hoare triple {22786#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,233 INFO L290 TraceCheckUtils]: 47: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:32:19,233 INFO L290 TraceCheckUtils]: 48: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:32:19,233 INFO L290 TraceCheckUtils]: 49: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:32:19,234 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {22663#true} {22786#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #93#return; {22786#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:32:19,234 INFO L272 TraceCheckUtils]: 51: Hoare triple {22786#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,234 INFO L290 TraceCheckUtils]: 52: Hoare triple {22663#true} ~cond := #in~cond; {22826#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:32:19,234 INFO L290 TraceCheckUtils]: 53: Hoare triple {22826#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:32:19,234 INFO L290 TraceCheckUtils]: 54: Hoare triple {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:32:19,235 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} {22786#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #95#return; {22786#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:32:19,235 INFO L272 TraceCheckUtils]: 56: Hoare triple {22786#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,235 INFO L290 TraceCheckUtils]: 57: Hoare triple {22663#true} ~cond := #in~cond; {22826#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:32:19,235 INFO L290 TraceCheckUtils]: 58: Hoare triple {22826#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:32:19,239 INFO L290 TraceCheckUtils]: 59: Hoare triple {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:32:19,240 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} {22786#(and (= main_~r~0 0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #97#return; {22852#(and (= main_~r~0 0) (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:32:19,241 INFO L290 TraceCheckUtils]: 61: Hoare triple {22852#(and (= main_~r~0 0) (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {22856#(and (= main_~r~0 0) (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:32:19,241 INFO L290 TraceCheckUtils]: 62: Hoare triple {22856#(and (= main_~r~0 0) (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22860#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:32:19,242 INFO L290 TraceCheckUtils]: 63: Hoare triple {22860#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {22860#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:32:19,242 INFO L290 TraceCheckUtils]: 64: Hoare triple {22860#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22867#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:32:19,242 INFO L290 TraceCheckUtils]: 65: Hoare triple {22867#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {22867#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:32:19,243 INFO L272 TraceCheckUtils]: 66: Hoare triple {22867#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,243 INFO L290 TraceCheckUtils]: 67: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:32:19,243 INFO L290 TraceCheckUtils]: 68: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:32:19,243 INFO L290 TraceCheckUtils]: 69: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:32:19,243 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {22663#true} {22867#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #91#return; {22867#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:32:19,243 INFO L272 TraceCheckUtils]: 71: Hoare triple {22867#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,243 INFO L290 TraceCheckUtils]: 72: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:32:19,243 INFO L290 TraceCheckUtils]: 73: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:32:19,243 INFO L290 TraceCheckUtils]: 74: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:32:19,244 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {22663#true} {22867#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #93#return; {22867#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:32:19,244 INFO L272 TraceCheckUtils]: 76: Hoare triple {22867#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,244 INFO L290 TraceCheckUtils]: 77: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:32:19,244 INFO L290 TraceCheckUtils]: 78: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:32:19,244 INFO L290 TraceCheckUtils]: 79: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:32:19,244 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {22663#true} {22867#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #95#return; {22867#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:32:19,245 INFO L272 TraceCheckUtils]: 81: Hoare triple {22867#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,245 INFO L290 TraceCheckUtils]: 82: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:32:19,245 INFO L290 TraceCheckUtils]: 83: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:32:19,245 INFO L290 TraceCheckUtils]: 84: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:32:19,245 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {22663#true} {22867#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #97#return; {22867#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:32:19,247 INFO L290 TraceCheckUtils]: 86: Hoare triple {22867#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {22934#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:32:19,247 INFO L290 TraceCheckUtils]: 87: Hoare triple {22934#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {22934#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:32:19,247 INFO L272 TraceCheckUtils]: 88: Hoare triple {22934#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,248 INFO L290 TraceCheckUtils]: 89: Hoare triple {22663#true} ~cond := #in~cond; {22826#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:32:19,248 INFO L290 TraceCheckUtils]: 90: Hoare triple {22826#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:32:19,248 INFO L290 TraceCheckUtils]: 91: Hoare triple {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:32:19,248 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} {22934#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #91#return; {22934#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:32:19,248 INFO L272 TraceCheckUtils]: 93: Hoare triple {22934#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,249 INFO L290 TraceCheckUtils]: 94: Hoare triple {22663#true} ~cond := #in~cond; {22826#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:32:19,249 INFO L290 TraceCheckUtils]: 95: Hoare triple {22826#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:32:19,249 INFO L290 TraceCheckUtils]: 96: Hoare triple {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:32:19,253 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} {22934#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #93#return; {22968#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= (+ (* main_~b~0 main_~y~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0) (* main_~c~0 main_~y~0)) (+ main_~c~0 main_~b~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-08 12:32:19,253 INFO L272 TraceCheckUtils]: 98: Hoare triple {22968#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= (+ (* main_~b~0 main_~y~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0) (* main_~c~0 main_~y~0)) (+ main_~c~0 main_~b~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,253 INFO L290 TraceCheckUtils]: 99: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:32:19,253 INFO L290 TraceCheckUtils]: 100: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:32:19,253 INFO L290 TraceCheckUtils]: 101: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:32:19,254 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {22663#true} {22968#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= (+ (* main_~b~0 main_~y~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0) (* main_~c~0 main_~y~0)) (+ main_~c~0 main_~b~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} #95#return; {22968#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= (+ (* main_~b~0 main_~y~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0) (* main_~c~0 main_~y~0)) (+ main_~c~0 main_~b~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-08 12:32:19,254 INFO L272 TraceCheckUtils]: 103: Hoare triple {22968#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= (+ (* main_~b~0 main_~y~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0) (* main_~c~0 main_~y~0)) (+ main_~c~0 main_~b~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,254 INFO L290 TraceCheckUtils]: 104: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:32:19,254 INFO L290 TraceCheckUtils]: 105: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:32:19,254 INFO L290 TraceCheckUtils]: 106: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:32:19,255 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {22663#true} {22968#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= (+ (* main_~b~0 main_~y~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0) (* main_~c~0 main_~y~0)) (+ main_~c~0 main_~b~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} #97#return; {22968#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= (+ (* main_~b~0 main_~y~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0) (* main_~c~0 main_~y~0)) (+ main_~c~0 main_~b~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-08 12:32:19,256 INFO L290 TraceCheckUtils]: 108: Hoare triple {22968#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= (+ (* main_~b~0 main_~y~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0) (* main_~c~0 main_~y~0)) (+ main_~c~0 main_~b~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0))) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !(~c~0 >= ~b~0); {23002#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (< 0 main_~c~0) (= main_~s~0 0) (not (<= main_~x~0 main_~c~0)) (= (+ main_~c~0 main_~x~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0) (* main_~y~0 main_~x~0) (* main_~c~0 main_~y~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:32:19,257 INFO L290 TraceCheckUtils]: 109: Hoare triple {23002#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (< 0 main_~c~0) (= main_~s~0 0) (not (<= main_~x~0 main_~c~0)) (= (+ main_~c~0 main_~x~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0) (* main_~y~0 main_~x~0) (* main_~c~0 main_~y~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {23006#(and (= (+ (* main_~y~0 (+ main_~y~0 (* (- 1) main_~x~0))) main_~y~0 (* main_~y~0 main_~x~0)) (+ main_~y~0 main_~yy~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= (* (- 1) main_~q~0) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:32:19,258 INFO L290 TraceCheckUtils]: 110: Hoare triple {23006#(and (= (+ (* main_~y~0 (+ main_~y~0 (* (- 1) main_~x~0))) main_~y~0 (* main_~y~0 main_~x~0)) (+ main_~y~0 main_~yy~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= (* (- 1) main_~q~0) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {23006#(and (= (+ (* main_~y~0 (+ main_~y~0 (* (- 1) main_~x~0))) main_~y~0 (* main_~y~0 main_~x~0)) (+ main_~y~0 main_~yy~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= (* (- 1) main_~q~0) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:32:19,258 INFO L290 TraceCheckUtils]: 111: Hoare triple {23006#(and (= (+ (* main_~y~0 (+ main_~y~0 (* (- 1) main_~x~0))) main_~y~0 (* main_~y~0 main_~x~0)) (+ main_~y~0 main_~yy~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= (* (- 1) main_~q~0) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {23006#(and (= (+ (* main_~y~0 (+ main_~y~0 (* (- 1) main_~x~0))) main_~y~0 (* main_~y~0 main_~x~0)) (+ main_~y~0 main_~yy~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= (* (- 1) main_~q~0) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:32:19,258 INFO L290 TraceCheckUtils]: 112: Hoare triple {23006#(and (= (+ (* main_~y~0 (+ main_~y~0 (* (- 1) main_~x~0))) main_~y~0 (* main_~y~0 main_~x~0)) (+ main_~y~0 main_~yy~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= (* (- 1) main_~q~0) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {23006#(and (= (+ (* main_~y~0 (+ main_~y~0 (* (- 1) main_~x~0))) main_~y~0 (* main_~y~0 main_~x~0)) (+ main_~y~0 main_~yy~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= (* (- 1) main_~q~0) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:32:19,259 INFO L272 TraceCheckUtils]: 113: Hoare triple {23006#(and (= (+ (* main_~y~0 (+ main_~y~0 (* (- 1) main_~x~0))) main_~y~0 (* main_~y~0 main_~x~0)) (+ main_~y~0 main_~yy~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= (* (- 1) main_~q~0) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,259 INFO L290 TraceCheckUtils]: 114: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:32:19,259 INFO L290 TraceCheckUtils]: 115: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:32:19,259 INFO L290 TraceCheckUtils]: 116: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:32:19,259 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {22663#true} {23006#(and (= (+ (* main_~y~0 (+ main_~y~0 (* (- 1) main_~x~0))) main_~y~0 (* main_~y~0 main_~x~0)) (+ main_~y~0 main_~yy~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= (* (- 1) main_~q~0) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #91#return; {23006#(and (= (+ (* main_~y~0 (+ main_~y~0 (* (- 1) main_~x~0))) main_~y~0 (* main_~y~0 main_~x~0)) (+ main_~y~0 main_~yy~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= (* (- 1) main_~q~0) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:32:19,259 INFO L272 TraceCheckUtils]: 118: Hoare triple {23006#(and (= (+ (* main_~y~0 (+ main_~y~0 (* (- 1) main_~x~0))) main_~y~0 (* main_~y~0 main_~x~0)) (+ main_~y~0 main_~yy~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= (* (- 1) main_~q~0) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,259 INFO L290 TraceCheckUtils]: 119: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:32:19,259 INFO L290 TraceCheckUtils]: 120: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:32:19,259 INFO L290 TraceCheckUtils]: 121: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:32:19,260 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {22663#true} {23006#(and (= (+ (* main_~y~0 (+ main_~y~0 (* (- 1) main_~x~0))) main_~y~0 (* main_~y~0 main_~x~0)) (+ main_~y~0 main_~yy~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= (* (- 1) main_~q~0) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #93#return; {23006#(and (= (+ (* main_~y~0 (+ main_~y~0 (* (- 1) main_~x~0))) main_~y~0 (* main_~y~0 main_~x~0)) (+ main_~y~0 main_~yy~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= (* (- 1) main_~q~0) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:32:19,260 INFO L272 TraceCheckUtils]: 123: Hoare triple {23006#(and (= (+ (* main_~y~0 (+ main_~y~0 (* (- 1) main_~x~0))) main_~y~0 (* main_~y~0 main_~x~0)) (+ main_~y~0 main_~yy~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= (* (- 1) main_~q~0) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:32:19,260 INFO L290 TraceCheckUtils]: 124: Hoare triple {22663#true} ~cond := #in~cond; {22826#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:32:19,260 INFO L290 TraceCheckUtils]: 125: Hoare triple {22826#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:32:19,260 INFO L290 TraceCheckUtils]: 126: Hoare triple {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:32:19,261 INFO L284 TraceCheckUtils]: 127: Hoare quadruple {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} {23006#(and (= (+ (* main_~y~0 (+ main_~y~0 (* (- 1) main_~x~0))) main_~y~0 (* main_~y~0 main_~x~0)) (+ main_~y~0 main_~yy~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= (* (- 1) main_~q~0) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #95#return; {23006#(and (= (+ (* main_~y~0 (+ main_~y~0 (* (- 1) main_~x~0))) main_~y~0 (* main_~y~0 main_~x~0)) (+ main_~y~0 main_~yy~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= (* (- 1) main_~q~0) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:32:19,264 INFO L272 TraceCheckUtils]: 128: Hoare triple {23006#(and (= (+ (* main_~y~0 (+ main_~y~0 (* (- 1) main_~x~0))) main_~y~0 (* main_~y~0 main_~x~0)) (+ main_~y~0 main_~yy~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= (* (- 1) main_~q~0) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {23064#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:32:19,264 INFO L290 TraceCheckUtils]: 129: Hoare triple {23064#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23068#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:32:19,264 INFO L290 TraceCheckUtils]: 130: Hoare triple {23068#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22664#false} is VALID [2022-04-08 12:32:19,264 INFO L290 TraceCheckUtils]: 131: Hoare triple {22664#false} assume !false; {22664#false} is VALID [2022-04-08 12:32:19,265 INFO L134 CoverageAnalysis]: Checked inductivity of 550 backedges. 103 proven. 117 refuted. 0 times theorem prover too weak. 330 trivial. 0 not checked. [2022-04-08 12:32:19,265 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:34:14,295 INFO L290 TraceCheckUtils]: 131: Hoare triple {22664#false} assume !false; {22664#false} is VALID [2022-04-08 12:34:14,296 INFO L290 TraceCheckUtils]: 130: Hoare triple {23068#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22664#false} is VALID [2022-04-08 12:34:14,296 INFO L290 TraceCheckUtils]: 129: Hoare triple {23064#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23068#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:34:14,297 INFO L272 TraceCheckUtils]: 128: Hoare triple {23084#(= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {23064#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:34:14,298 INFO L284 TraceCheckUtils]: 127: Hoare quadruple {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} {23088#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #95#return; {23084#(= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))} is VALID [2022-04-08 12:34:14,298 INFO L290 TraceCheckUtils]: 126: Hoare triple {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:34:14,298 INFO L290 TraceCheckUtils]: 125: Hoare triple {23098#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:34:14,299 INFO L290 TraceCheckUtils]: 124: Hoare triple {22663#true} ~cond := #in~cond; {23098#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:34:14,299 INFO L272 TraceCheckUtils]: 123: Hoare triple {23088#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~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)); {22663#true} is VALID [2022-04-08 12:34:14,299 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {22663#true} {23088#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #93#return; {23088#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:34:14,300 INFO L290 TraceCheckUtils]: 121: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:34:14,300 INFO L290 TraceCheckUtils]: 120: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:34:14,300 INFO L290 TraceCheckUtils]: 119: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:34:14,300 INFO L272 TraceCheckUtils]: 118: Hoare triple {23088#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~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)); {22663#true} is VALID [2022-04-08 12:34:14,300 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {22663#true} {23088#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #91#return; {23088#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:34:14,300 INFO L290 TraceCheckUtils]: 116: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:34:14,301 INFO L290 TraceCheckUtils]: 115: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:34:14,301 INFO L290 TraceCheckUtils]: 114: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:34:14,301 INFO L272 TraceCheckUtils]: 113: Hoare triple {23088#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:34:14,301 INFO L290 TraceCheckUtils]: 112: Hoare triple {23088#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {23088#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:34:14,301 INFO L290 TraceCheckUtils]: 111: Hoare triple {23088#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {23088#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:34:14,302 INFO L290 TraceCheckUtils]: 110: Hoare triple {23088#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {23088#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:34:16,303 WARN L290 TraceCheckUtils]: 109: Hoare triple {23144#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {23088#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is UNKNOWN [2022-04-08 12:34:16,304 INFO L290 TraceCheckUtils]: 108: Hoare triple {23148#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} assume !(~c~0 >= ~b~0); {23144#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-08 12:34:16,305 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {22663#true} {23148#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} #97#return; {23148#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-08 12:34:16,305 INFO L290 TraceCheckUtils]: 106: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:34:16,305 INFO L290 TraceCheckUtils]: 105: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:34:16,305 INFO L290 TraceCheckUtils]: 104: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:34:16,305 INFO L272 TraceCheckUtils]: 103: Hoare triple {23148#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:34:16,306 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {22663#true} {23148#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} #95#return; {23148#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-08 12:34:16,306 INFO L290 TraceCheckUtils]: 101: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:34:16,306 INFO L290 TraceCheckUtils]: 100: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:34:16,306 INFO L290 TraceCheckUtils]: 99: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:34:16,306 INFO L272 TraceCheckUtils]: 98: Hoare triple {23148#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:34:16,307 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} {23182#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} #93#return; {23148#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-08 12:34:16,307 INFO L290 TraceCheckUtils]: 96: Hoare triple {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:34:16,308 INFO L290 TraceCheckUtils]: 95: Hoare triple {23098#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:34:16,308 INFO L290 TraceCheckUtils]: 94: Hoare triple {22663#true} ~cond := #in~cond; {23098#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:34:16,308 INFO L272 TraceCheckUtils]: 93: Hoare triple {23182#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:34:16,309 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} {23198#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} #91#return; {23182#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-08 12:34:16,309 INFO L290 TraceCheckUtils]: 91: Hoare triple {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:34:16,310 INFO L290 TraceCheckUtils]: 90: Hoare triple {23098#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:34:16,310 INFO L290 TraceCheckUtils]: 89: Hoare triple {22663#true} ~cond := #in~cond; {23098#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:34:16,310 INFO L272 TraceCheckUtils]: 88: Hoare triple {23198#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:34:16,311 INFO L290 TraceCheckUtils]: 87: Hoare triple {23198#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} assume !false; {23198#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-08 12:34:16,394 INFO L290 TraceCheckUtils]: 86: Hoare triple {23217#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= (+ (* main_~b~0 main_~k~0) (* main_~b~0 2)) main_~a~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {23198#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-08 12:34:16,395 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {22663#true} {23217#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= (+ (* main_~b~0 main_~k~0) (* main_~b~0 2)) main_~a~0))} #97#return; {23217#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= (+ (* main_~b~0 main_~k~0) (* main_~b~0 2)) main_~a~0))} is VALID [2022-04-08 12:34:16,396 INFO L290 TraceCheckUtils]: 84: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:34:16,396 INFO L290 TraceCheckUtils]: 83: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:34:16,396 INFO L290 TraceCheckUtils]: 82: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:34:16,396 INFO L272 TraceCheckUtils]: 81: Hoare triple {23217#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= (+ (* main_~b~0 main_~k~0) (* main_~b~0 2)) main_~a~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:34:16,396 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {22663#true} {23217#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= (+ (* main_~b~0 main_~k~0) (* main_~b~0 2)) main_~a~0))} #95#return; {23217#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= (+ (* main_~b~0 main_~k~0) (* main_~b~0 2)) main_~a~0))} is VALID [2022-04-08 12:34:16,397 INFO L290 TraceCheckUtils]: 79: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:34:16,397 INFO L290 TraceCheckUtils]: 78: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:34:16,397 INFO L290 TraceCheckUtils]: 77: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:34:16,397 INFO L272 TraceCheckUtils]: 76: Hoare triple {23217#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= (+ (* main_~b~0 main_~k~0) (* 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)); {22663#true} is VALID [2022-04-08 12:34:16,397 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {22663#true} {23217#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= (+ (* main_~b~0 main_~k~0) (* main_~b~0 2)) main_~a~0))} #93#return; {23217#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= (+ (* main_~b~0 main_~k~0) (* main_~b~0 2)) main_~a~0))} is VALID [2022-04-08 12:34:16,398 INFO L290 TraceCheckUtils]: 74: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:34:16,398 INFO L290 TraceCheckUtils]: 73: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:34:16,398 INFO L290 TraceCheckUtils]: 72: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:34:16,398 INFO L272 TraceCheckUtils]: 71: Hoare triple {23217#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= (+ (* main_~b~0 main_~k~0) (* 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)); {22663#true} is VALID [2022-04-08 12:34:16,398 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {22663#true} {23217#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= (+ (* main_~b~0 main_~k~0) (* main_~b~0 2)) main_~a~0))} #91#return; {23217#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= (+ (* main_~b~0 main_~k~0) (* main_~b~0 2)) main_~a~0))} is VALID [2022-04-08 12:34:16,399 INFO L290 TraceCheckUtils]: 69: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:34:16,399 INFO L290 TraceCheckUtils]: 68: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:34:16,399 INFO L290 TraceCheckUtils]: 67: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:34:16,399 INFO L272 TraceCheckUtils]: 66: Hoare triple {23217#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= (+ (* main_~b~0 main_~k~0) (* main_~b~0 2)) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:34:16,400 INFO L290 TraceCheckUtils]: 65: Hoare triple {23217#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= (+ (* main_~b~0 main_~k~0) (* main_~b~0 2)) main_~a~0))} assume !false; {23217#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= (+ (* main_~b~0 main_~k~0) (* main_~b~0 2)) main_~a~0))} is VALID [2022-04-08 12:34:16,400 INFO L290 TraceCheckUtils]: 64: Hoare triple {23284#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) main_~y~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)))))) (<= (* main_~b~0 2) main_~a~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {23217#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (<= (+ (* main_~b~0 main_~k~0) (* main_~b~0 2)) main_~a~0))} is VALID [2022-04-08 12:34:16,401 INFO L290 TraceCheckUtils]: 63: Hoare triple {23284#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) main_~y~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)))))) (<= (* main_~b~0 2) main_~a~0))} assume !false; {23284#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) main_~y~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)))))) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-08 12:34:18,405 WARN L290 TraceCheckUtils]: 62: Hoare triple {23291#(or (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* 2 (* main_~q~0 main_~k~0 main_~x~0)) (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (+ (* (- 1) main_~y~0 main_~s~0) (* (- 1) main_~k~0 main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~k~0 main_~x~0) (* main_~p~0 main_~x~0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {23284#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) main_~y~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)))))) (<= (* main_~b~0 2) main_~a~0))} is UNKNOWN [2022-04-08 12:34:18,407 INFO L290 TraceCheckUtils]: 61: Hoare triple {23295#(or (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* 2 (* main_~q~0 main_~k~0 main_~x~0)) (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (+ (* (- 1) main_~y~0 main_~s~0) (* (- 1) main_~k~0 main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~k~0 main_~x~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {23291#(or (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* 2 (* main_~q~0 main_~k~0 main_~x~0)) (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (+ (* (- 1) main_~y~0 main_~s~0) (* (- 1) main_~k~0 main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~k~0 main_~x~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 12:34:18,408 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} {23299#(or (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* 2 (* main_~q~0 main_~k~0 main_~x~0)) (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (+ (* (- 1) main_~y~0 main_~s~0) (* (- 1) main_~k~0 main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~k~0 main_~x~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0))} #97#return; {23295#(or (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* 2 (* main_~q~0 main_~k~0 main_~x~0)) (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (+ (* (- 1) main_~y~0 main_~s~0) (* (- 1) main_~k~0 main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~k~0 main_~x~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 12:34:18,409 INFO L290 TraceCheckUtils]: 59: Hoare triple {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:34:18,409 INFO L290 TraceCheckUtils]: 58: Hoare triple {23098#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22830#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:34:18,409 INFO L290 TraceCheckUtils]: 57: Hoare triple {22663#true} ~cond := #in~cond; {23098#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:34:18,409 INFO L272 TraceCheckUtils]: 56: Hoare triple {23299#(or (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* 2 (* main_~q~0 main_~k~0 main_~x~0)) (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (+ (* (- 1) main_~y~0 main_~s~0) (* (- 1) main_~k~0 main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~k~0 main_~x~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:34:18,410 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {22663#true} {23299#(or (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* 2 (* main_~q~0 main_~k~0 main_~x~0)) (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (+ (* (- 1) main_~y~0 main_~s~0) (* (- 1) main_~k~0 main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~k~0 main_~x~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0))} #95#return; {23299#(or (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* 2 (* main_~q~0 main_~k~0 main_~x~0)) (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (+ (* (- 1) main_~y~0 main_~s~0) (* (- 1) main_~k~0 main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~k~0 main_~x~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 12:34:18,410 INFO L290 TraceCheckUtils]: 54: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:34:18,410 INFO L290 TraceCheckUtils]: 53: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:34:18,410 INFO L290 TraceCheckUtils]: 52: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:34:18,410 INFO L272 TraceCheckUtils]: 51: Hoare triple {23299#(or (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* 2 (* main_~q~0 main_~k~0 main_~x~0)) (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (+ (* (- 1) main_~y~0 main_~s~0) (* (- 1) main_~k~0 main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~k~0 main_~x~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:34:18,411 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {22663#true} {23299#(or (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* 2 (* main_~q~0 main_~k~0 main_~x~0)) (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (+ (* (- 1) main_~y~0 main_~s~0) (* (- 1) main_~k~0 main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~k~0 main_~x~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0))} #93#return; {23299#(or (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* 2 (* main_~q~0 main_~k~0 main_~x~0)) (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (+ (* (- 1) main_~y~0 main_~s~0) (* (- 1) main_~k~0 main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~k~0 main_~x~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 12:34:18,411 INFO L290 TraceCheckUtils]: 49: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:34:18,411 INFO L290 TraceCheckUtils]: 48: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:34:18,411 INFO L290 TraceCheckUtils]: 47: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:34:18,411 INFO L272 TraceCheckUtils]: 46: Hoare triple {23299#(or (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* 2 (* main_~q~0 main_~k~0 main_~x~0)) (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (+ (* (- 1) main_~y~0 main_~s~0) (* (- 1) main_~k~0 main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~k~0 main_~x~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:34:18,412 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {22663#true} {23299#(or (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* 2 (* main_~q~0 main_~k~0 main_~x~0)) (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (+ (* (- 1) main_~y~0 main_~s~0) (* (- 1) main_~k~0 main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~k~0 main_~x~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0))} #91#return; {23299#(or (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* 2 (* main_~q~0 main_~k~0 main_~x~0)) (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (+ (* (- 1) main_~y~0 main_~s~0) (* (- 1) main_~k~0 main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~k~0 main_~x~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 12:34:18,412 INFO L290 TraceCheckUtils]: 44: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:34:18,412 INFO L290 TraceCheckUtils]: 43: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:34:18,412 INFO L290 TraceCheckUtils]: 42: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:34:18,412 INFO L272 TraceCheckUtils]: 41: Hoare triple {23299#(or (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* 2 (* main_~q~0 main_~k~0 main_~x~0)) (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (+ (* (- 1) main_~y~0 main_~s~0) (* (- 1) main_~k~0 main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~k~0 main_~x~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:34:18,413 INFO L290 TraceCheckUtils]: 40: Hoare triple {23299#(or (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* 2 (* main_~q~0 main_~k~0 main_~x~0)) (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (+ (* (- 1) main_~y~0 main_~s~0) (* (- 1) main_~k~0 main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~k~0 main_~x~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0))} assume !false; {23299#(or (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* 2 (* main_~q~0 main_~k~0 main_~x~0)) (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (+ (* (- 1) main_~y~0 main_~s~0) (* (- 1) main_~k~0 main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~k~0 main_~x~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 12:34:18,414 INFO L290 TraceCheckUtils]: 39: Hoare triple {23363#(or (<= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~x~0 0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~s~0 0)))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {23299#(or (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* 2 (* main_~q~0 main_~k~0 main_~x~0)) (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (+ (* (- 1) main_~y~0 main_~s~0) (* (- 1) main_~k~0 main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~k~0 main_~x~0) (* main_~p~0 main_~x~0)))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 12:34:18,415 INFO L290 TraceCheckUtils]: 38: Hoare triple {23363#(or (<= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~x~0 0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~s~0 0)))))} assume !false; {23363#(or (<= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~x~0 0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~s~0 0)))))} is VALID [2022-04-08 12:34:18,416 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {22663#true} {23363#(or (<= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~x~0 0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~s~0 0)))))} #89#return; {23363#(or (<= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~x~0 0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~s~0 0)))))} is VALID [2022-04-08 12:34:18,416 INFO L290 TraceCheckUtils]: 36: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:34:18,416 INFO L290 TraceCheckUtils]: 35: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:34:18,416 INFO L290 TraceCheckUtils]: 34: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:34:18,416 INFO L272 TraceCheckUtils]: 33: Hoare triple {23363#(or (<= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~x~0 0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~s~0 0)))))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:34:18,417 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {22663#true} {23363#(or (<= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~x~0 0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~s~0 0)))))} #87#return; {23363#(or (<= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~x~0 0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~s~0 0)))))} is VALID [2022-04-08 12:34:18,417 INFO L290 TraceCheckUtils]: 31: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:34:18,417 INFO L290 TraceCheckUtils]: 30: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:34:18,417 INFO L290 TraceCheckUtils]: 29: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:34:18,417 INFO L272 TraceCheckUtils]: 28: Hoare triple {23363#(or (<= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~x~0 0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~s~0 0)))))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:34:18,418 INFO L290 TraceCheckUtils]: 27: Hoare triple {22663#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {23363#(or (<= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (<= (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* (- 1) main_~q~0 main_~x~0 0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~s~0 0)))))} is VALID [2022-04-08 12:34:18,418 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22663#true} {22663#true} #85#return; {22663#true} is VALID [2022-04-08 12:34:18,418 INFO L290 TraceCheckUtils]: 25: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:34:18,419 INFO L290 TraceCheckUtils]: 24: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:34:18,419 INFO L290 TraceCheckUtils]: 23: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:34:18,419 INFO L272 TraceCheckUtils]: 22: Hoare triple {22663#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:34:18,419 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {22663#true} {22663#true} #83#return; {22663#true} is VALID [2022-04-08 12:34:18,419 INFO L290 TraceCheckUtils]: 20: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:34:18,419 INFO L290 TraceCheckUtils]: 19: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:34:18,419 INFO L290 TraceCheckUtils]: 18: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:34:18,419 INFO L272 TraceCheckUtils]: 17: Hoare triple {22663#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:34:18,419 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {22663#true} {22663#true} #81#return; {22663#true} is VALID [2022-04-08 12:34:18,419 INFO L290 TraceCheckUtils]: 15: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:34:18,419 INFO L290 TraceCheckUtils]: 14: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:34:18,419 INFO L290 TraceCheckUtils]: 13: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:34:18,419 INFO L272 TraceCheckUtils]: 12: Hoare triple {22663#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:34:18,419 INFO L290 TraceCheckUtils]: 11: Hoare triple {22663#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22663#true} is VALID [2022-04-08 12:34:18,419 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22663#true} {22663#true} #79#return; {22663#true} is VALID [2022-04-08 12:34:18,419 INFO L290 TraceCheckUtils]: 9: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:34:18,419 INFO L290 TraceCheckUtils]: 8: Hoare triple {22663#true} assume !(0 == ~cond); {22663#true} is VALID [2022-04-08 12:34:18,419 INFO L290 TraceCheckUtils]: 7: Hoare triple {22663#true} ~cond := #in~cond; {22663#true} is VALID [2022-04-08 12:34:18,420 INFO L272 TraceCheckUtils]: 6: Hoare triple {22663#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {22663#true} is VALID [2022-04-08 12:34:18,420 INFO L290 TraceCheckUtils]: 5: Hoare triple {22663#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {22663#true} is VALID [2022-04-08 12:34:18,420 INFO L272 TraceCheckUtils]: 4: Hoare triple {22663#true} call #t~ret6 := main(); {22663#true} is VALID [2022-04-08 12:34:18,420 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22663#true} {22663#true} #103#return; {22663#true} is VALID [2022-04-08 12:34:18,420 INFO L290 TraceCheckUtils]: 2: Hoare triple {22663#true} assume true; {22663#true} is VALID [2022-04-08 12:34:18,420 INFO L290 TraceCheckUtils]: 1: Hoare triple {22663#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {22663#true} is VALID [2022-04-08 12:34:18,420 INFO L272 TraceCheckUtils]: 0: Hoare triple {22663#true} call ULTIMATE.init(); {22663#true} is VALID [2022-04-08 12:34:18,421 INFO L134 CoverageAnalysis]: Checked inductivity of 550 backedges. 114 proven. 88 refuted. 0 times theorem prover too weak. 348 trivial. 0 not checked. [2022-04-08 12:34:18,421 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:34:18,421 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [945506799] [2022-04-08 12:34:18,421 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:34:18,421 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1867891410] [2022-04-08 12:34:18,421 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1867891410] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:34:18,421 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:34:18,421 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 18] total 29 [2022-04-08 12:34:18,421 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:34:18,421 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1018384030] [2022-04-08 12:34:18,421 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1018384030] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:34:18,421 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:34:18,421 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 12:34:18,421 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [197596111] [2022-04-08 12:34:18,422 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:34:18,422 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 7 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 7 states have call successors, (22) Word has length 132 [2022-04-08 12:34:18,422 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:34:18,422 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 7 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 7 states have call successors, (22) [2022-04-08 12:34:18,526 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:34:18,526 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 12:34:18,527 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:34:18,527 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 12:34:18,527 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=181, Invalid=631, Unknown=0, NotChecked=0, Total=812 [2022-04-08 12:34:18,527 INFO L87 Difference]: Start difference. First operand 264 states and 353 transitions. Second operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 7 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 7 states have call successors, (22) [2022-04-08 12:34:23,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:34:23,289 INFO L93 Difference]: Finished difference Result 281 states and 367 transitions. [2022-04-08 12:34:23,289 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 12:34:23,289 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 7 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 7 states have call successors, (22) Word has length 132 [2022-04-08 12:34:23,290 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:34:23,290 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 7 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 7 states have call successors, (22) [2022-04-08 12:34:23,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 125 transitions. [2022-04-08 12:34:23,291 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 7 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 7 states have call successors, (22) [2022-04-08 12:34:23,292 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 125 transitions. [2022-04-08 12:34:23,292 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 125 transitions. [2022-04-08 12:34:23,481 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:34:23,485 INFO L225 Difference]: With dead ends: 281 [2022-04-08 12:34:23,485 INFO L226 Difference]: Without dead ends: 279 [2022-04-08 12:34:23,486 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 269 GetRequests, 232 SyntacticMatches, 4 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 242 ImplicationChecksByTransitivity, 4.4s TimeCoverageRelationStatistics Valid=260, Invalid=930, Unknown=0, NotChecked=0, Total=1190 [2022-04-08 12:34:23,486 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 31 mSDsluCounter, 216 mSDsCounter, 0 mSdLazyCounter, 639 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 43 SdHoareTripleChecker+Valid, 266 SdHoareTripleChecker+Invalid, 692 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 639 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.9s IncrementalHoareTripleChecker+Time [2022-04-08 12:34:23,486 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [43 Valid, 266 Invalid, 692 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 639 Invalid, 0 Unknown, 0 Unchecked, 1.9s Time] [2022-04-08 12:34:23,487 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 279 states. [2022-04-08 12:34:24,067 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 279 to 243. [2022-04-08 12:34:24,067 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:34:24,068 INFO L82 GeneralOperation]: Start isEquivalent. First operand 279 states. Second operand has 243 states, 133 states have (on average 1.1278195488721805) internal successors, (150), 134 states have internal predecessors, (150), 85 states have call successors, (85), 25 states have call predecessors, (85), 24 states have return successors, (83), 83 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-08 12:34:24,068 INFO L74 IsIncluded]: Start isIncluded. First operand 279 states. Second operand has 243 states, 133 states have (on average 1.1278195488721805) internal successors, (150), 134 states have internal predecessors, (150), 85 states have call successors, (85), 25 states have call predecessors, (85), 24 states have return successors, (83), 83 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-08 12:34:24,068 INFO L87 Difference]: Start difference. First operand 279 states. Second operand has 243 states, 133 states have (on average 1.1278195488721805) internal successors, (150), 134 states have internal predecessors, (150), 85 states have call successors, (85), 25 states have call predecessors, (85), 24 states have return successors, (83), 83 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-08 12:34:24,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:34:24,073 INFO L93 Difference]: Finished difference Result 279 states and 365 transitions. [2022-04-08 12:34:24,073 INFO L276 IsEmpty]: Start isEmpty. Operand 279 states and 365 transitions. [2022-04-08 12:34:24,073 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:34:24,073 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:34:24,074 INFO L74 IsIncluded]: Start isIncluded. First operand has 243 states, 133 states have (on average 1.1278195488721805) internal successors, (150), 134 states have internal predecessors, (150), 85 states have call successors, (85), 25 states have call predecessors, (85), 24 states have return successors, (83), 83 states have call predecessors, (83), 83 states have call successors, (83) Second operand 279 states. [2022-04-08 12:34:24,074 INFO L87 Difference]: Start difference. First operand has 243 states, 133 states have (on average 1.1278195488721805) internal successors, (150), 134 states have internal predecessors, (150), 85 states have call successors, (85), 25 states have call predecessors, (85), 24 states have return successors, (83), 83 states have call predecessors, (83), 83 states have call successors, (83) Second operand 279 states. [2022-04-08 12:34:24,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:34:24,078 INFO L93 Difference]: Finished difference Result 279 states and 365 transitions. [2022-04-08 12:34:24,078 INFO L276 IsEmpty]: Start isEmpty. Operand 279 states and 365 transitions. [2022-04-08 12:34:24,079 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:34:24,079 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:34:24,079 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:34:24,079 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:34:24,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 243 states, 133 states have (on average 1.1278195488721805) internal successors, (150), 134 states have internal predecessors, (150), 85 states have call successors, (85), 25 states have call predecessors, (85), 24 states have return successors, (83), 83 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-08 12:34:24,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 243 states to 243 states and 318 transitions. [2022-04-08 12:34:24,084 INFO L78 Accepts]: Start accepts. Automaton has 243 states and 318 transitions. Word has length 132 [2022-04-08 12:34:24,084 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:34:24,084 INFO L478 AbstractCegarLoop]: Abstraction has 243 states and 318 transitions. [2022-04-08 12:34:24,084 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 7 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 7 states have call successors, (22) [2022-04-08 12:34:24,084 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 243 states and 318 transitions. [2022-04-08 12:34:24,808 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 318 edges. 318 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:34:24,808 INFO L276 IsEmpty]: Start isEmpty. Operand 243 states and 318 transitions. [2022-04-08 12:34:24,809 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2022-04-08 12:34:24,809 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:34:24,809 INFO L499 BasicCegarLoop]: trace histogram [17, 16, 16, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:34:24,829 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 12:34:25,029 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:34:25,030 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:34:25,030 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:34:25,030 INFO L85 PathProgramCache]: Analyzing trace with hash 1068997356, now seen corresponding path program 7 times [2022-04-08 12:34:25,030 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:34:25,030 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [550930840] [2022-04-08 12:34:25,030 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:34:25,031 INFO L85 PathProgramCache]: Analyzing trace with hash 1068997356, now seen corresponding path program 8 times [2022-04-08 12:34:25,031 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:34:25,031 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [25447368] [2022-04-08 12:34:25,031 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:34:25,031 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:34:25,054 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:34:25,055 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [784928521] [2022-04-08 12:34:25,055 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:34:25,055 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:34:25,055 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:34:25,055 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 12:34:25,056 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 12:34:25,144 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:34:25,144 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:34:25,145 INFO L263 TraceCheckSpWp]: Trace formula consists of 317 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-08 12:34:25,162 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:34:25,164 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:34:26,385 INFO L272 TraceCheckUtils]: 0: Hoare triple {25101#true} call ULTIMATE.init(); {25101#true} is VALID [2022-04-08 12:34:26,386 INFO L290 TraceCheckUtils]: 1: Hoare triple {25101#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {25101#true} is VALID [2022-04-08 12:34:26,386 INFO L290 TraceCheckUtils]: 2: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,386 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25101#true} {25101#true} #103#return; {25101#true} is VALID [2022-04-08 12:34:26,386 INFO L272 TraceCheckUtils]: 4: Hoare triple {25101#true} call #t~ret6 := main(); {25101#true} is VALID [2022-04-08 12:34:26,386 INFO L290 TraceCheckUtils]: 5: Hoare triple {25101#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {25101#true} is VALID [2022-04-08 12:34:26,386 INFO L272 TraceCheckUtils]: 6: Hoare triple {25101#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {25101#true} is VALID [2022-04-08 12:34:26,386 INFO L290 TraceCheckUtils]: 7: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,386 INFO L290 TraceCheckUtils]: 8: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,386 INFO L290 TraceCheckUtils]: 9: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,386 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25101#true} {25101#true} #79#return; {25101#true} is VALID [2022-04-08 12:34:26,386 INFO L290 TraceCheckUtils]: 11: Hoare triple {25101#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25101#true} is VALID [2022-04-08 12:34:26,386 INFO L272 TraceCheckUtils]: 12: Hoare triple {25101#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {25101#true} is VALID [2022-04-08 12:34:26,386 INFO L290 TraceCheckUtils]: 13: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,386 INFO L290 TraceCheckUtils]: 14: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,386 INFO L290 TraceCheckUtils]: 15: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,387 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {25101#true} {25101#true} #81#return; {25101#true} is VALID [2022-04-08 12:34:26,387 INFO L272 TraceCheckUtils]: 17: Hoare triple {25101#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25101#true} is VALID [2022-04-08 12:34:26,387 INFO L290 TraceCheckUtils]: 18: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,387 INFO L290 TraceCheckUtils]: 19: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,387 INFO L290 TraceCheckUtils]: 20: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,387 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {25101#true} {25101#true} #83#return; {25101#true} is VALID [2022-04-08 12:34:26,387 INFO L272 TraceCheckUtils]: 22: Hoare triple {25101#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25101#true} is VALID [2022-04-08 12:34:26,387 INFO L290 TraceCheckUtils]: 23: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,387 INFO L290 TraceCheckUtils]: 24: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,387 INFO L290 TraceCheckUtils]: 25: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,387 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {25101#true} {25101#true} #85#return; {25101#true} is VALID [2022-04-08 12:34:26,387 INFO L290 TraceCheckUtils]: 27: Hoare triple {25101#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {25187#(and (= main_~r~0 0) (= 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 12:34:26,388 INFO L272 TraceCheckUtils]: 28: Hoare triple {25187#(and (= main_~r~0 0) (= 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 assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {25101#true} is VALID [2022-04-08 12:34:26,388 INFO L290 TraceCheckUtils]: 29: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,388 INFO L290 TraceCheckUtils]: 30: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,388 INFO L290 TraceCheckUtils]: 31: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,388 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {25101#true} {25187#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {25187#(and (= main_~r~0 0) (= 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 12:34:26,388 INFO L272 TraceCheckUtils]: 33: Hoare triple {25187#(and (= main_~r~0 0) (= 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 assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {25101#true} is VALID [2022-04-08 12:34:26,388 INFO L290 TraceCheckUtils]: 34: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,388 INFO L290 TraceCheckUtils]: 35: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,389 INFO L290 TraceCheckUtils]: 36: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,389 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {25101#true} {25187#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {25187#(and (= main_~r~0 0) (= 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 12:34:26,389 INFO L290 TraceCheckUtils]: 38: Hoare triple {25187#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {25187#(and (= main_~r~0 0) (= 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 12:34:26,390 INFO L290 TraceCheckUtils]: 39: Hoare triple {25187#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {25224#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:34:26,390 INFO L290 TraceCheckUtils]: 40: Hoare triple {25224#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {25224#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:34:26,390 INFO L272 TraceCheckUtils]: 41: Hoare triple {25224#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25101#true} is VALID [2022-04-08 12:34:26,390 INFO L290 TraceCheckUtils]: 42: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,390 INFO L290 TraceCheckUtils]: 43: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,390 INFO L290 TraceCheckUtils]: 44: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,391 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {25101#true} {25224#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {25224#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:34:26,391 INFO L272 TraceCheckUtils]: 46: Hoare triple {25224#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25101#true} is VALID [2022-04-08 12:34:26,391 INFO L290 TraceCheckUtils]: 47: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,391 INFO L290 TraceCheckUtils]: 48: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,391 INFO L290 TraceCheckUtils]: 49: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,392 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {25101#true} {25224#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #93#return; {25224#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:34:26,392 INFO L272 TraceCheckUtils]: 51: Hoare triple {25224#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25101#true} is VALID [2022-04-08 12:34:26,392 INFO L290 TraceCheckUtils]: 52: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,392 INFO L290 TraceCheckUtils]: 53: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,392 INFO L290 TraceCheckUtils]: 54: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,393 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {25101#true} {25224#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #95#return; {25224#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:34:26,393 INFO L272 TraceCheckUtils]: 56: Hoare triple {25224#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {25101#true} is VALID [2022-04-08 12:34:26,393 INFO L290 TraceCheckUtils]: 57: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,393 INFO L290 TraceCheckUtils]: 58: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,393 INFO L290 TraceCheckUtils]: 59: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,394 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {25101#true} {25224#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #97#return; {25224#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:34:26,395 INFO L290 TraceCheckUtils]: 61: Hoare triple {25224#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {25291#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~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 12:34:26,395 INFO L290 TraceCheckUtils]: 62: Hoare triple {25291#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {25291#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~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 12:34:26,395 INFO L272 TraceCheckUtils]: 63: Hoare triple {25291#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~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 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25101#true} is VALID [2022-04-08 12:34:26,395 INFO L290 TraceCheckUtils]: 64: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,395 INFO L290 TraceCheckUtils]: 65: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,395 INFO L290 TraceCheckUtils]: 66: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,396 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {25101#true} {25291#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {25291#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~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 12:34:26,396 INFO L272 TraceCheckUtils]: 68: Hoare triple {25291#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~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)); {25101#true} is VALID [2022-04-08 12:34:26,396 INFO L290 TraceCheckUtils]: 69: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,396 INFO L290 TraceCheckUtils]: 70: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,396 INFO L290 TraceCheckUtils]: 71: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,397 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {25101#true} {25291#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #93#return; {25291#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~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 12:34:26,397 INFO L272 TraceCheckUtils]: 73: Hoare triple {25291#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~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)); {25101#true} is VALID [2022-04-08 12:34:26,397 INFO L290 TraceCheckUtils]: 74: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,397 INFO L290 TraceCheckUtils]: 75: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,397 INFO L290 TraceCheckUtils]: 76: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,398 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {25101#true} {25291#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #95#return; {25291#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~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 12:34:26,398 INFO L272 TraceCheckUtils]: 78: Hoare triple {25291#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~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 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {25101#true} is VALID [2022-04-08 12:34:26,398 INFO L290 TraceCheckUtils]: 79: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,398 INFO L290 TraceCheckUtils]: 80: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,398 INFO L290 TraceCheckUtils]: 81: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,399 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {25101#true} {25291#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #97#return; {25291#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~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 12:34:26,400 INFO L290 TraceCheckUtils]: 83: Hoare triple {25291#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {25358#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:34:26,401 INFO L290 TraceCheckUtils]: 84: Hoare triple {25358#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {25358#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:34:26,401 INFO L272 TraceCheckUtils]: 85: Hoare triple {25358#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25101#true} is VALID [2022-04-08 12:34:26,401 INFO L290 TraceCheckUtils]: 86: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,401 INFO L290 TraceCheckUtils]: 87: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,401 INFO L290 TraceCheckUtils]: 88: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,402 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {25101#true} {25358#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {25358#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:34:26,402 INFO L272 TraceCheckUtils]: 90: Hoare triple {25358#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= (+ (- 2) main_~k~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)); {25101#true} is VALID [2022-04-08 12:34:26,403 INFO L290 TraceCheckUtils]: 91: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,403 INFO L290 TraceCheckUtils]: 92: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,403 INFO L290 TraceCheckUtils]: 93: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,404 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {25101#true} {25358#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #93#return; {25358#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:34:26,404 INFO L272 TraceCheckUtils]: 95: Hoare triple {25358#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= (+ (- 2) main_~k~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)); {25101#true} is VALID [2022-04-08 12:34:26,404 INFO L290 TraceCheckUtils]: 96: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,404 INFO L290 TraceCheckUtils]: 97: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,404 INFO L290 TraceCheckUtils]: 98: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,405 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {25101#true} {25358#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #95#return; {25358#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:34:26,405 INFO L272 TraceCheckUtils]: 100: Hoare triple {25358#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {25101#true} is VALID [2022-04-08 12:34:26,405 INFO L290 TraceCheckUtils]: 101: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,405 INFO L290 TraceCheckUtils]: 102: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,405 INFO L290 TraceCheckUtils]: 103: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,406 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {25101#true} {25358#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #97#return; {25358#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:34:26,407 INFO L290 TraceCheckUtils]: 105: Hoare triple {25358#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {25425#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 3) (= (+ (* (- 2) main_~b~0) main_~a~0) (+ main_~c~0 main_~b~0)) (<= 0 main_~c~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 12:34:26,407 INFO L290 TraceCheckUtils]: 106: Hoare triple {25425#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 3) (= (+ (* (- 2) main_~b~0) main_~a~0) (+ main_~c~0 main_~b~0)) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {25425#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 3) (= (+ (* (- 2) main_~b~0) main_~a~0) (+ main_~c~0 main_~b~0)) (<= 0 main_~c~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 12:34:26,407 INFO L272 TraceCheckUtils]: 107: Hoare triple {25425#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 3) (= (+ (* (- 2) main_~b~0) main_~a~0) (+ main_~c~0 main_~b~0)) (<= 0 main_~c~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 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25101#true} is VALID [2022-04-08 12:34:26,407 INFO L290 TraceCheckUtils]: 108: Hoare triple {25101#true} ~cond := #in~cond; {25435#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:34:26,408 INFO L290 TraceCheckUtils]: 109: Hoare triple {25435#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:34:26,408 INFO L290 TraceCheckUtils]: 110: Hoare triple {25439#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:34:26,409 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {25439#(not (= |__VERIFIER_assert_#in~cond| 0))} {25425#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 3) (= (+ (* (- 2) main_~b~0) main_~a~0) (+ main_~c~0 main_~b~0)) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {25425#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 3) (= (+ (* (- 2) main_~b~0) main_~a~0) (+ main_~c~0 main_~b~0)) (<= 0 main_~c~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 12:34:26,409 INFO L272 TraceCheckUtils]: 112: Hoare triple {25425#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 3) (= (+ (* (- 2) main_~b~0) main_~a~0) (+ main_~c~0 main_~b~0)) (<= 0 main_~c~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)); {25101#true} is VALID [2022-04-08 12:34:26,409 INFO L290 TraceCheckUtils]: 113: Hoare triple {25101#true} ~cond := #in~cond; {25435#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:34:26,409 INFO L290 TraceCheckUtils]: 114: Hoare triple {25435#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:34:26,409 INFO L290 TraceCheckUtils]: 115: Hoare triple {25439#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:34:26,411 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {25439#(not (= |__VERIFIER_assert_#in~cond| 0))} {25425#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 3) (= (+ (* (- 2) main_~b~0) main_~a~0) (+ main_~c~0 main_~b~0)) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #93#return; {25461#(and (= main_~r~0 0) (= (+ main_~c~0 (* main_~b~0 3)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~s~0 1) (= main_~k~0 3) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:34:26,411 INFO L272 TraceCheckUtils]: 117: Hoare triple {25461#(and (= main_~r~0 0) (= (+ main_~c~0 (* main_~b~0 3)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~s~0 1) (= main_~k~0 3) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= 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)); {25101#true} is VALID [2022-04-08 12:34:26,411 INFO L290 TraceCheckUtils]: 118: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,411 INFO L290 TraceCheckUtils]: 119: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,411 INFO L290 TraceCheckUtils]: 120: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,411 INFO L284 TraceCheckUtils]: 121: Hoare quadruple {25101#true} {25461#(and (= main_~r~0 0) (= (+ main_~c~0 (* main_~b~0 3)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~s~0 1) (= main_~k~0 3) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #95#return; {25461#(and (= main_~r~0 0) (= (+ main_~c~0 (* main_~b~0 3)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~s~0 1) (= main_~k~0 3) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:34:26,412 INFO L272 TraceCheckUtils]: 122: Hoare triple {25461#(and (= main_~r~0 0) (= (+ main_~c~0 (* main_~b~0 3)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~s~0 1) (= main_~k~0 3) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {25101#true} is VALID [2022-04-08 12:34:26,412 INFO L290 TraceCheckUtils]: 123: Hoare triple {25101#true} ~cond := #in~cond; {25101#true} is VALID [2022-04-08 12:34:26,412 INFO L290 TraceCheckUtils]: 124: Hoare triple {25101#true} assume !(0 == ~cond); {25101#true} is VALID [2022-04-08 12:34:26,412 INFO L290 TraceCheckUtils]: 125: Hoare triple {25101#true} assume true; {25101#true} is VALID [2022-04-08 12:34:26,412 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {25101#true} {25461#(and (= main_~r~0 0) (= (+ main_~c~0 (* main_~b~0 3)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~s~0 1) (= main_~k~0 3) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #97#return; {25461#(and (= main_~r~0 0) (= (+ main_~c~0 (* main_~b~0 3)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~s~0 1) (= main_~k~0 3) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:34:26,413 INFO L290 TraceCheckUtils]: 127: Hoare triple {25461#(and (= main_~r~0 0) (= (+ main_~c~0 (* main_~b~0 3)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~s~0 1) (= main_~k~0 3) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {25495#(and (= main_~r~0 0) (= (+ main_~c~0 (* main_~y~0 3)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~s~0 1) (= main_~k~0 3) (not (<= main_~y~0 main_~c~0)) (<= 0 main_~c~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:34:26,414 INFO L290 TraceCheckUtils]: 128: Hoare triple {25495#(and (= main_~r~0 0) (= (+ main_~c~0 (* main_~y~0 3)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~s~0 1) (= main_~k~0 3) (not (<= main_~y~0 main_~c~0)) (<= 0 main_~c~0) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {25499#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~0))) (not (<= main_~y~0 (+ main_~x~0 (* main_~y~0 main_~s~0)))) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} is VALID [2022-04-08 12:34:26,414 INFO L290 TraceCheckUtils]: 129: Hoare triple {25499#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~0))) (not (<= main_~y~0 (+ main_~x~0 (* main_~y~0 main_~s~0)))) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} assume !false; {25499#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~0))) (not (<= main_~y~0 (+ main_~x~0 (* main_~y~0 main_~s~0)))) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} is VALID [2022-04-08 12:34:26,414 INFO L290 TraceCheckUtils]: 130: Hoare triple {25499#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~0))) (not (<= main_~y~0 (+ main_~x~0 (* main_~y~0 main_~s~0)))) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} assume !(0 != ~b~0); {25506#(and (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} is VALID [2022-04-08 12:34:26,415 INFO L272 TraceCheckUtils]: 131: Hoare triple {25506#(and (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {25510#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:34:26,415 INFO L290 TraceCheckUtils]: 132: Hoare triple {25510#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25514#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:34:26,416 INFO L290 TraceCheckUtils]: 133: Hoare triple {25514#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25102#false} is VALID [2022-04-08 12:34:26,416 INFO L290 TraceCheckUtils]: 134: Hoare triple {25102#false} assume !false; {25102#false} is VALID [2022-04-08 12:34:26,416 INFO L134 CoverageAnalysis]: Checked inductivity of 610 backedges. 102 proven. 52 refuted. 0 times theorem prover too weak. 456 trivial. 0 not checked. [2022-04-08 12:34:26,416 INFO L328 TraceCheckSpWp]: Computing backward predicates...