/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench/egcd2-ll.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 04:15:15,813 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 04:15:15,815 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 04:15:15,864 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 04:15:15,864 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 04:15:15,866 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 04:15:15,869 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 04:15:15,871 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 04:15:15,872 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 04:15:15,877 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 04:15:15,877 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 04:15:15,880 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 04:15:15,881 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 04:15:15,883 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 04:15:15,884 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 04:15:15,886 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 04:15:15,887 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 04:15:15,888 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 04:15:15,890 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 04:15:15,895 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 04:15:15,897 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 04:15:15,898 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 04:15:15,899 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 04:15:15,900 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 04:15:15,901 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 04:15:15,907 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 04:15:15,908 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 04:15:15,908 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 04:15:15,909 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 04:15:15,909 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 04:15:15,910 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 04:15:15,911 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 04:15:15,912 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 04:15:15,913 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 04:15:15,913 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 04:15:15,914 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 04:15:15,914 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 04:15:15,915 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 04:15:15,915 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 04:15:15,915 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 04:15:15,916 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 04:15:15,918 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 04:15:15,918 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 04:15:15,928 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 04:15:15,928 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 04:15:15,929 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 04:15:15,929 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 04:15:15,929 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 04:15:15,930 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 04:15:15,930 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 04:15:15,930 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 04:15:15,930 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 04:15:15,931 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 04:15:15,931 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 04:15:15,931 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 04:15:15,931 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 04:15:15,932 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 04:15:15,932 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 04:15:15,932 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 04:15:15,932 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 04:15:15,932 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 04:15:15,933 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 04:15:15,933 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 04:15:15,933 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 04:15:15,933 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 04:15:15,933 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 04:15:15,933 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 04:15:15,933 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 04:15:15,934 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 04:15:16,178 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 04:15:16,202 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 04:15:16,204 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 04:15:16,205 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 04:15:16,206 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 04:15:16,207 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench/egcd2-ll.c [2022-04-28 04:15:16,271 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f9e320bcb/a9b8ebeeafc94f97a89f2d54083f8258/FLAGa38e097e7 [2022-04-28 04:15:16,603 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 04:15:16,604 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/egcd2-ll.c [2022-04-28 04:15:16,612 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f9e320bcb/a9b8ebeeafc94f97a89f2d54083f8258/FLAGa38e097e7 [2022-04-28 04:15:17,041 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f9e320bcb/a9b8ebeeafc94f97a89f2d54083f8258 [2022-04-28 04:15:17,043 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 04:15:17,045 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 04:15:17,051 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 04:15:17,052 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 04:15:17,068 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 04:15:17,069 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 04:15:17" (1/1) ... [2022-04-28 04:15:17,070 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@15315e0e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:17, skipping insertion in model container [2022-04-28 04:15:17,070 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 04:15:17" (1/1) ... [2022-04-28 04:15:17,076 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 04:15:17,089 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 04:15:17,220 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/egcd2-ll.c[490,503] [2022-04-28 04:15:17,241 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 04:15:17,249 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 04:15:17,260 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/egcd2-ll.c[490,503] [2022-04-28 04:15:17,271 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 04:15:17,283 INFO L208 MainTranslator]: Completed translation [2022-04-28 04:15:17,284 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:17 WrapperNode [2022-04-28 04:15:17,284 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 04:15:17,285 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 04:15:17,285 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 04:15:17,285 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 04:15:17,294 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:17" (1/1) ... [2022-04-28 04:15:17,295 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:17" (1/1) ... [2022-04-28 04:15:17,300 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:17" (1/1) ... [2022-04-28 04:15:17,301 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:17" (1/1) ... [2022-04-28 04:15:17,307 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:17" (1/1) ... [2022-04-28 04:15:17,312 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:17" (1/1) ... [2022-04-28 04:15:17,313 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:17" (1/1) ... [2022-04-28 04:15:17,315 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 04:15:17,316 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 04:15:17,316 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 04:15:17,316 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 04:15:17,317 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:17" (1/1) ... [2022-04-28 04:15:17,323 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 04:15:17,332 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:15:17,343 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 04:15:17,372 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 04:15:17,394 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 04:15:17,395 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 04:15:17,395 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 04:15:17,395 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 04:15:17,395 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 04:15:17,395 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 04:15:17,399 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 04:15:17,399 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 04:15:17,399 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 04:15:17,399 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 04:15:17,399 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 04:15:17,399 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 04:15:17,400 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 04:15:17,400 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 04:15:17,400 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 04:15:17,400 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 04:15:17,400 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 04:15:17,400 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 04:15:17,400 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 04:15:17,401 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 04:15:17,448 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 04:15:17,449 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 04:15:17,667 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 04:15:17,674 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 04:15:17,674 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 04:15:17,675 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 04:15:17 BoogieIcfgContainer [2022-04-28 04:15:17,676 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 04:15:17,682 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 04:15:17,682 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 04:15:17,686 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 04:15:17,687 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 04:15:17" (1/3) ... [2022-04-28 04:15:17,687 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@44a95665 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 04:15:17, skipping insertion in model container [2022-04-28 04:15:17,688 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:17" (2/3) ... [2022-04-28 04:15:17,688 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@44a95665 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 04:15:17, skipping insertion in model container [2022-04-28 04:15:17,688 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 04:15:17" (3/3) ... [2022-04-28 04:15:17,689 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll.c [2022-04-28 04:15:17,702 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 04:15:17,702 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 04:15:17,743 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 04:15:17,750 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@58242f4b, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@18c67d0a [2022-04-28 04:15:17,751 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 04:15:17,759 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 21 states have internal predecessors, (28), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:15:17,764 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 04:15:17,764 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:15:17,765 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:15:17,765 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:15:17,769 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:15:17,769 INFO L85 PathProgramCache]: Analyzing trace with hash 1872307417, now seen corresponding path program 1 times [2022-04-28 04:15:17,775 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:17,775 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1517805802] [2022-04-28 04:15:17,783 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:15:17,783 INFO L85 PathProgramCache]: Analyzing trace with hash 1872307417, now seen corresponding path program 2 times [2022-04-28 04:15:17,785 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:15:17,785 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1117063975] [2022-04-28 04:15:17,786 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:15:17,786 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:15:17,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:17,974 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:15:17,990 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:18,014 INFO L290 TraceCheckUtils]: 0: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-28 04:15:18,015 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 04:15:18,016 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-28 04:15:18,017 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:15:18,023 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:18,036 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 04:15:18,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 04:15:18,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 04:15:18,044 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #76#return; {41#false} is VALID [2022-04-28 04:15:18,044 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 04:15:18,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:18,054 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 04:15:18,055 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 04:15:18,055 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 04:15:18,056 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #78#return; {41#false} is VALID [2022-04-28 04:15:18,056 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 04:15:18,058 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:18,068 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 04:15:18,068 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 04:15:18,069 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 04:15:18,069 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #80#return; {41#false} is VALID [2022-04-28 04:15:18,069 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 04:15:18,071 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:18,080 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 04:15:18,082 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 04:15:18,082 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 04:15:18,082 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #82#return; {41#false} is VALID [2022-04-28 04:15:18,085 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:15:18,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-28 04:15:18,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 04:15:18,085 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-28 04:15:18,085 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-28 04:15:18,087 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {40#true} is VALID [2022-04-28 04:15:18,087 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-28 04:15:18,088 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 04:15:18,088 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 04:15:18,088 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 04:15:18,089 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #76#return; {41#false} is VALID [2022-04-28 04:15:18,089 INFO L272 TraceCheckUtils]: 11: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-28 04:15:18,089 INFO L290 TraceCheckUtils]: 12: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 04:15:18,090 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 04:15:18,090 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 04:15:18,091 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41#false} {41#false} #78#return; {41#false} is VALID [2022-04-28 04:15:18,091 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#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; {41#false} is VALID [2022-04-28 04:15:18,091 INFO L272 TraceCheckUtils]: 17: Hoare triple {41#false} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {40#true} is VALID [2022-04-28 04:15:18,092 INFO L290 TraceCheckUtils]: 18: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 04:15:18,092 INFO L290 TraceCheckUtils]: 19: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 04:15:18,093 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 04:15:18,093 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41#false} {41#false} #80#return; {41#false} is VALID [2022-04-28 04:15:18,094 INFO L272 TraceCheckUtils]: 22: Hoare triple {41#false} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {40#true} is VALID [2022-04-28 04:15:18,094 INFO L290 TraceCheckUtils]: 23: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 04:15:18,095 INFO L290 TraceCheckUtils]: 24: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 04:15:18,096 INFO L290 TraceCheckUtils]: 25: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 04:15:18,096 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41#false} {41#false} #82#return; {41#false} is VALID [2022-04-28 04:15:18,096 INFO L290 TraceCheckUtils]: 27: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-28 04:15:18,099 INFO L272 TraceCheckUtils]: 28: Hoare triple {41#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {41#false} is VALID [2022-04-28 04:15:18,099 INFO L290 TraceCheckUtils]: 29: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-28 04:15:18,099 INFO L290 TraceCheckUtils]: 30: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-28 04:15:18,100 INFO L290 TraceCheckUtils]: 31: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-28 04:15:18,100 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 04:15:18,101 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:15:18,101 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1117063975] [2022-04-28 04:15:18,102 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1117063975] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:15:18,102 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:15:18,102 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 04:15:18,106 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:15:18,106 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1517805802] [2022-04-28 04:15:18,107 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1517805802] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:15:18,107 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:15:18,107 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 04:15:18,107 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1229390457] [2022-04-28 04:15:18,109 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:15:18,115 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 32 [2022-04-28 04:15:18,117 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:15:18,120 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 04:15:18,160 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:18,161 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 04:15:18,162 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:18,193 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 04:15:18,197 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 04:15:18,200 INFO L87 Difference]: Start difference. First operand has 37 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 21 states have internal predecessors, (28), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 04:15:18,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:18,440 INFO L93 Difference]: Finished difference Result 67 states and 106 transitions. [2022-04-28 04:15:18,441 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 04:15:18,441 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 32 [2022-04-28 04:15:18,441 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:15:18,442 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 04:15:18,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 106 transitions. [2022-04-28 04:15:18,454 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 04:15:18,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 106 transitions. [2022-04-28 04:15:18,465 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 106 transitions. [2022-04-28 04:15:18,593 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:18,608 INFO L225 Difference]: With dead ends: 67 [2022-04-28 04:15:18,608 INFO L226 Difference]: Without dead ends: 32 [2022-04-28 04:15:18,612 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 04:15:18,615 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 19 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:15:18,617 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 39 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 04:15:18,631 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-28 04:15:18,645 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-28 04:15:18,646 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:15:18,646 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:15:18,647 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:15:18,648 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:15:18,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:18,652 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-28 04:15:18,652 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 04:15:18,653 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:18,653 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:18,654 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 32 states. [2022-04-28 04:15:18,654 INFO L87 Difference]: Start difference. First operand has 32 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 32 states. [2022-04-28 04:15:18,658 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:18,658 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-28 04:15:18,658 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 04:15:18,660 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:18,660 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:18,660 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:15:18,660 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:15:18,660 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:15:18,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-28 04:15:18,665 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 32 [2022-04-28 04:15:18,665 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:15:18,665 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-28 04:15:18,666 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 04:15:18,666 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 41 transitions. [2022-04-28 04:15:18,713 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:18,714 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 04:15:18,715 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 04:15:18,715 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:15:18,715 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:15:18,715 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 04:15:18,715 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:15:18,716 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:15:18,716 INFO L85 PathProgramCache]: Analyzing trace with hash 310247117, now seen corresponding path program 1 times [2022-04-28 04:15:18,716 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:18,717 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2130571935] [2022-04-28 04:15:18,717 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:15:18,717 INFO L85 PathProgramCache]: Analyzing trace with hash 310247117, now seen corresponding path program 2 times [2022-04-28 04:15:18,717 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:15:18,718 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [409280253] [2022-04-28 04:15:18,718 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:15:18,718 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:15:18,736 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:15:18,737 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [705248473] [2022-04-28 04:15:18,737 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:15:18,737 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:15:18,737 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:15:18,739 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:15:18,772 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 04:15:18,804 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:15:18,804 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:15:18,806 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 04:15:18,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:18,835 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:15:19,058 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-28 04:15:19,058 INFO L290 TraceCheckUtils]: 1: Hoare triple {326#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {326#true} is VALID [2022-04-28 04:15:19,058 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 04:15:19,058 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #96#return; {326#true} is VALID [2022-04-28 04:15:19,059 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-28 04:15:19,059 INFO L290 TraceCheckUtils]: 5: Hoare triple {326#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {326#true} is VALID [2022-04-28 04:15:19,059 INFO L272 TraceCheckUtils]: 6: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-28 04:15:19,059 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 04:15:19,060 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 04:15:19,060 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 04:15:19,060 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #76#return; {326#true} is VALID [2022-04-28 04:15:19,060 INFO L272 TraceCheckUtils]: 11: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-28 04:15:19,061 INFO L290 TraceCheckUtils]: 12: Hoare triple {326#true} ~cond := #in~cond; {367#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:15:19,061 INFO L290 TraceCheckUtils]: 13: Hoare triple {367#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {371#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:15:19,062 INFO L290 TraceCheckUtils]: 14: Hoare triple {371#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {371#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:15:19,063 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {371#(not (= |assume_abort_if_not_#in~cond| 0))} {326#true} #78#return; {378#(<= 1 main_~y~0)} is VALID [2022-04-28 04:15:19,064 INFO L290 TraceCheckUtils]: 16: Hoare triple {378#(<= 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; {382#(<= 1 main_~b~0)} is VALID [2022-04-28 04:15:19,064 INFO L272 TraceCheckUtils]: 17: Hoare triple {382#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {326#true} is VALID [2022-04-28 04:15:19,064 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 04:15:19,064 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 04:15:19,064 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 04:15:19,065 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {326#true} {382#(<= 1 main_~b~0)} #80#return; {382#(<= 1 main_~b~0)} is VALID [2022-04-28 04:15:19,065 INFO L272 TraceCheckUtils]: 22: Hoare triple {382#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {326#true} is VALID [2022-04-28 04:15:19,065 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 04:15:19,066 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 04:15:19,066 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 04:15:19,066 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {326#true} {382#(<= 1 main_~b~0)} #82#return; {382#(<= 1 main_~b~0)} is VALID [2022-04-28 04:15:19,067 INFO L290 TraceCheckUtils]: 27: Hoare triple {382#(<= 1 main_~b~0)} assume !false; {382#(<= 1 main_~b~0)} is VALID [2022-04-28 04:15:19,067 INFO L290 TraceCheckUtils]: 28: Hoare triple {382#(<= 1 main_~b~0)} assume !(0 != ~b~0); {327#false} is VALID [2022-04-28 04:15:19,068 INFO L272 TraceCheckUtils]: 29: Hoare triple {327#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {327#false} is VALID [2022-04-28 04:15:19,068 INFO L290 TraceCheckUtils]: 30: Hoare triple {327#false} ~cond := #in~cond; {327#false} is VALID [2022-04-28 04:15:19,068 INFO L290 TraceCheckUtils]: 31: Hoare triple {327#false} assume 0 == ~cond; {327#false} is VALID [2022-04-28 04:15:19,068 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-28 04:15:19,068 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 04:15:19,069 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:15:19,354 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-28 04:15:19,354 INFO L290 TraceCheckUtils]: 31: Hoare triple {327#false} assume 0 == ~cond; {327#false} is VALID [2022-04-28 04:15:19,354 INFO L290 TraceCheckUtils]: 30: Hoare triple {327#false} ~cond := #in~cond; {327#false} is VALID [2022-04-28 04:15:19,355 INFO L272 TraceCheckUtils]: 29: Hoare triple {327#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {327#false} is VALID [2022-04-28 04:15:19,355 INFO L290 TraceCheckUtils]: 28: Hoare triple {382#(<= 1 main_~b~0)} assume !(0 != ~b~0); {327#false} is VALID [2022-04-28 04:15:19,356 INFO L290 TraceCheckUtils]: 27: Hoare triple {382#(<= 1 main_~b~0)} assume !false; {382#(<= 1 main_~b~0)} is VALID [2022-04-28 04:15:19,356 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {326#true} {382#(<= 1 main_~b~0)} #82#return; {382#(<= 1 main_~b~0)} is VALID [2022-04-28 04:15:19,357 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 04:15:19,357 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 04:15:19,357 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 04:15:19,357 INFO L272 TraceCheckUtils]: 22: Hoare triple {382#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {326#true} is VALID [2022-04-28 04:15:19,358 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {326#true} {382#(<= 1 main_~b~0)} #80#return; {382#(<= 1 main_~b~0)} is VALID [2022-04-28 04:15:19,358 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 04:15:19,358 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 04:15:19,358 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 04:15:19,358 INFO L272 TraceCheckUtils]: 17: Hoare triple {382#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {326#true} is VALID [2022-04-28 04:15:19,359 INFO L290 TraceCheckUtils]: 16: Hoare triple {378#(<= 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; {382#(<= 1 main_~b~0)} is VALID [2022-04-28 04:15:19,360 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {371#(not (= |assume_abort_if_not_#in~cond| 0))} {326#true} #78#return; {378#(<= 1 main_~y~0)} is VALID [2022-04-28 04:15:19,360 INFO L290 TraceCheckUtils]: 14: Hoare triple {371#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {371#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:15:19,361 INFO L290 TraceCheckUtils]: 13: Hoare triple {491#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {371#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:15:19,361 INFO L290 TraceCheckUtils]: 12: Hoare triple {326#true} ~cond := #in~cond; {491#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 04:15:19,361 INFO L272 TraceCheckUtils]: 11: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-28 04:15:19,362 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #76#return; {326#true} is VALID [2022-04-28 04:15:19,362 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 04:15:19,362 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 04:15:19,362 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 04:15:19,362 INFO L272 TraceCheckUtils]: 6: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-28 04:15:19,363 INFO L290 TraceCheckUtils]: 5: Hoare triple {326#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {326#true} is VALID [2022-04-28 04:15:19,363 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-28 04:15:19,363 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #96#return; {326#true} is VALID [2022-04-28 04:15:19,363 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 04:15:19,363 INFO L290 TraceCheckUtils]: 1: Hoare triple {326#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {326#true} is VALID [2022-04-28 04:15:19,363 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-28 04:15:19,364 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 04:15:19,364 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:15:19,364 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [409280253] [2022-04-28 04:15:19,364 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:15:19,364 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [705248473] [2022-04-28 04:15:19,365 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [705248473] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:15:19,365 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:15:19,365 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-28 04:15:19,366 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:15:19,366 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2130571935] [2022-04-28 04:15:19,366 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2130571935] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:15:19,366 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:15:19,366 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 04:15:19,367 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [132404646] [2022-04-28 04:15:19,367 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:15:19,367 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 04:15:19,368 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:15:19,368 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 04:15:19,390 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:19,390 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 04:15:19,390 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:19,391 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 04:15:19,391 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 04:15:19,392 INFO L87 Difference]: Start difference. First operand 32 states and 41 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 04:15:19,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:19,755 INFO L93 Difference]: Finished difference Result 49 states and 64 transitions. [2022-04-28 04:15:19,755 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 04:15:19,755 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 04:15:19,756 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:15:19,756 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 04:15:19,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-28 04:15:19,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 04:15:19,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-28 04:15:19,774 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 64 transitions. [2022-04-28 04:15:19,845 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:19,847 INFO L225 Difference]: With dead ends: 49 [2022-04-28 04:15:19,847 INFO L226 Difference]: Without dead ends: 41 [2022-04-28 04:15:19,848 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 59 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-28 04:15:19,849 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 19 mSDsluCounter, 84 mSDsCounter, 0 mSdLazyCounter, 74 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 119 SdHoareTripleChecker+Invalid, 85 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 74 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:15:19,849 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 119 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 74 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:15:19,850 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-28 04:15:19,870 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 34. [2022-04-28 04:15:19,870 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:15:19,870 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:15:19,871 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:15:19,871 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:15:19,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:19,874 INFO L93 Difference]: Finished difference Result 41 states and 55 transitions. [2022-04-28 04:15:19,874 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 55 transitions. [2022-04-28 04:15:19,875 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:19,875 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:19,876 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 41 states. [2022-04-28 04:15:19,876 INFO L87 Difference]: Start difference. First operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 41 states. [2022-04-28 04:15:19,879 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:19,879 INFO L93 Difference]: Finished difference Result 41 states and 55 transitions. [2022-04-28 04:15:19,880 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 55 transitions. [2022-04-28 04:15:19,880 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:19,881 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:19,881 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:15:19,881 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:15:19,881 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 04:15:19,883 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 43 transitions. [2022-04-28 04:15:19,884 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 43 transitions. Word has length 33 [2022-04-28 04:15:19,884 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:15:19,884 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 43 transitions. [2022-04-28 04:15:19,884 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 04:15:19,884 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 43 transitions. [2022-04-28 04:15:19,940 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:19,941 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-28 04:15:19,941 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 04:15:19,942 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:15:19,942 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:15:19,968 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-28 04:15:20,159 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:15:20,160 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:15:20,160 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:15:20,160 INFO L85 PathProgramCache]: Analyzing trace with hash 1036600877, now seen corresponding path program 1 times [2022-04-28 04:15:20,160 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:20,161 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [609470870] [2022-04-28 04:15:20,161 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:15:20,161 INFO L85 PathProgramCache]: Analyzing trace with hash 1036600877, now seen corresponding path program 2 times [2022-04-28 04:15:20,161 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:15:20,162 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1569071391] [2022-04-28 04:15:20,162 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:15:20,162 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:15:20,183 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:15:20,184 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [446972450] [2022-04-28 04:15:20,184 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:15:20,184 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:15:20,184 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:15:20,188 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:15:20,217 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 04:15:20,238 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 04:15:20,238 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:15:20,239 INFO L263 TraceCheckSpWp]: Trace formula consists of 72 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:15:20,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:20,252 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:15:20,377 INFO L272 TraceCheckUtils]: 0: Hoare triple {782#true} call ULTIMATE.init(); {782#true} is VALID [2022-04-28 04:15:20,377 INFO L290 TraceCheckUtils]: 1: Hoare triple {782#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); {782#true} is VALID [2022-04-28 04:15:20,377 INFO L290 TraceCheckUtils]: 2: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-28 04:15:20,377 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {782#true} {782#true} #96#return; {782#true} is VALID [2022-04-28 04:15:20,377 INFO L272 TraceCheckUtils]: 4: Hoare triple {782#true} call #t~ret6 := main(); {782#true} is VALID [2022-04-28 04:15:20,378 INFO L290 TraceCheckUtils]: 5: Hoare triple {782#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {782#true} is VALID [2022-04-28 04:15:20,378 INFO L272 TraceCheckUtils]: 6: Hoare triple {782#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {782#true} is VALID [2022-04-28 04:15:20,378 INFO L290 TraceCheckUtils]: 7: Hoare triple {782#true} ~cond := #in~cond; {782#true} is VALID [2022-04-28 04:15:20,378 INFO L290 TraceCheckUtils]: 8: Hoare triple {782#true} assume !(0 == ~cond); {782#true} is VALID [2022-04-28 04:15:20,378 INFO L290 TraceCheckUtils]: 9: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-28 04:15:20,378 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {782#true} {782#true} #76#return; {782#true} is VALID [2022-04-28 04:15:20,379 INFO L272 TraceCheckUtils]: 11: Hoare triple {782#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {782#true} is VALID [2022-04-28 04:15:20,379 INFO L290 TraceCheckUtils]: 12: Hoare triple {782#true} ~cond := #in~cond; {782#true} is VALID [2022-04-28 04:15:20,379 INFO L290 TraceCheckUtils]: 13: Hoare triple {782#true} assume !(0 == ~cond); {782#true} is VALID [2022-04-28 04:15:20,379 INFO L290 TraceCheckUtils]: 14: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-28 04:15:20,379 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {782#true} {782#true} #78#return; {782#true} is VALID [2022-04-28 04:15:20,379 INFO L290 TraceCheckUtils]: 16: Hoare triple {782#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; {782#true} is VALID [2022-04-28 04:15:20,379 INFO L272 TraceCheckUtils]: 17: Hoare triple {782#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {782#true} is VALID [2022-04-28 04:15:20,380 INFO L290 TraceCheckUtils]: 18: Hoare triple {782#true} ~cond := #in~cond; {782#true} is VALID [2022-04-28 04:15:20,380 INFO L290 TraceCheckUtils]: 19: Hoare triple {782#true} assume !(0 == ~cond); {782#true} is VALID [2022-04-28 04:15:20,380 INFO L290 TraceCheckUtils]: 20: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-28 04:15:20,380 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {782#true} {782#true} #80#return; {782#true} is VALID [2022-04-28 04:15:20,380 INFO L272 TraceCheckUtils]: 22: Hoare triple {782#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {782#true} is VALID [2022-04-28 04:15:20,380 INFO L290 TraceCheckUtils]: 23: Hoare triple {782#true} ~cond := #in~cond; {782#true} is VALID [2022-04-28 04:15:20,380 INFO L290 TraceCheckUtils]: 24: Hoare triple {782#true} assume !(0 == ~cond); {782#true} is VALID [2022-04-28 04:15:20,381 INFO L290 TraceCheckUtils]: 25: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-28 04:15:20,381 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {782#true} {782#true} #82#return; {782#true} is VALID [2022-04-28 04:15:20,381 INFO L290 TraceCheckUtils]: 27: Hoare triple {782#true} assume !false; {782#true} is VALID [2022-04-28 04:15:20,382 INFO L290 TraceCheckUtils]: 28: Hoare triple {782#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {871#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 04:15:20,382 INFO L290 TraceCheckUtils]: 29: Hoare triple {871#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} assume !false; {871#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 04:15:20,383 INFO L272 TraceCheckUtils]: 30: Hoare triple {871#(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)); {878#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:15:20,384 INFO L290 TraceCheckUtils]: 31: Hoare triple {878#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {882#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:15:20,384 INFO L290 TraceCheckUtils]: 32: Hoare triple {882#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {783#false} is VALID [2022-04-28 04:15:20,384 INFO L290 TraceCheckUtils]: 33: Hoare triple {783#false} assume !false; {783#false} is VALID [2022-04-28 04:15:20,385 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 04:15:20,385 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 04:15:20,385 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:15:20,385 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1569071391] [2022-04-28 04:15:20,385 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:15:20,385 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [446972450] [2022-04-28 04:15:20,385 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [446972450] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:15:20,385 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:15:20,386 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:15:20,386 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:15:20,386 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [609470870] [2022-04-28 04:15:20,386 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [609470870] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:15:20,386 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:15:20,386 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:15:20,386 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2092445958] [2022-04-28 04:15:20,386 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:15:20,387 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-28 04:15:20,387 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:15:20,387 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 04:15:20,406 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:20,406 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 04:15:20,407 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:20,407 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 04:15:20,407 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 04:15:20,407 INFO L87 Difference]: Start difference. First operand 34 states and 43 transitions. Second operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 04:15:20,621 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:20,621 INFO L93 Difference]: Finished difference Result 47 states and 60 transitions. [2022-04-28 04:15:20,621 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 04:15:20,622 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-28 04:15:20,623 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:15:20,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 04:15:20,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-28 04:15:20,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 04:15:20,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-28 04:15:20,629 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-28 04:15:20,682 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:20,686 INFO L225 Difference]: With dead ends: 47 [2022-04-28 04:15:20,687 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 04:15:20,687 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 04:15:20,688 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 6 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 134 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-28 04:15:20,688 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 134 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 04:15:20,689 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 04:15:20,716 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 40. [2022-04-28 04:15:20,716 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:15:20,717 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 40 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 24 states have internal predecessors, (25), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:15:20,717 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 40 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 24 states have internal predecessors, (25), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:15:20,717 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 40 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 24 states have internal predecessors, (25), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:15:20,720 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:20,720 INFO L93 Difference]: Finished difference Result 45 states and 58 transitions. [2022-04-28 04:15:20,720 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 58 transitions. [2022-04-28 04:15:20,721 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:20,721 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:20,721 INFO L74 IsIncluded]: Start isIncluded. First operand has 40 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 24 states have internal predecessors, (25), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 45 states. [2022-04-28 04:15:20,722 INFO L87 Difference]: Start difference. First operand has 40 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 24 states have internal predecessors, (25), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 45 states. [2022-04-28 04:15:20,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:20,724 INFO L93 Difference]: Finished difference Result 45 states and 58 transitions. [2022-04-28 04:15:20,724 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 58 transitions. [2022-04-28 04:15:20,725 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:20,725 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:20,725 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:15:20,725 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:15:20,726 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 24 states have internal predecessors, (25), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:15:20,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 49 transitions. [2022-04-28 04:15:20,728 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 49 transitions. Word has length 34 [2022-04-28 04:15:20,728 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:15:20,728 INFO L495 AbstractCegarLoop]: Abstraction has 40 states and 49 transitions. [2022-04-28 04:15:20,728 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 04:15:20,728 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 49 transitions. [2022-04-28 04:15:20,783 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:20,784 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 49 transitions. [2022-04-28 04:15:20,786 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 04:15:20,786 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:15:20,787 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:15:20,810 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-28 04:15:20,999 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 04:15:21,000 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:15:21,000 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:15:21,000 INFO L85 PathProgramCache]: Analyzing trace with hash -844413996, now seen corresponding path program 1 times [2022-04-28 04:15:21,001 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:21,001 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1225602946] [2022-04-28 04:15:21,001 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:15:21,001 INFO L85 PathProgramCache]: Analyzing trace with hash -844413996, now seen corresponding path program 2 times [2022-04-28 04:15:21,001 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:15:21,002 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1697033988] [2022-04-28 04:15:21,002 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:15:21,002 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:15:21,028 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:15:21,028 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [567113387] [2022-04-28 04:15:21,028 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:15:21,029 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:15:21,029 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:15:21,037 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:15:21,038 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 04:15:21,083 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:15:21,083 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:15:21,084 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 04:15:21,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:21,097 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:15:21,446 INFO L272 TraceCheckUtils]: 0: Hoare triple {1154#true} call ULTIMATE.init(); {1154#true} is VALID [2022-04-28 04:15:21,446 INFO L290 TraceCheckUtils]: 1: Hoare triple {1154#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); {1154#true} is VALID [2022-04-28 04:15:21,447 INFO L290 TraceCheckUtils]: 2: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 04:15:21,447 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1154#true} {1154#true} #96#return; {1154#true} is VALID [2022-04-28 04:15:21,447 INFO L272 TraceCheckUtils]: 4: Hoare triple {1154#true} call #t~ret6 := main(); {1154#true} is VALID [2022-04-28 04:15:21,447 INFO L290 TraceCheckUtils]: 5: Hoare triple {1154#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1154#true} is VALID [2022-04-28 04:15:21,447 INFO L272 TraceCheckUtils]: 6: Hoare triple {1154#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1154#true} is VALID [2022-04-28 04:15:21,447 INFO L290 TraceCheckUtils]: 7: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-28 04:15:21,448 INFO L290 TraceCheckUtils]: 8: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-28 04:15:21,448 INFO L290 TraceCheckUtils]: 9: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 04:15:21,448 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1154#true} {1154#true} #76#return; {1154#true} is VALID [2022-04-28 04:15:21,448 INFO L272 TraceCheckUtils]: 11: Hoare triple {1154#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1154#true} is VALID [2022-04-28 04:15:21,448 INFO L290 TraceCheckUtils]: 12: Hoare triple {1154#true} ~cond := #in~cond; {1195#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:15:21,449 INFO L290 TraceCheckUtils]: 13: Hoare triple {1195#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1199#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:15:21,449 INFO L290 TraceCheckUtils]: 14: Hoare triple {1199#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1199#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:15:21,450 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1199#(not (= |assume_abort_if_not_#in~cond| 0))} {1154#true} #78#return; {1206#(<= 1 main_~y~0)} is VALID [2022-04-28 04:15:21,451 INFO L290 TraceCheckUtils]: 16: Hoare triple {1206#(<= 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; {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:21,451 INFO L272 TraceCheckUtils]: 17: Hoare triple {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1154#true} is VALID [2022-04-28 04:15:21,451 INFO L290 TraceCheckUtils]: 18: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-28 04:15:21,451 INFO L290 TraceCheckUtils]: 19: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-28 04:15:21,451 INFO L290 TraceCheckUtils]: 20: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 04:15:21,460 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1154#true} {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #80#return; {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:21,460 INFO L272 TraceCheckUtils]: 22: Hoare triple {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1154#true} is VALID [2022-04-28 04:15:21,460 INFO L290 TraceCheckUtils]: 23: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-28 04:15:21,461 INFO L290 TraceCheckUtils]: 24: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-28 04:15:21,461 INFO L290 TraceCheckUtils]: 25: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 04:15:21,462 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1154#true} {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:21,462 INFO L290 TraceCheckUtils]: 27: Hoare triple {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:21,463 INFO L290 TraceCheckUtils]: 28: Hoare triple {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:21,463 INFO L290 TraceCheckUtils]: 29: Hoare triple {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:21,464 INFO L272 TraceCheckUtils]: 30: Hoare triple {1210#(and (= main_~r~0 0) (<= 1 main_~y~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)); {1154#true} is VALID [2022-04-28 04:15:21,464 INFO L290 TraceCheckUtils]: 31: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-28 04:15:21,464 INFO L290 TraceCheckUtils]: 32: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-28 04:15:21,464 INFO L290 TraceCheckUtils]: 33: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 04:15:21,465 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1154#true} {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:21,466 INFO L272 TraceCheckUtils]: 35: Hoare triple {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1268#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:15:21,467 INFO L290 TraceCheckUtils]: 36: Hoare triple {1268#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1272#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:15:21,467 INFO L290 TraceCheckUtils]: 37: Hoare triple {1272#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1155#false} is VALID [2022-04-28 04:15:21,467 INFO L290 TraceCheckUtils]: 38: Hoare triple {1155#false} assume !false; {1155#false} is VALID [2022-04-28 04:15:21,468 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 5 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 04:15:21,468 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:15:21,728 INFO L290 TraceCheckUtils]: 38: Hoare triple {1155#false} assume !false; {1155#false} is VALID [2022-04-28 04:15:21,728 INFO L290 TraceCheckUtils]: 37: Hoare triple {1272#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1155#false} is VALID [2022-04-28 04:15:21,729 INFO L290 TraceCheckUtils]: 36: Hoare triple {1268#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1272#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:15:21,730 INFO L272 TraceCheckUtils]: 35: Hoare triple {1288#(= 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)); {1268#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:15:21,730 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1154#true} {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #84#return; {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:15:21,731 INFO L290 TraceCheckUtils]: 33: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 04:15:21,731 INFO L290 TraceCheckUtils]: 32: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-28 04:15:21,731 INFO L290 TraceCheckUtils]: 31: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-28 04:15:21,731 INFO L272 TraceCheckUtils]: 30: Hoare triple {1288#(= 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)); {1154#true} is VALID [2022-04-28 04:15:21,735 INFO L290 TraceCheckUtils]: 29: Hoare triple {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:15:21,736 INFO L290 TraceCheckUtils]: 28: Hoare triple {1288#(= 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; {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:15:21,736 INFO L290 TraceCheckUtils]: 27: Hoare triple {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:15:21,737 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1154#true} {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #82#return; {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:15:21,737 INFO L290 TraceCheckUtils]: 25: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 04:15:21,737 INFO L290 TraceCheckUtils]: 24: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-28 04:15:21,737 INFO L290 TraceCheckUtils]: 23: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-28 04:15:21,737 INFO L272 TraceCheckUtils]: 22: Hoare triple {1288#(= main_~a~0 (+ (* 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)); {1154#true} is VALID [2022-04-28 04:15:21,738 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1154#true} {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:15:21,738 INFO L290 TraceCheckUtils]: 20: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 04:15:21,738 INFO L290 TraceCheckUtils]: 19: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-28 04:15:21,738 INFO L290 TraceCheckUtils]: 18: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-28 04:15:21,739 INFO L272 TraceCheckUtils]: 17: Hoare triple {1288#(= main_~a~0 (+ (* 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)); {1154#true} is VALID [2022-04-28 04:15:21,739 INFO L290 TraceCheckUtils]: 16: Hoare triple {1154#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; {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:15:21,739 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1154#true} {1154#true} #78#return; {1154#true} is VALID [2022-04-28 04:15:21,739 INFO L290 TraceCheckUtils]: 14: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 04:15:21,740 INFO L290 TraceCheckUtils]: 13: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-28 04:15:21,740 INFO L290 TraceCheckUtils]: 12: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-28 04:15:21,740 INFO L272 TraceCheckUtils]: 11: Hoare triple {1154#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1154#true} is VALID [2022-04-28 04:15:21,740 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1154#true} {1154#true} #76#return; {1154#true} is VALID [2022-04-28 04:15:21,740 INFO L290 TraceCheckUtils]: 9: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 04:15:21,740 INFO L290 TraceCheckUtils]: 8: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-28 04:15:21,740 INFO L290 TraceCheckUtils]: 7: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-28 04:15:21,740 INFO L272 TraceCheckUtils]: 6: Hoare triple {1154#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1154#true} is VALID [2022-04-28 04:15:21,740 INFO L290 TraceCheckUtils]: 5: Hoare triple {1154#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1154#true} is VALID [2022-04-28 04:15:21,741 INFO L272 TraceCheckUtils]: 4: Hoare triple {1154#true} call #t~ret6 := main(); {1154#true} is VALID [2022-04-28 04:15:21,741 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1154#true} {1154#true} #96#return; {1154#true} is VALID [2022-04-28 04:15:21,741 INFO L290 TraceCheckUtils]: 2: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 04:15:21,741 INFO L290 TraceCheckUtils]: 1: Hoare triple {1154#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); {1154#true} is VALID [2022-04-28 04:15:21,741 INFO L272 TraceCheckUtils]: 0: Hoare triple {1154#true} call ULTIMATE.init(); {1154#true} is VALID [2022-04-28 04:15:21,741 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 04:15:21,742 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:15:21,742 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1697033988] [2022-04-28 04:15:21,742 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:15:21,742 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [567113387] [2022-04-28 04:15:21,742 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [567113387] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 04:15:21,742 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 04:15:21,742 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-28 04:15:21,743 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:15:21,743 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1225602946] [2022-04-28 04:15:21,743 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1225602946] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:15:21,743 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:15:21,743 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:15:21,743 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1597863278] [2022-04-28 04:15:21,743 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:15:21,744 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-04-28 04:15:21,744 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:15:21,744 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 04:15:21,768 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:21,768 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 04:15:21,768 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:21,769 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 04:15:21,769 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 04:15:21,769 INFO L87 Difference]: Start difference. First operand 40 states and 49 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 04:15:22,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:22,004 INFO L93 Difference]: Finished difference Result 55 states and 69 transitions. [2022-04-28 04:15:22,005 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 04:15:22,005 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-04-28 04:15:22,005 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:15:22,005 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 04:15:22,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 04:15:22,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 04:15:22,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 04:15:22,009 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-28 04:15:22,065 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:22,067 INFO L225 Difference]: With dead ends: 55 [2022-04-28 04:15:22,067 INFO L226 Difference]: Without dead ends: 53 [2022-04-28 04:15:22,068 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 04:15:22,068 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 7 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 141 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-28 04:15:22,069 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 141 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 04:15:22,069 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-28 04:15:22,111 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 52. [2022-04-28 04:15:22,111 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:15:22,112 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 52 states, 28 states have (on average 1.1428571428571428) internal successors, (32), 31 states have internal predecessors, (32), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 04:15:22,112 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 52 states, 28 states have (on average 1.1428571428571428) internal successors, (32), 31 states have internal predecessors, (32), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 04:15:22,113 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 52 states, 28 states have (on average 1.1428571428571428) internal successors, (32), 31 states have internal predecessors, (32), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 04:15:22,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:22,115 INFO L93 Difference]: Finished difference Result 53 states and 67 transitions. [2022-04-28 04:15:22,116 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 67 transitions. [2022-04-28 04:15:22,116 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:22,116 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:22,117 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 28 states have (on average 1.1428571428571428) internal successors, (32), 31 states have internal predecessors, (32), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 53 states. [2022-04-28 04:15:22,117 INFO L87 Difference]: Start difference. First operand has 52 states, 28 states have (on average 1.1428571428571428) internal successors, (32), 31 states have internal predecessors, (32), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 53 states. [2022-04-28 04:15:22,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:22,119 INFO L93 Difference]: Finished difference Result 53 states and 67 transitions. [2022-04-28 04:15:22,119 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 67 transitions. [2022-04-28 04:15:22,120 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:22,120 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:22,120 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:15:22,120 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:15:22,120 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 28 states have (on average 1.1428571428571428) internal successors, (32), 31 states have internal predecessors, (32), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 04:15:22,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 66 transitions. [2022-04-28 04:15:22,123 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 66 transitions. Word has length 39 [2022-04-28 04:15:22,123 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:15:22,123 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 66 transitions. [2022-04-28 04:15:22,123 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 04:15:22,123 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 66 transitions. [2022-04-28 04:15:22,234 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:22,234 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-28 04:15:22,235 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 04:15:22,235 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:15:22,235 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:15:22,260 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 04:15:22,451 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:15:22,452 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:15:22,452 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:15:22,452 INFO L85 PathProgramCache]: Analyzing trace with hash -644493747, now seen corresponding path program 1 times [2022-04-28 04:15:22,452 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:22,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [918350558] [2022-04-28 04:15:22,453 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:15:22,453 INFO L85 PathProgramCache]: Analyzing trace with hash -644493747, now seen corresponding path program 2 times [2022-04-28 04:15:22,453 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:15:22,453 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1490174262] [2022-04-28 04:15:22,453 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:15:22,453 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:15:22,469 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:15:22,469 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [645790875] [2022-04-28 04:15:22,469 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:15:22,469 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:15:22,469 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:15:22,472 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:15:22,479 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 04:15:22,530 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:15:22,531 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:15:22,532 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 04:15:22,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:22,549 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:15:22,874 INFO L272 TraceCheckUtils]: 0: Hoare triple {1718#true} call ULTIMATE.init(); {1718#true} is VALID [2022-04-28 04:15:22,874 INFO L290 TraceCheckUtils]: 1: Hoare triple {1718#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); {1718#true} is VALID [2022-04-28 04:15:22,874 INFO L290 TraceCheckUtils]: 2: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 04:15:22,874 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1718#true} {1718#true} #96#return; {1718#true} is VALID [2022-04-28 04:15:22,874 INFO L272 TraceCheckUtils]: 4: Hoare triple {1718#true} call #t~ret6 := main(); {1718#true} is VALID [2022-04-28 04:15:22,874 INFO L290 TraceCheckUtils]: 5: Hoare triple {1718#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1718#true} is VALID [2022-04-28 04:15:22,874 INFO L272 TraceCheckUtils]: 6: Hoare triple {1718#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1718#true} is VALID [2022-04-28 04:15:22,875 INFO L290 TraceCheckUtils]: 7: Hoare triple {1718#true} ~cond := #in~cond; {1744#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:15:22,875 INFO L290 TraceCheckUtils]: 8: Hoare triple {1744#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1748#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:15:22,875 INFO L290 TraceCheckUtils]: 9: Hoare triple {1748#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1748#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:15:22,876 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1748#(not (= |assume_abort_if_not_#in~cond| 0))} {1718#true} #76#return; {1755#(<= 1 main_~x~0)} is VALID [2022-04-28 04:15:22,876 INFO L272 TraceCheckUtils]: 11: Hoare triple {1755#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1718#true} is VALID [2022-04-28 04:15:22,876 INFO L290 TraceCheckUtils]: 12: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 04:15:22,876 INFO L290 TraceCheckUtils]: 13: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 04:15:22,876 INFO L290 TraceCheckUtils]: 14: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 04:15:22,878 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1718#true} {1755#(<= 1 main_~x~0)} #78#return; {1755#(<= 1 main_~x~0)} is VALID [2022-04-28 04:15:22,879 INFO L290 TraceCheckUtils]: 16: Hoare triple {1755#(<= 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; {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:15:22,879 INFO L272 TraceCheckUtils]: 17: Hoare triple {1774#(and (<= 1 main_~x~0) (= 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)); {1718#true} is VALID [2022-04-28 04:15:22,879 INFO L290 TraceCheckUtils]: 18: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 04:15:22,879 INFO L290 TraceCheckUtils]: 19: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 04:15:22,879 INFO L290 TraceCheckUtils]: 20: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 04:15:22,881 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1718#true} {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #80#return; {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:15:22,881 INFO L272 TraceCheckUtils]: 22: Hoare triple {1774#(and (<= 1 main_~x~0) (= 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)); {1718#true} is VALID [2022-04-28 04:15:22,881 INFO L290 TraceCheckUtils]: 23: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 04:15:22,881 INFO L290 TraceCheckUtils]: 24: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 04:15:22,881 INFO L290 TraceCheckUtils]: 25: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 04:15:22,892 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1718#true} {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #82#return; {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:15:22,893 INFO L290 TraceCheckUtils]: 27: Hoare triple {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:15:22,893 INFO L290 TraceCheckUtils]: 28: Hoare triple {1774#(and (<= 1 main_~x~0) (= 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; {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:15:22,894 INFO L290 TraceCheckUtils]: 29: Hoare triple {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:15:22,894 INFO L272 TraceCheckUtils]: 30: Hoare triple {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1718#true} is VALID [2022-04-28 04:15:22,894 INFO L290 TraceCheckUtils]: 31: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 04:15:22,894 INFO L290 TraceCheckUtils]: 32: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 04:15:22,894 INFO L290 TraceCheckUtils]: 33: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 04:15:22,895 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1718#true} {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #84#return; {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:15:22,895 INFO L272 TraceCheckUtils]: 35: Hoare triple {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1718#true} is VALID [2022-04-28 04:15:22,895 INFO L290 TraceCheckUtils]: 36: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 04:15:22,895 INFO L290 TraceCheckUtils]: 37: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 04:15:22,895 INFO L290 TraceCheckUtils]: 38: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 04:15:22,896 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1718#true} {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #86#return; {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:15:22,897 INFO L272 TraceCheckUtils]: 40: Hoare triple {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1847#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:15:22,897 INFO L290 TraceCheckUtils]: 41: Hoare triple {1847#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1851#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:15:22,898 INFO L290 TraceCheckUtils]: 42: Hoare triple {1851#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1719#false} is VALID [2022-04-28 04:15:22,898 INFO L290 TraceCheckUtils]: 43: Hoare triple {1719#false} assume !false; {1719#false} is VALID [2022-04-28 04:15:22,898 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 04:15:22,898 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:15:23,161 INFO L290 TraceCheckUtils]: 43: Hoare triple {1719#false} assume !false; {1719#false} is VALID [2022-04-28 04:15:23,161 INFO L290 TraceCheckUtils]: 42: Hoare triple {1851#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1719#false} is VALID [2022-04-28 04:15:23,162 INFO L290 TraceCheckUtils]: 41: Hoare triple {1847#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1851#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:15:23,163 INFO L272 TraceCheckUtils]: 40: Hoare triple {1867#(= 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)); {1847#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:15:23,163 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1718#true} {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #86#return; {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:15:23,163 INFO L290 TraceCheckUtils]: 38: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 04:15:23,164 INFO L290 TraceCheckUtils]: 37: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 04:15:23,164 INFO L290 TraceCheckUtils]: 36: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 04:15:23,164 INFO L272 TraceCheckUtils]: 35: Hoare triple {1867#(= 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)); {1718#true} is VALID [2022-04-28 04:15:23,165 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1718#true} {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #84#return; {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:15:23,165 INFO L290 TraceCheckUtils]: 33: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 04:15:23,165 INFO L290 TraceCheckUtils]: 32: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 04:15:23,165 INFO L290 TraceCheckUtils]: 31: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 04:15:23,165 INFO L272 TraceCheckUtils]: 30: Hoare triple {1867#(= 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)); {1718#true} is VALID [2022-04-28 04:15:23,165 INFO L290 TraceCheckUtils]: 29: Hoare triple {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:15:23,166 INFO L290 TraceCheckUtils]: 28: Hoare triple {1867#(= 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; {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:15:23,166 INFO L290 TraceCheckUtils]: 27: Hoare triple {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:15:23,167 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1718#true} {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #82#return; {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:15:23,167 INFO L290 TraceCheckUtils]: 25: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 04:15:23,167 INFO L290 TraceCheckUtils]: 24: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 04:15:23,167 INFO L290 TraceCheckUtils]: 23: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 04:15:23,167 INFO L272 TraceCheckUtils]: 22: Hoare triple {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1718#true} is VALID [2022-04-28 04:15:23,167 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1718#true} {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #80#return; {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:15:23,168 INFO L290 TraceCheckUtils]: 20: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 04:15:23,168 INFO L290 TraceCheckUtils]: 19: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 04:15:23,168 INFO L290 TraceCheckUtils]: 18: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 04:15:23,168 INFO L272 TraceCheckUtils]: 17: Hoare triple {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1718#true} is VALID [2022-04-28 04:15:23,169 INFO L290 TraceCheckUtils]: 16: Hoare triple {1718#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; {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:15:23,170 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1718#true} {1718#true} #78#return; {1718#true} is VALID [2022-04-28 04:15:23,170 INFO L290 TraceCheckUtils]: 14: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 04:15:23,170 INFO L290 TraceCheckUtils]: 13: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 04:15:23,170 INFO L290 TraceCheckUtils]: 12: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 04:15:23,170 INFO L272 TraceCheckUtils]: 11: Hoare triple {1718#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1718#true} is VALID [2022-04-28 04:15:23,171 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1718#true} {1718#true} #76#return; {1718#true} is VALID [2022-04-28 04:15:23,171 INFO L290 TraceCheckUtils]: 9: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 04:15:23,171 INFO L290 TraceCheckUtils]: 8: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 04:15:23,171 INFO L290 TraceCheckUtils]: 7: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 04:15:23,171 INFO L272 TraceCheckUtils]: 6: Hoare triple {1718#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1718#true} is VALID [2022-04-28 04:15:23,171 INFO L290 TraceCheckUtils]: 5: Hoare triple {1718#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1718#true} is VALID [2022-04-28 04:15:23,171 INFO L272 TraceCheckUtils]: 4: Hoare triple {1718#true} call #t~ret6 := main(); {1718#true} is VALID [2022-04-28 04:15:23,171 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1718#true} {1718#true} #96#return; {1718#true} is VALID [2022-04-28 04:15:23,171 INFO L290 TraceCheckUtils]: 2: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 04:15:23,172 INFO L290 TraceCheckUtils]: 1: Hoare triple {1718#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); {1718#true} is VALID [2022-04-28 04:15:23,172 INFO L272 TraceCheckUtils]: 0: Hoare triple {1718#true} call ULTIMATE.init(); {1718#true} is VALID [2022-04-28 04:15:23,172 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 04:15:23,172 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:15:23,172 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1490174262] [2022-04-28 04:15:23,172 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:15:23,172 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [645790875] [2022-04-28 04:15:23,172 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [645790875] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 04:15:23,173 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 04:15:23,173 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-28 04:15:23,173 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:15:23,173 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [918350558] [2022-04-28 04:15:23,173 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [918350558] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:15:23,173 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:15:23,173 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:15:23,173 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1525855119] [2022-04-28 04:15:23,174 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:15:23,174 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-28 04:15:23,174 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:15:23,174 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 04:15:23,203 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:23,203 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 04:15:23,203 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:23,204 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 04:15:23,204 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 04:15:23,204 INFO L87 Difference]: Start difference. First operand 52 states and 66 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 04:15:23,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:23,497 INFO L93 Difference]: Finished difference Result 59 states and 72 transitions. [2022-04-28 04:15:23,497 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 04:15:23,497 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-28 04:15:23,498 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:15:23,498 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 04:15:23,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 04:15:23,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 04:15:23,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 04:15:23,501 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-28 04:15:23,550 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:23,553 INFO L225 Difference]: With dead ends: 59 [2022-04-28 04:15:23,554 INFO L226 Difference]: Without dead ends: 57 [2022-04-28 04:15:23,554 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 04:15:23,557 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 7 mSDsluCounter, 91 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:15:23,558 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 132 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 04:15:23,558 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-28 04:15:23,600 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 56. [2022-04-28 04:15:23,600 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:15:23,600 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 56 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 34 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 04:15:23,602 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 56 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 34 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 04:15:23,603 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 56 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 34 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 04:15:23,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:23,606 INFO L93 Difference]: Finished difference Result 57 states and 70 transitions. [2022-04-28 04:15:23,606 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 70 transitions. [2022-04-28 04:15:23,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:23,607 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:23,607 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 34 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 57 states. [2022-04-28 04:15:23,607 INFO L87 Difference]: Start difference. First operand has 56 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 34 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 57 states. [2022-04-28 04:15:23,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:23,610 INFO L93 Difference]: Finished difference Result 57 states and 70 transitions. [2022-04-28 04:15:23,610 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 70 transitions. [2022-04-28 04:15:23,610 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:23,610 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:23,611 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:15:23,611 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:15:23,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 34 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 04:15:23,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 69 transitions. [2022-04-28 04:15:23,613 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 69 transitions. Word has length 44 [2022-04-28 04:15:23,614 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:15:23,614 INFO L495 AbstractCegarLoop]: Abstraction has 56 states and 69 transitions. [2022-04-28 04:15:23,614 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 04:15:23,614 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 69 transitions. [2022-04-28 04:15:23,694 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:23,694 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 69 transitions. [2022-04-28 04:15:23,695 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 04:15:23,695 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:15:23,695 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:15:23,722 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 04:15:23,919 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:15:23,920 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:15:23,920 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:15:23,920 INFO L85 PathProgramCache]: Analyzing trace with hash -79102156, now seen corresponding path program 1 times [2022-04-28 04:15:23,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:23,920 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1399329621] [2022-04-28 04:15:23,920 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:15:23,920 INFO L85 PathProgramCache]: Analyzing trace with hash -79102156, now seen corresponding path program 2 times [2022-04-28 04:15:23,921 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:15:23,921 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1977626705] [2022-04-28 04:15:23,921 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:15:23,921 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:15:23,936 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:15:23,936 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [952069728] [2022-04-28 04:15:23,936 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:15:23,936 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:15:23,937 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:15:23,940 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:15:23,941 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 04:15:23,988 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:15:23,988 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:15:23,989 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 04:15:24,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:24,002 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:15:28,295 INFO L272 TraceCheckUtils]: 0: Hoare triple {2336#true} call ULTIMATE.init(); {2336#true} is VALID [2022-04-28 04:15:28,296 INFO L290 TraceCheckUtils]: 1: Hoare triple {2336#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); {2336#true} is VALID [2022-04-28 04:15:28,296 INFO L290 TraceCheckUtils]: 2: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-28 04:15:28,296 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2336#true} {2336#true} #96#return; {2336#true} is VALID [2022-04-28 04:15:28,296 INFO L272 TraceCheckUtils]: 4: Hoare triple {2336#true} call #t~ret6 := main(); {2336#true} is VALID [2022-04-28 04:15:28,296 INFO L290 TraceCheckUtils]: 5: Hoare triple {2336#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2336#true} is VALID [2022-04-28 04:15:28,296 INFO L272 TraceCheckUtils]: 6: Hoare triple {2336#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2336#true} is VALID [2022-04-28 04:15:28,296 INFO L290 TraceCheckUtils]: 7: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-28 04:15:28,297 INFO L290 TraceCheckUtils]: 8: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-28 04:15:28,297 INFO L290 TraceCheckUtils]: 9: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-28 04:15:28,297 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2336#true} {2336#true} #76#return; {2336#true} is VALID [2022-04-28 04:15:28,297 INFO L272 TraceCheckUtils]: 11: Hoare triple {2336#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2336#true} is VALID [2022-04-28 04:15:28,300 INFO L290 TraceCheckUtils]: 12: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-28 04:15:28,300 INFO L290 TraceCheckUtils]: 13: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-28 04:15:28,300 INFO L290 TraceCheckUtils]: 14: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-28 04:15:28,300 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2336#true} {2336#true} #78#return; {2336#true} is VALID [2022-04-28 04:15:28,304 INFO L290 TraceCheckUtils]: 16: Hoare triple {2336#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; {2389#(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-28 04:15:28,304 INFO L272 TraceCheckUtils]: 17: Hoare triple {2389#(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)); {2336#true} is VALID [2022-04-28 04:15:28,304 INFO L290 TraceCheckUtils]: 18: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-28 04:15:28,304 INFO L290 TraceCheckUtils]: 19: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-28 04:15:28,304 INFO L290 TraceCheckUtils]: 20: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-28 04:15:28,305 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2336#true} {2389#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #80#return; {2389#(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-28 04:15:28,305 INFO L272 TraceCheckUtils]: 22: Hoare triple {2389#(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)); {2336#true} is VALID [2022-04-28 04:15:28,305 INFO L290 TraceCheckUtils]: 23: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-28 04:15:28,305 INFO L290 TraceCheckUtils]: 24: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-28 04:15:28,305 INFO L290 TraceCheckUtils]: 25: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-28 04:15:28,305 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2336#true} {2389#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #82#return; {2389#(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-28 04:15:28,306 INFO L290 TraceCheckUtils]: 27: Hoare triple {2389#(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; {2389#(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-28 04:15:28,306 INFO L290 TraceCheckUtils]: 28: Hoare triple {2389#(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; {2389#(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-28 04:15:28,307 INFO L290 TraceCheckUtils]: 29: Hoare triple {2389#(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; {2389#(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-28 04:15:28,307 INFO L272 TraceCheckUtils]: 30: Hoare triple {2389#(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)); {2336#true} is VALID [2022-04-28 04:15:28,307 INFO L290 TraceCheckUtils]: 31: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-28 04:15:28,307 INFO L290 TraceCheckUtils]: 32: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-28 04:15:28,307 INFO L290 TraceCheckUtils]: 33: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-28 04:15:28,308 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2336#true} {2389#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #84#return; {2389#(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-28 04:15:28,308 INFO L272 TraceCheckUtils]: 35: Hoare triple {2389#(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)); {2336#true} is VALID [2022-04-28 04:15:28,309 INFO L290 TraceCheckUtils]: 36: Hoare triple {2336#true} ~cond := #in~cond; {2450#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:15:28,309 INFO L290 TraceCheckUtils]: 37: Hoare triple {2450#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2454#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:15:28,310 INFO L290 TraceCheckUtils]: 38: Hoare triple {2454#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2454#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:15:28,310 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2454#(not (= |__VERIFIER_assert_#in~cond| 0))} {2389#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #86#return; {2389#(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-28 04:15:28,311 INFO L272 TraceCheckUtils]: 40: Hoare triple {2389#(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)); {2336#true} is VALID [2022-04-28 04:15:28,311 INFO L290 TraceCheckUtils]: 41: Hoare triple {2336#true} ~cond := #in~cond; {2450#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:15:28,311 INFO L290 TraceCheckUtils]: 42: Hoare triple {2450#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2454#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:15:28,312 INFO L290 TraceCheckUtils]: 43: Hoare triple {2454#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2454#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:15:28,312 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2454#(not (= |__VERIFIER_assert_#in~cond| 0))} {2389#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #88#return; {2389#(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-28 04:15:28,314 INFO L272 TraceCheckUtils]: 45: Hoare triple {2389#(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)); {2479#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:15:28,314 INFO L290 TraceCheckUtils]: 46: Hoare triple {2479#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2483#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:15:28,314 INFO L290 TraceCheckUtils]: 47: Hoare triple {2483#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2337#false} is VALID [2022-04-28 04:15:28,314 INFO L290 TraceCheckUtils]: 48: Hoare triple {2337#false} assume !false; {2337#false} is VALID [2022-04-28 04:15:28,315 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 10 proven. 2 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-28 04:15:28,315 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:16:21,452 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:16:21,452 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1977626705] [2022-04-28 04:16:21,452 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:16:21,452 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [952069728] [2022-04-28 04:16:21,452 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [952069728] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:16:21,452 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 04:16:21,453 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2022-04-28 04:16:21,453 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:16:21,453 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1399329621] [2022-04-28 04:16:21,453 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1399329621] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:16:21,453 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:16:21,453 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 04:16:21,453 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1396996704] [2022-04-28 04:16:21,453 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:16:21,453 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 49 [2022-04-28 04:16:21,454 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:16:21,454 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 04:16:21,499 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-28 04:16:21,499 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 04:16:21,500 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:16:21,501 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 04:16:21,501 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 04:16:21,502 INFO L87 Difference]: Start difference. First operand 56 states and 69 transitions. Second operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 04:16:21,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:21,940 INFO L93 Difference]: Finished difference Result 63 states and 75 transitions. [2022-04-28 04:16:21,940 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 04:16:21,941 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 49 [2022-04-28 04:16:21,941 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:16:21,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 04:16:21,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 04:16:21,943 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 04:16:21,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 04:16:21,944 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-28 04:16:22,032 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:22,034 INFO L225 Difference]: With dead ends: 63 [2022-04-28 04:16:22,034 INFO L226 Difference]: Without dead ends: 61 [2022-04-28 04:16:22,035 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 55 GetRequests, 45 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-28 04:16:22,035 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 12 mSDsluCounter, 84 mSDsCounter, 0 mSdLazyCounter, 104 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 115 SdHoareTripleChecker+Invalid, 107 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 104 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:16:22,035 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 115 Invalid, 107 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 104 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:16:22,036 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-28 04:16:22,097 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 60. [2022-04-28 04:16:22,097 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:16:22,098 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 60 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 37 states have internal predecessors, (38), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 04:16:22,100 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 60 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 37 states have internal predecessors, (38), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 04:16:22,100 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 60 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 37 states have internal predecessors, (38), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 04:16:22,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:22,105 INFO L93 Difference]: Finished difference Result 61 states and 73 transitions. [2022-04-28 04:16:22,105 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 73 transitions. [2022-04-28 04:16:22,107 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:16:22,107 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:16:22,107 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 37 states have internal predecessors, (38), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 61 states. [2022-04-28 04:16:22,108 INFO L87 Difference]: Start difference. First operand has 60 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 37 states have internal predecessors, (38), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 61 states. [2022-04-28 04:16:22,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:22,111 INFO L93 Difference]: Finished difference Result 61 states and 73 transitions. [2022-04-28 04:16:22,111 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 73 transitions. [2022-04-28 04:16:22,111 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:16:22,111 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:16:22,111 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:16:22,111 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:16:22,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 37 states have internal predecessors, (38), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 04:16:22,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 72 transitions. [2022-04-28 04:16:22,114 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 72 transitions. Word has length 49 [2022-04-28 04:16:22,115 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:16:22,115 INFO L495 AbstractCegarLoop]: Abstraction has 60 states and 72 transitions. [2022-04-28 04:16:22,115 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 04:16:22,115 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 60 states and 72 transitions. [2022-04-28 04:16:22,225 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:22,226 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 72 transitions. [2022-04-28 04:16:22,226 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-28 04:16:22,226 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:16:22,227 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:16:22,249 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 04:16:22,427 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:16:22,428 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:16:22,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:16:22,428 INFO L85 PathProgramCache]: Analyzing trace with hash -2126113716, now seen corresponding path program 1 times [2022-04-28 04:16:22,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:16:22,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [303816937] [2022-04-28 04:16:22,429 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:16:22,429 INFO L85 PathProgramCache]: Analyzing trace with hash -2126113716, now seen corresponding path program 2 times [2022-04-28 04:16:22,429 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:16:22,429 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [251199753] [2022-04-28 04:16:22,429 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:16:22,429 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:16:22,442 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:16:22,443 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [746602080] [2022-04-28 04:16:22,443 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:16:22,443 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:16:22,443 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:16:22,444 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:16:22,453 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 04:16:22,499 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:16:22,499 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:16:22,501 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 04:16:22,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:16:22,514 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:16:22,706 INFO L272 TraceCheckUtils]: 0: Hoare triple {2878#true} call ULTIMATE.init(); {2878#true} is VALID [2022-04-28 04:16:22,706 INFO L290 TraceCheckUtils]: 1: Hoare triple {2878#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); {2878#true} is VALID [2022-04-28 04:16:22,706 INFO L290 TraceCheckUtils]: 2: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 04:16:22,706 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2878#true} {2878#true} #96#return; {2878#true} is VALID [2022-04-28 04:16:22,706 INFO L272 TraceCheckUtils]: 4: Hoare triple {2878#true} call #t~ret6 := main(); {2878#true} is VALID [2022-04-28 04:16:22,707 INFO L290 TraceCheckUtils]: 5: Hoare triple {2878#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2878#true} is VALID [2022-04-28 04:16:22,707 INFO L272 TraceCheckUtils]: 6: Hoare triple {2878#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2878#true} is VALID [2022-04-28 04:16:22,707 INFO L290 TraceCheckUtils]: 7: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 04:16:22,707 INFO L290 TraceCheckUtils]: 8: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 04:16:22,707 INFO L290 TraceCheckUtils]: 9: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 04:16:22,707 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2878#true} {2878#true} #76#return; {2878#true} is VALID [2022-04-28 04:16:22,707 INFO L272 TraceCheckUtils]: 11: Hoare triple {2878#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2878#true} is VALID [2022-04-28 04:16:22,707 INFO L290 TraceCheckUtils]: 12: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 04:16:22,708 INFO L290 TraceCheckUtils]: 13: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 04:16:22,708 INFO L290 TraceCheckUtils]: 14: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 04:16:22,708 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2878#true} {2878#true} #78#return; {2878#true} is VALID [2022-04-28 04:16:22,708 INFO L290 TraceCheckUtils]: 16: Hoare triple {2878#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; {2878#true} is VALID [2022-04-28 04:16:22,708 INFO L272 TraceCheckUtils]: 17: Hoare triple {2878#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2878#true} is VALID [2022-04-28 04:16:22,708 INFO L290 TraceCheckUtils]: 18: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 04:16:22,708 INFO L290 TraceCheckUtils]: 19: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 04:16:22,708 INFO L290 TraceCheckUtils]: 20: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 04:16:22,708 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2878#true} {2878#true} #80#return; {2878#true} is VALID [2022-04-28 04:16:22,708 INFO L272 TraceCheckUtils]: 22: Hoare triple {2878#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2878#true} is VALID [2022-04-28 04:16:22,709 INFO L290 TraceCheckUtils]: 23: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 04:16:22,709 INFO L290 TraceCheckUtils]: 24: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 04:16:22,709 INFO L290 TraceCheckUtils]: 25: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 04:16:22,709 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2878#true} {2878#true} #82#return; {2878#true} is VALID [2022-04-28 04:16:22,709 INFO L290 TraceCheckUtils]: 27: Hoare triple {2878#true} assume !false; {2878#true} is VALID [2022-04-28 04:16:22,714 INFO L290 TraceCheckUtils]: 28: Hoare triple {2878#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 04:16:22,715 INFO L290 TraceCheckUtils]: 29: Hoare triple {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !false; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 04:16:22,715 INFO L272 TraceCheckUtils]: 30: Hoare triple {2967#(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)); {2878#true} is VALID [2022-04-28 04:16:22,715 INFO L290 TraceCheckUtils]: 31: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 04:16:22,715 INFO L290 TraceCheckUtils]: 32: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 04:16:22,715 INFO L290 TraceCheckUtils]: 33: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 04:16:22,716 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2878#true} {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #84#return; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 04:16:22,716 INFO L272 TraceCheckUtils]: 35: Hoare triple {2967#(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)); {2878#true} is VALID [2022-04-28 04:16:22,716 INFO L290 TraceCheckUtils]: 36: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 04:16:22,716 INFO L290 TraceCheckUtils]: 37: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 04:16:22,717 INFO L290 TraceCheckUtils]: 38: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 04:16:22,717 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2878#true} {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #86#return; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 04:16:22,718 INFO L272 TraceCheckUtils]: 40: Hoare triple {2967#(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)); {2878#true} is VALID [2022-04-28 04:16:22,718 INFO L290 TraceCheckUtils]: 41: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 04:16:22,718 INFO L290 TraceCheckUtils]: 42: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 04:16:22,718 INFO L290 TraceCheckUtils]: 43: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 04:16:22,719 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2878#true} {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #88#return; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 04:16:22,719 INFO L272 TraceCheckUtils]: 45: Hoare triple {2967#(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)); {2878#true} is VALID [2022-04-28 04:16:22,719 INFO L290 TraceCheckUtils]: 46: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 04:16:22,719 INFO L290 TraceCheckUtils]: 47: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 04:16:22,719 INFO L290 TraceCheckUtils]: 48: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 04:16:22,720 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2878#true} {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #90#return; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 04:16:22,721 INFO L290 TraceCheckUtils]: 50: Hoare triple {2967#(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; {3034#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} is VALID [2022-04-28 04:16:22,721 INFO L290 TraceCheckUtils]: 51: Hoare triple {3034#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} assume !false; {3034#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} is VALID [2022-04-28 04:16:22,722 INFO L272 TraceCheckUtils]: 52: Hoare triple {3034#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3041#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:16:22,722 INFO L290 TraceCheckUtils]: 53: Hoare triple {3041#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3045#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:16:22,723 INFO L290 TraceCheckUtils]: 54: Hoare triple {3045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2879#false} is VALID [2022-04-28 04:16:22,723 INFO L290 TraceCheckUtils]: 55: Hoare triple {2879#false} assume !false; {2879#false} is VALID [2022-04-28 04:16:22,723 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 04:16:22,723 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:16:39,769 INFO L290 TraceCheckUtils]: 55: Hoare triple {2879#false} assume !false; {2879#false} is VALID [2022-04-28 04:16:39,770 INFO L290 TraceCheckUtils]: 54: Hoare triple {3045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2879#false} is VALID [2022-04-28 04:16:39,770 INFO L290 TraceCheckUtils]: 53: Hoare triple {3041#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3045#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:16:39,771 INFO L272 TraceCheckUtils]: 52: Hoare triple {3061#(= 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)); {3041#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:16:39,771 INFO L290 TraceCheckUtils]: 51: Hoare triple {3061#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {3061#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:16:39,771 INFO L290 TraceCheckUtils]: 50: Hoare triple {2967#(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; {3061#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:16:39,772 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2878#true} {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #90#return; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 04:16:39,772 INFO L290 TraceCheckUtils]: 48: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 04:16:39,772 INFO L290 TraceCheckUtils]: 47: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 04:16:39,773 INFO L290 TraceCheckUtils]: 46: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 04:16:39,773 INFO L272 TraceCheckUtils]: 45: Hoare triple {2967#(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)); {2878#true} is VALID [2022-04-28 04:16:39,773 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2878#true} {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #88#return; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 04:16:39,774 INFO L290 TraceCheckUtils]: 43: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 04:16:39,774 INFO L290 TraceCheckUtils]: 42: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 04:16:39,774 INFO L290 TraceCheckUtils]: 41: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 04:16:39,774 INFO L272 TraceCheckUtils]: 40: Hoare triple {2967#(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)); {2878#true} is VALID [2022-04-28 04:16:39,774 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2878#true} {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #86#return; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 04:16:39,774 INFO L290 TraceCheckUtils]: 38: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 04:16:39,774 INFO L290 TraceCheckUtils]: 37: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 04:16:39,775 INFO L290 TraceCheckUtils]: 36: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 04:16:39,775 INFO L272 TraceCheckUtils]: 35: Hoare triple {2967#(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)); {2878#true} is VALID [2022-04-28 04:16:39,775 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2878#true} {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #84#return; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 04:16:39,775 INFO L290 TraceCheckUtils]: 33: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 04:16:39,775 INFO L290 TraceCheckUtils]: 32: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 04:16:39,775 INFO L290 TraceCheckUtils]: 31: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 04:16:39,775 INFO L272 TraceCheckUtils]: 30: Hoare triple {2967#(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)); {2878#true} is VALID [2022-04-28 04:16:39,776 INFO L290 TraceCheckUtils]: 29: Hoare triple {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !false; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 04:16:39,776 INFO L290 TraceCheckUtils]: 28: Hoare triple {2878#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 04:16:39,776 INFO L290 TraceCheckUtils]: 27: Hoare triple {2878#true} assume !false; {2878#true} is VALID [2022-04-28 04:16:39,776 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2878#true} {2878#true} #82#return; {2878#true} is VALID [2022-04-28 04:16:39,776 INFO L290 TraceCheckUtils]: 25: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 04:16:39,776 INFO L290 TraceCheckUtils]: 24: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 04:16:39,776 INFO L290 TraceCheckUtils]: 23: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 04:16:39,776 INFO L272 TraceCheckUtils]: 22: Hoare triple {2878#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2878#true} is VALID [2022-04-28 04:16:39,776 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2878#true} {2878#true} #80#return; {2878#true} is VALID [2022-04-28 04:16:39,776 INFO L290 TraceCheckUtils]: 20: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 04:16:39,777 INFO L290 TraceCheckUtils]: 19: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 04:16:39,777 INFO L290 TraceCheckUtils]: 18: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 04:16:39,777 INFO L272 TraceCheckUtils]: 17: Hoare triple {2878#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2878#true} is VALID [2022-04-28 04:16:39,777 INFO L290 TraceCheckUtils]: 16: Hoare triple {2878#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; {2878#true} is VALID [2022-04-28 04:16:39,777 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2878#true} {2878#true} #78#return; {2878#true} is VALID [2022-04-28 04:16:39,777 INFO L290 TraceCheckUtils]: 14: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 04:16:39,777 INFO L290 TraceCheckUtils]: 13: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 04:16:39,777 INFO L290 TraceCheckUtils]: 12: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 04:16:39,777 INFO L272 TraceCheckUtils]: 11: Hoare triple {2878#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2878#true} is VALID [2022-04-28 04:16:39,777 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2878#true} {2878#true} #76#return; {2878#true} is VALID [2022-04-28 04:16:39,777 INFO L290 TraceCheckUtils]: 9: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 04:16:39,777 INFO L290 TraceCheckUtils]: 8: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 04:16:39,777 INFO L290 TraceCheckUtils]: 7: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 04:16:39,777 INFO L272 TraceCheckUtils]: 6: Hoare triple {2878#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2878#true} is VALID [2022-04-28 04:16:39,778 INFO L290 TraceCheckUtils]: 5: Hoare triple {2878#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2878#true} is VALID [2022-04-28 04:16:39,778 INFO L272 TraceCheckUtils]: 4: Hoare triple {2878#true} call #t~ret6 := main(); {2878#true} is VALID [2022-04-28 04:16:39,778 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2878#true} {2878#true} #96#return; {2878#true} is VALID [2022-04-28 04:16:39,778 INFO L290 TraceCheckUtils]: 2: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 04:16:39,778 INFO L290 TraceCheckUtils]: 1: Hoare triple {2878#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); {2878#true} is VALID [2022-04-28 04:16:39,778 INFO L272 TraceCheckUtils]: 0: Hoare triple {2878#true} call ULTIMATE.init(); {2878#true} is VALID [2022-04-28 04:16:39,778 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 04:16:39,778 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:16:39,779 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [251199753] [2022-04-28 04:16:39,779 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:16:39,779 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [746602080] [2022-04-28 04:16:39,779 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [746602080] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:16:39,779 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:16:39,779 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-28 04:16:39,779 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:16:39,779 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [303816937] [2022-04-28 04:16:39,779 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [303816937] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:16:39,779 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:16:39,780 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 04:16:39,780 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [914480845] [2022-04-28 04:16:39,780 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:16:39,780 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (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 56 [2022-04-28 04:16:39,780 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:16:39,780 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (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-28 04:16:39,810 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:39,810 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 04:16:39,810 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:16:39,811 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 04:16:39,811 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 04:16:39,811 INFO L87 Difference]: Start difference. First operand 60 states and 72 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (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-28 04:16:40,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:40,177 INFO L93 Difference]: Finished difference Result 88 states and 117 transitions. [2022-04-28 04:16:40,178 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 04:16:40,178 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (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 56 [2022-04-28 04:16:40,178 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:16:40,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (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-28 04:16:40,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-28 04:16:40,180 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (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-28 04:16:40,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-28 04:16:40,181 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 70 transitions. [2022-04-28 04:16:40,251 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:40,254 INFO L225 Difference]: With dead ends: 88 [2022-04-28 04:16:40,254 INFO L226 Difference]: Without dead ends: 86 [2022-04-28 04:16:40,254 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 104 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 04:16:40,255 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 7 mSDsluCounter, 135 mSDsCounter, 0 mSdLazyCounter, 88 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 182 SdHoareTripleChecker+Invalid, 89 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 88 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:16:40,256 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 182 Invalid, 89 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 88 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:16:40,256 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-28 04:16:40,319 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 76. [2022-04-28 04:16:40,319 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:16:40,319 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand has 76 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 26 states have call successors, (26), 9 states have call predecessors, (26), 8 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 04:16:40,320 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand has 76 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 26 states have call successors, (26), 9 states have call predecessors, (26), 8 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 04:16:40,320 INFO L87 Difference]: Start difference. First operand 86 states. Second operand has 76 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 26 states have call successors, (26), 9 states have call predecessors, (26), 8 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 04:16:40,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:40,323 INFO L93 Difference]: Finished difference Result 86 states and 115 transitions. [2022-04-28 04:16:40,323 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 115 transitions. [2022-04-28 04:16:40,324 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:16:40,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:16:40,324 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 26 states have call successors, (26), 9 states have call predecessors, (26), 8 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 86 states. [2022-04-28 04:16:40,325 INFO L87 Difference]: Start difference. First operand has 76 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 26 states have call successors, (26), 9 states have call predecessors, (26), 8 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 86 states. [2022-04-28 04:16:40,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:40,328 INFO L93 Difference]: Finished difference Result 86 states and 115 transitions. [2022-04-28 04:16:40,328 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 115 transitions. [2022-04-28 04:16:40,329 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:16:40,329 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:16:40,329 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:16:40,329 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:16:40,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 26 states have call successors, (26), 9 states have call predecessors, (26), 8 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 04:16:40,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 97 transitions. [2022-04-28 04:16:40,332 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 97 transitions. Word has length 56 [2022-04-28 04:16:40,332 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:16:40,333 INFO L495 AbstractCegarLoop]: Abstraction has 76 states and 97 transitions. [2022-04-28 04:16:40,333 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (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-28 04:16:40,333 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 97 transitions. [2022-04-28 04:16:40,473 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:40,474 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 97 transitions. [2022-04-28 04:16:40,474 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-28 04:16:40,474 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:16:40,474 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:16:40,500 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 04:16:40,675 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:16:40,675 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:16:40,676 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:16:40,676 INFO L85 PathProgramCache]: Analyzing trace with hash -1051433450, now seen corresponding path program 1 times [2022-04-28 04:16:40,676 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:16:40,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [261384416] [2022-04-28 04:16:40,676 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:16:40,676 INFO L85 PathProgramCache]: Analyzing trace with hash -1051433450, now seen corresponding path program 2 times [2022-04-28 04:16:40,676 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:16:40,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [673152176] [2022-04-28 04:16:40,676 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:16:40,676 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:16:40,688 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:16:40,689 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [962876528] [2022-04-28 04:16:40,689 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:16:40,689 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:16:40,689 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:16:40,690 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:16:40,695 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 04:16:40,735 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:16:40,735 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:16:40,736 INFO L263 TraceCheckSpWp]: Trace formula consists of 173 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 04:16:40,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:16:40,751 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:16:40,971 INFO L272 TraceCheckUtils]: 0: Hoare triple {3722#true} call ULTIMATE.init(); {3722#true} is VALID [2022-04-28 04:16:40,971 INFO L290 TraceCheckUtils]: 1: Hoare triple {3722#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); {3722#true} is VALID [2022-04-28 04:16:40,972 INFO L290 TraceCheckUtils]: 2: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 04:16:40,972 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3722#true} {3722#true} #96#return; {3722#true} is VALID [2022-04-28 04:16:40,972 INFO L272 TraceCheckUtils]: 4: Hoare triple {3722#true} call #t~ret6 := main(); {3722#true} is VALID [2022-04-28 04:16:40,972 INFO L290 TraceCheckUtils]: 5: Hoare triple {3722#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3722#true} is VALID [2022-04-28 04:16:40,972 INFO L272 TraceCheckUtils]: 6: Hoare triple {3722#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3722#true} is VALID [2022-04-28 04:16:40,972 INFO L290 TraceCheckUtils]: 7: Hoare triple {3722#true} ~cond := #in~cond; {3748#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:16:40,972 INFO L290 TraceCheckUtils]: 8: Hoare triple {3748#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3752#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:16:40,973 INFO L290 TraceCheckUtils]: 9: Hoare triple {3752#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3752#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:16:40,973 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3752#(not (= |assume_abort_if_not_#in~cond| 0))} {3722#true} #76#return; {3759#(<= 1 main_~x~0)} is VALID [2022-04-28 04:16:40,973 INFO L272 TraceCheckUtils]: 11: Hoare triple {3759#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3722#true} is VALID [2022-04-28 04:16:40,973 INFO L290 TraceCheckUtils]: 12: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 04:16:40,973 INFO L290 TraceCheckUtils]: 13: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 04:16:40,973 INFO L290 TraceCheckUtils]: 14: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 04:16:40,974 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3722#true} {3759#(<= 1 main_~x~0)} #78#return; {3759#(<= 1 main_~x~0)} is VALID [2022-04-28 04:16:40,974 INFO L290 TraceCheckUtils]: 16: Hoare triple {3759#(<= 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; {3778#(<= 1 main_~a~0)} is VALID [2022-04-28 04:16:40,974 INFO L272 TraceCheckUtils]: 17: Hoare triple {3778#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3722#true} is VALID [2022-04-28 04:16:40,974 INFO L290 TraceCheckUtils]: 18: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 04:16:40,974 INFO L290 TraceCheckUtils]: 19: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 04:16:40,975 INFO L290 TraceCheckUtils]: 20: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 04:16:40,975 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3722#true} {3778#(<= 1 main_~a~0)} #80#return; {3778#(<= 1 main_~a~0)} is VALID [2022-04-28 04:16:40,975 INFO L272 TraceCheckUtils]: 22: Hoare triple {3778#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3722#true} is VALID [2022-04-28 04:16:40,975 INFO L290 TraceCheckUtils]: 23: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 04:16:40,975 INFO L290 TraceCheckUtils]: 24: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 04:16:40,975 INFO L290 TraceCheckUtils]: 25: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 04:16:40,976 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3722#true} {3778#(<= 1 main_~a~0)} #82#return; {3778#(<= 1 main_~a~0)} is VALID [2022-04-28 04:16:40,983 INFO L290 TraceCheckUtils]: 27: Hoare triple {3778#(<= 1 main_~a~0)} assume !false; {3778#(<= 1 main_~a~0)} is VALID [2022-04-28 04:16:40,984 INFO L290 TraceCheckUtils]: 28: Hoare triple {3778#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3815#(<= 1 main_~c~0)} is VALID [2022-04-28 04:16:40,984 INFO L290 TraceCheckUtils]: 29: Hoare triple {3815#(<= 1 main_~c~0)} assume !false; {3815#(<= 1 main_~c~0)} is VALID [2022-04-28 04:16:40,984 INFO L272 TraceCheckUtils]: 30: Hoare triple {3815#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3722#true} is VALID [2022-04-28 04:16:40,984 INFO L290 TraceCheckUtils]: 31: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 04:16:40,985 INFO L290 TraceCheckUtils]: 32: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 04:16:40,985 INFO L290 TraceCheckUtils]: 33: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 04:16:40,986 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3722#true} {3815#(<= 1 main_~c~0)} #84#return; {3815#(<= 1 main_~c~0)} is VALID [2022-04-28 04:16:40,986 INFO L272 TraceCheckUtils]: 35: Hoare triple {3815#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3722#true} is VALID [2022-04-28 04:16:40,986 INFO L290 TraceCheckUtils]: 36: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 04:16:40,986 INFO L290 TraceCheckUtils]: 37: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 04:16:40,986 INFO L290 TraceCheckUtils]: 38: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 04:16:40,987 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3722#true} {3815#(<= 1 main_~c~0)} #86#return; {3815#(<= 1 main_~c~0)} is VALID [2022-04-28 04:16:40,987 INFO L272 TraceCheckUtils]: 40: Hoare triple {3815#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3722#true} is VALID [2022-04-28 04:16:40,987 INFO L290 TraceCheckUtils]: 41: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 04:16:40,987 INFO L290 TraceCheckUtils]: 42: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 04:16:40,987 INFO L290 TraceCheckUtils]: 43: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 04:16:40,988 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3722#true} {3815#(<= 1 main_~c~0)} #88#return; {3815#(<= 1 main_~c~0)} is VALID [2022-04-28 04:16:40,988 INFO L272 TraceCheckUtils]: 45: Hoare triple {3815#(<= 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)); {3722#true} is VALID [2022-04-28 04:16:40,988 INFO L290 TraceCheckUtils]: 46: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 04:16:40,988 INFO L290 TraceCheckUtils]: 47: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 04:16:40,988 INFO L290 TraceCheckUtils]: 48: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 04:16:40,993 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {3722#true} {3815#(<= 1 main_~c~0)} #90#return; {3815#(<= 1 main_~c~0)} is VALID [2022-04-28 04:16:40,994 INFO L290 TraceCheckUtils]: 50: Hoare triple {3815#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3815#(<= 1 main_~c~0)} is VALID [2022-04-28 04:16:40,994 INFO L290 TraceCheckUtils]: 51: Hoare triple {3815#(<= 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; {3885#(<= 1 main_~b~0)} is VALID [2022-04-28 04:16:40,995 INFO L290 TraceCheckUtils]: 52: Hoare triple {3885#(<= 1 main_~b~0)} assume !false; {3885#(<= 1 main_~b~0)} is VALID [2022-04-28 04:16:40,995 INFO L290 TraceCheckUtils]: 53: Hoare triple {3885#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3723#false} is VALID [2022-04-28 04:16:40,995 INFO L272 TraceCheckUtils]: 54: Hoare triple {3723#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {3723#false} is VALID [2022-04-28 04:16:40,995 INFO L290 TraceCheckUtils]: 55: Hoare triple {3723#false} ~cond := #in~cond; {3723#false} is VALID [2022-04-28 04:16:40,995 INFO L290 TraceCheckUtils]: 56: Hoare triple {3723#false} assume 0 == ~cond; {3723#false} is VALID [2022-04-28 04:16:40,995 INFO L290 TraceCheckUtils]: 57: Hoare triple {3723#false} assume !false; {3723#false} is VALID [2022-04-28 04:16:40,995 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 8 proven. 11 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 04:16:40,995 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:16:41,251 INFO L290 TraceCheckUtils]: 57: Hoare triple {3723#false} assume !false; {3723#false} is VALID [2022-04-28 04:16:41,252 INFO L290 TraceCheckUtils]: 56: Hoare triple {3723#false} assume 0 == ~cond; {3723#false} is VALID [2022-04-28 04:16:41,252 INFO L290 TraceCheckUtils]: 55: Hoare triple {3723#false} ~cond := #in~cond; {3723#false} is VALID [2022-04-28 04:16:41,252 INFO L272 TraceCheckUtils]: 54: Hoare triple {3723#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {3723#false} is VALID [2022-04-28 04:16:41,252 INFO L290 TraceCheckUtils]: 53: Hoare triple {3885#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3723#false} is VALID [2022-04-28 04:16:41,252 INFO L290 TraceCheckUtils]: 52: Hoare triple {3885#(<= 1 main_~b~0)} assume !false; {3885#(<= 1 main_~b~0)} is VALID [2022-04-28 04:16:41,253 INFO L290 TraceCheckUtils]: 51: Hoare triple {3815#(<= 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; {3885#(<= 1 main_~b~0)} is VALID [2022-04-28 04:16:41,253 INFO L290 TraceCheckUtils]: 50: Hoare triple {3815#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3815#(<= 1 main_~c~0)} is VALID [2022-04-28 04:16:41,254 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {3722#true} {3815#(<= 1 main_~c~0)} #90#return; {3815#(<= 1 main_~c~0)} is VALID [2022-04-28 04:16:41,254 INFO L290 TraceCheckUtils]: 48: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 04:16:41,254 INFO L290 TraceCheckUtils]: 47: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 04:16:41,254 INFO L290 TraceCheckUtils]: 46: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 04:16:41,254 INFO L272 TraceCheckUtils]: 45: Hoare triple {3815#(<= 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)); {3722#true} is VALID [2022-04-28 04:16:41,255 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3722#true} {3815#(<= 1 main_~c~0)} #88#return; {3815#(<= 1 main_~c~0)} is VALID [2022-04-28 04:16:41,255 INFO L290 TraceCheckUtils]: 43: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 04:16:41,255 INFO L290 TraceCheckUtils]: 42: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 04:16:41,255 INFO L290 TraceCheckUtils]: 41: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 04:16:41,255 INFO L272 TraceCheckUtils]: 40: Hoare triple {3815#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3722#true} is VALID [2022-04-28 04:16:41,255 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3722#true} {3815#(<= 1 main_~c~0)} #86#return; {3815#(<= 1 main_~c~0)} is VALID [2022-04-28 04:16:41,255 INFO L290 TraceCheckUtils]: 38: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 04:16:41,255 INFO L290 TraceCheckUtils]: 37: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 04:16:41,256 INFO L290 TraceCheckUtils]: 36: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 04:16:41,256 INFO L272 TraceCheckUtils]: 35: Hoare triple {3815#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3722#true} is VALID [2022-04-28 04:16:41,256 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3722#true} {3815#(<= 1 main_~c~0)} #84#return; {3815#(<= 1 main_~c~0)} is VALID [2022-04-28 04:16:41,256 INFO L290 TraceCheckUtils]: 33: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 04:16:41,256 INFO L290 TraceCheckUtils]: 32: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 04:16:41,256 INFO L290 TraceCheckUtils]: 31: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 04:16:41,256 INFO L272 TraceCheckUtils]: 30: Hoare triple {3815#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3722#true} is VALID [2022-04-28 04:16:41,257 INFO L290 TraceCheckUtils]: 29: Hoare triple {3815#(<= 1 main_~c~0)} assume !false; {3815#(<= 1 main_~c~0)} is VALID [2022-04-28 04:16:41,257 INFO L290 TraceCheckUtils]: 28: Hoare triple {3778#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3815#(<= 1 main_~c~0)} is VALID [2022-04-28 04:16:41,257 INFO L290 TraceCheckUtils]: 27: Hoare triple {3778#(<= 1 main_~a~0)} assume !false; {3778#(<= 1 main_~a~0)} is VALID [2022-04-28 04:16:41,257 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3722#true} {3778#(<= 1 main_~a~0)} #82#return; {3778#(<= 1 main_~a~0)} is VALID [2022-04-28 04:16:41,258 INFO L290 TraceCheckUtils]: 25: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 04:16:41,258 INFO L290 TraceCheckUtils]: 24: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 04:16:41,258 INFO L290 TraceCheckUtils]: 23: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 04:16:41,258 INFO L272 TraceCheckUtils]: 22: Hoare triple {3778#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3722#true} is VALID [2022-04-28 04:16:41,258 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3722#true} {3778#(<= 1 main_~a~0)} #80#return; {3778#(<= 1 main_~a~0)} is VALID [2022-04-28 04:16:41,258 INFO L290 TraceCheckUtils]: 20: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 04:16:41,258 INFO L290 TraceCheckUtils]: 19: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 04:16:41,258 INFO L290 TraceCheckUtils]: 18: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 04:16:41,258 INFO L272 TraceCheckUtils]: 17: Hoare triple {3778#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3722#true} is VALID [2022-04-28 04:16:41,259 INFO L290 TraceCheckUtils]: 16: Hoare triple {3759#(<= 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; {3778#(<= 1 main_~a~0)} is VALID [2022-04-28 04:16:41,259 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3722#true} {3759#(<= 1 main_~x~0)} #78#return; {3759#(<= 1 main_~x~0)} is VALID [2022-04-28 04:16:41,259 INFO L290 TraceCheckUtils]: 14: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 04:16:41,259 INFO L290 TraceCheckUtils]: 13: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 04:16:41,259 INFO L290 TraceCheckUtils]: 12: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 04:16:41,259 INFO L272 TraceCheckUtils]: 11: Hoare triple {3759#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3722#true} is VALID [2022-04-28 04:16:41,260 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3752#(not (= |assume_abort_if_not_#in~cond| 0))} {3722#true} #76#return; {3759#(<= 1 main_~x~0)} is VALID [2022-04-28 04:16:41,260 INFO L290 TraceCheckUtils]: 9: Hoare triple {3752#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3752#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:16:41,260 INFO L290 TraceCheckUtils]: 8: Hoare triple {4054#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {3752#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:16:41,261 INFO L290 TraceCheckUtils]: 7: Hoare triple {3722#true} ~cond := #in~cond; {4054#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 04:16:41,261 INFO L272 TraceCheckUtils]: 6: Hoare triple {3722#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3722#true} is VALID [2022-04-28 04:16:41,261 INFO L290 TraceCheckUtils]: 5: Hoare triple {3722#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3722#true} is VALID [2022-04-28 04:16:41,261 INFO L272 TraceCheckUtils]: 4: Hoare triple {3722#true} call #t~ret6 := main(); {3722#true} is VALID [2022-04-28 04:16:41,261 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3722#true} {3722#true} #96#return; {3722#true} is VALID [2022-04-28 04:16:41,261 INFO L290 TraceCheckUtils]: 2: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 04:16:41,261 INFO L290 TraceCheckUtils]: 1: Hoare triple {3722#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); {3722#true} is VALID [2022-04-28 04:16:41,261 INFO L272 TraceCheckUtils]: 0: Hoare triple {3722#true} call ULTIMATE.init(); {3722#true} is VALID [2022-04-28 04:16:41,261 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 8 proven. 11 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 04:16:41,261 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:16:41,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [673152176] [2022-04-28 04:16:41,262 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:16:41,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [962876528] [2022-04-28 04:16:41,262 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [962876528] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:16:41,262 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:16:41,262 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 04:16:41,262 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:16:41,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [261384416] [2022-04-28 04:16:41,262 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [261384416] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:16:41,262 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:16:41,262 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 04:16:41,262 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2071071265] [2022-04-28 04:16:41,262 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:16:41,263 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 58 [2022-04-28 04:16:41,263 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:16:41,263 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 04:16:41,295 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:41,296 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 04:16:41,296 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:16:41,296 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 04:16:41,296 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 04:16:41,296 INFO L87 Difference]: Start difference. First operand 76 states and 97 transitions. Second operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 04:16:42,089 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:42,090 INFO L93 Difference]: Finished difference Result 121 states and 167 transitions. [2022-04-28 04:16:42,090 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 04:16:42,090 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 58 [2022-04-28 04:16:42,090 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:16:42,090 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 04:16:42,093 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 105 transitions. [2022-04-28 04:16:42,093 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 04:16:42,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 105 transitions. [2022-04-28 04:16:42,095 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 105 transitions. [2022-04-28 04:16:42,213 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:42,216 INFO L225 Difference]: With dead ends: 121 [2022-04-28 04:16:42,216 INFO L226 Difference]: Without dead ends: 113 [2022-04-28 04:16:42,217 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 107 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-28 04:16:42,217 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 30 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 155 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 243 SdHoareTripleChecker+Invalid, 208 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 155 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 04:16:42,217 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 243 Invalid, 208 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 155 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 04:16:42,218 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2022-04-28 04:16:42,372 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 102. [2022-04-28 04:16:42,372 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:16:42,373 INFO L82 GeneralOperation]: Start isEquivalent. First operand 113 states. Second operand has 102 states, 54 states have (on average 1.1851851851851851) internal successors, (64), 58 states have internal predecessors, (64), 39 states have call successors, (39), 9 states have call predecessors, (39), 8 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 04:16:42,373 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand has 102 states, 54 states have (on average 1.1851851851851851) internal successors, (64), 58 states have internal predecessors, (64), 39 states have call successors, (39), 9 states have call predecessors, (39), 8 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 04:16:42,373 INFO L87 Difference]: Start difference. First operand 113 states. Second operand has 102 states, 54 states have (on average 1.1851851851851851) internal successors, (64), 58 states have internal predecessors, (64), 39 states have call successors, (39), 9 states have call predecessors, (39), 8 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 04:16:42,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:42,380 INFO L93 Difference]: Finished difference Result 113 states and 158 transitions. [2022-04-28 04:16:42,380 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 158 transitions. [2022-04-28 04:16:42,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:16:42,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:16:42,382 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 54 states have (on average 1.1851851851851851) internal successors, (64), 58 states have internal predecessors, (64), 39 states have call successors, (39), 9 states have call predecessors, (39), 8 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) Second operand 113 states. [2022-04-28 04:16:42,382 INFO L87 Difference]: Start difference. First operand has 102 states, 54 states have (on average 1.1851851851851851) internal successors, (64), 58 states have internal predecessors, (64), 39 states have call successors, (39), 9 states have call predecessors, (39), 8 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) Second operand 113 states. [2022-04-28 04:16:42,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:42,389 INFO L93 Difference]: Finished difference Result 113 states and 158 transitions. [2022-04-28 04:16:42,389 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 158 transitions. [2022-04-28 04:16:42,390 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:16:42,390 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:16:42,390 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:16:42,390 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:16:42,390 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 54 states have (on average 1.1851851851851851) internal successors, (64), 58 states have internal predecessors, (64), 39 states have call successors, (39), 9 states have call predecessors, (39), 8 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 04:16:42,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 140 transitions. [2022-04-28 04:16:42,395 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 140 transitions. Word has length 58 [2022-04-28 04:16:42,396 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:16:42,396 INFO L495 AbstractCegarLoop]: Abstraction has 102 states and 140 transitions. [2022-04-28 04:16:42,396 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 04:16:42,396 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 102 states and 140 transitions. [2022-04-28 04:16:42,615 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:42,615 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 140 transitions. [2022-04-28 04:16:42,615 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-28 04:16:42,615 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:16:42,616 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:16:42,632 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-28 04:16:42,819 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:16:42,820 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:16:42,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:16:42,820 INFO L85 PathProgramCache]: Analyzing trace with hash 998199389, now seen corresponding path program 1 times [2022-04-28 04:16:42,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:16:42,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [922098126] [2022-04-28 04:16:42,820 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:16:42,820 INFO L85 PathProgramCache]: Analyzing trace with hash 998199389, now seen corresponding path program 2 times [2022-04-28 04:16:42,821 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:16:42,821 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1144219277] [2022-04-28 04:16:42,821 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:16:42,821 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:16:42,832 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:16:42,832 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1199474976] [2022-04-28 04:16:42,832 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:16:42,832 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:16:42,832 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:16:42,833 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:16:42,843 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 04:16:42,887 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:16:42,888 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:16:42,888 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 04:16:42,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:16:42,900 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:16:45,263 INFO L272 TraceCheckUtils]: 0: Hoare triple {4760#true} call ULTIMATE.init(); {4760#true} is VALID [2022-04-28 04:16:45,264 INFO L290 TraceCheckUtils]: 1: Hoare triple {4760#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); {4760#true} is VALID [2022-04-28 04:16:45,264 INFO L290 TraceCheckUtils]: 2: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 04:16:45,264 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4760#true} {4760#true} #96#return; {4760#true} is VALID [2022-04-28 04:16:45,264 INFO L272 TraceCheckUtils]: 4: Hoare triple {4760#true} call #t~ret6 := main(); {4760#true} is VALID [2022-04-28 04:16:45,264 INFO L290 TraceCheckUtils]: 5: Hoare triple {4760#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4760#true} is VALID [2022-04-28 04:16:45,264 INFO L272 TraceCheckUtils]: 6: Hoare triple {4760#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4760#true} is VALID [2022-04-28 04:16:45,264 INFO L290 TraceCheckUtils]: 7: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 04:16:45,264 INFO L290 TraceCheckUtils]: 8: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 04:16:45,264 INFO L290 TraceCheckUtils]: 9: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 04:16:45,264 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4760#true} {4760#true} #76#return; {4760#true} is VALID [2022-04-28 04:16:45,264 INFO L272 TraceCheckUtils]: 11: Hoare triple {4760#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4760#true} is VALID [2022-04-28 04:16:45,264 INFO L290 TraceCheckUtils]: 12: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 04:16:45,264 INFO L290 TraceCheckUtils]: 13: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 04:16:45,264 INFO L290 TraceCheckUtils]: 14: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 04:16:45,264 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4760#true} {4760#true} #78#return; {4760#true} is VALID [2022-04-28 04:16:45,265 INFO L290 TraceCheckUtils]: 16: Hoare triple {4760#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; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:16:45,265 INFO L272 TraceCheckUtils]: 17: Hoare triple {4813#(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)); {4760#true} is VALID [2022-04-28 04:16:45,265 INFO L290 TraceCheckUtils]: 18: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 04:16:45,265 INFO L290 TraceCheckUtils]: 19: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 04:16:45,265 INFO L290 TraceCheckUtils]: 20: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 04:16:45,266 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4760#true} {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #80#return; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:16:45,266 INFO L272 TraceCheckUtils]: 22: Hoare triple {4813#(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)); {4760#true} is VALID [2022-04-28 04:16:45,266 INFO L290 TraceCheckUtils]: 23: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 04:16:45,266 INFO L290 TraceCheckUtils]: 24: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 04:16:45,266 INFO L290 TraceCheckUtils]: 25: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 04:16:45,266 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4760#true} {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #82#return; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:16:45,267 INFO L290 TraceCheckUtils]: 27: Hoare triple {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:16:45,267 INFO L290 TraceCheckUtils]: 28: Hoare triple {4813#(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; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:16:45,267 INFO L290 TraceCheckUtils]: 29: Hoare triple {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:16:45,267 INFO L272 TraceCheckUtils]: 30: Hoare triple {4813#(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)); {4760#true} is VALID [2022-04-28 04:16:45,268 INFO L290 TraceCheckUtils]: 31: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 04:16:45,268 INFO L290 TraceCheckUtils]: 32: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 04:16:45,268 INFO L290 TraceCheckUtils]: 33: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 04:16:45,268 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4760#true} {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #84#return; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:16:45,268 INFO L272 TraceCheckUtils]: 35: Hoare triple {4813#(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)); {4760#true} is VALID [2022-04-28 04:16:45,268 INFO L290 TraceCheckUtils]: 36: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 04:16:45,268 INFO L290 TraceCheckUtils]: 37: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 04:16:45,268 INFO L290 TraceCheckUtils]: 38: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 04:16:45,269 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4760#true} {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #86#return; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:16:45,269 INFO L272 TraceCheckUtils]: 40: Hoare triple {4813#(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)); {4760#true} is VALID [2022-04-28 04:16:45,269 INFO L290 TraceCheckUtils]: 41: Hoare triple {4760#true} ~cond := #in~cond; {4889#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:16:45,270 INFO L290 TraceCheckUtils]: 42: Hoare triple {4889#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4893#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:16:45,270 INFO L290 TraceCheckUtils]: 43: Hoare triple {4893#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4893#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:16:45,270 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4893#(not (= |__VERIFIER_assert_#in~cond| 0))} {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #88#return; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:16:45,270 INFO L272 TraceCheckUtils]: 45: Hoare triple {4813#(and (= main_~s~0 1) (= main_~b~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)); {4760#true} is VALID [2022-04-28 04:16:45,271 INFO L290 TraceCheckUtils]: 46: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 04:16:45,271 INFO L290 TraceCheckUtils]: 47: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 04:16:45,271 INFO L290 TraceCheckUtils]: 48: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 04:16:45,272 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {4760#true} {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #90#return; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:16:45,273 INFO L290 TraceCheckUtils]: 50: Hoare triple {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:16:45,273 INFO L290 TraceCheckUtils]: 51: Hoare triple {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~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; {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-28 04:16:45,273 INFO L290 TraceCheckUtils]: 52: Hoare triple {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !false; {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-28 04:16:45,274 INFO L290 TraceCheckUtils]: 53: Hoare triple {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-28 04:16:45,274 INFO L290 TraceCheckUtils]: 54: Hoare triple {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !false; {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-28 04:16:45,274 INFO L272 TraceCheckUtils]: 55: Hoare triple {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4760#true} is VALID [2022-04-28 04:16:45,274 INFO L290 TraceCheckUtils]: 56: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 04:16:45,274 INFO L290 TraceCheckUtils]: 57: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 04:16:45,274 INFO L290 TraceCheckUtils]: 58: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 04:16:45,275 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {4760#true} {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} #84#return; {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-28 04:16:45,275 INFO L272 TraceCheckUtils]: 60: Hoare triple {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4949#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:16:45,276 INFO L290 TraceCheckUtils]: 61: Hoare triple {4949#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4953#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:16:45,276 INFO L290 TraceCheckUtils]: 62: Hoare triple {4953#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4761#false} is VALID [2022-04-28 04:16:45,276 INFO L290 TraceCheckUtils]: 63: Hoare triple {4761#false} assume !false; {4761#false} is VALID [2022-04-28 04:16:45,276 INFO L134 CoverageAnalysis]: Checked inductivity of 79 backedges. 15 proven. 12 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-28 04:16:45,276 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:17:04,027 INFO L290 TraceCheckUtils]: 63: Hoare triple {4761#false} assume !false; {4761#false} is VALID [2022-04-28 04:17:04,028 INFO L290 TraceCheckUtils]: 62: Hoare triple {4953#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4761#false} is VALID [2022-04-28 04:17:04,028 INFO L290 TraceCheckUtils]: 61: Hoare triple {4949#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4953#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:17:04,029 INFO L272 TraceCheckUtils]: 60: Hoare triple {4969#(= 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)); {4949#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:17:04,029 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {4760#true} {4969#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #84#return; {4969#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:17:04,029 INFO L290 TraceCheckUtils]: 58: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 04:17:04,029 INFO L290 TraceCheckUtils]: 57: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 04:17:04,030 INFO L290 TraceCheckUtils]: 56: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 04:17:04,030 INFO L272 TraceCheckUtils]: 55: Hoare triple {4969#(= 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)); {4760#true} is VALID [2022-04-28 04:17:04,030 INFO L290 TraceCheckUtils]: 54: Hoare triple {4969#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {4969#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:17:04,030 INFO L290 TraceCheckUtils]: 53: Hoare triple {4969#(= 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; {4969#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:17:04,031 INFO L290 TraceCheckUtils]: 52: Hoare triple {4969#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {4969#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:17:04,031 INFO L290 TraceCheckUtils]: 51: Hoare triple {4997#(= 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; {4969#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:17:04,031 INFO L290 TraceCheckUtils]: 50: Hoare triple {4997#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {4997#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:17:04,032 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {4760#true} {4997#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #90#return; {4997#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:17:04,032 INFO L290 TraceCheckUtils]: 48: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 04:17:04,032 INFO L290 TraceCheckUtils]: 47: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 04:17:04,032 INFO L290 TraceCheckUtils]: 46: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 04:17:04,032 INFO L272 TraceCheckUtils]: 45: Hoare triple {4997#(= 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)); {4760#true} is VALID [2022-04-28 04:17:04,033 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4893#(not (= |__VERIFIER_assert_#in~cond| 0))} {4760#true} #88#return; {4997#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:17:04,033 INFO L290 TraceCheckUtils]: 43: Hoare triple {4893#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4893#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:17:04,033 INFO L290 TraceCheckUtils]: 42: Hoare triple {5028#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4893#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:17:04,034 INFO L290 TraceCheckUtils]: 41: Hoare triple {4760#true} ~cond := #in~cond; {5028#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:17:04,034 INFO L272 TraceCheckUtils]: 40: Hoare triple {4760#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4760#true} is VALID [2022-04-28 04:17:04,034 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4760#true} {4760#true} #86#return; {4760#true} is VALID [2022-04-28 04:17:04,034 INFO L290 TraceCheckUtils]: 38: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 04:17:04,034 INFO L290 TraceCheckUtils]: 37: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 04:17:04,034 INFO L290 TraceCheckUtils]: 36: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 04:17:04,034 INFO L272 TraceCheckUtils]: 35: Hoare triple {4760#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4760#true} is VALID [2022-04-28 04:17:04,034 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4760#true} {4760#true} #84#return; {4760#true} is VALID [2022-04-28 04:17:04,034 INFO L290 TraceCheckUtils]: 33: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 04:17:04,034 INFO L290 TraceCheckUtils]: 32: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 04:17:04,034 INFO L290 TraceCheckUtils]: 31: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 04:17:04,034 INFO L272 TraceCheckUtils]: 30: Hoare triple {4760#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4760#true} is VALID [2022-04-28 04:17:04,034 INFO L290 TraceCheckUtils]: 29: Hoare triple {4760#true} assume !false; {4760#true} is VALID [2022-04-28 04:17:04,034 INFO L290 TraceCheckUtils]: 28: Hoare triple {4760#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4760#true} is VALID [2022-04-28 04:17:04,034 INFO L290 TraceCheckUtils]: 27: Hoare triple {4760#true} assume !false; {4760#true} is VALID [2022-04-28 04:17:04,035 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4760#true} {4760#true} #82#return; {4760#true} is VALID [2022-04-28 04:17:04,035 INFO L290 TraceCheckUtils]: 25: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 04:17:04,035 INFO L290 TraceCheckUtils]: 24: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 04:17:04,035 INFO L290 TraceCheckUtils]: 23: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 04:17:04,035 INFO L272 TraceCheckUtils]: 22: Hoare triple {4760#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4760#true} is VALID [2022-04-28 04:17:04,035 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4760#true} {4760#true} #80#return; {4760#true} is VALID [2022-04-28 04:17:04,035 INFO L290 TraceCheckUtils]: 20: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 04:17:04,035 INFO L290 TraceCheckUtils]: 19: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 04:17:04,035 INFO L290 TraceCheckUtils]: 18: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 04:17:04,035 INFO L272 TraceCheckUtils]: 17: Hoare triple {4760#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4760#true} is VALID [2022-04-28 04:17:04,035 INFO L290 TraceCheckUtils]: 16: Hoare triple {4760#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; {4760#true} is VALID [2022-04-28 04:17:04,035 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4760#true} {4760#true} #78#return; {4760#true} is VALID [2022-04-28 04:17:04,035 INFO L290 TraceCheckUtils]: 14: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 04:17:04,035 INFO L290 TraceCheckUtils]: 13: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 04:17:04,035 INFO L290 TraceCheckUtils]: 12: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 04:17:04,035 INFO L272 TraceCheckUtils]: 11: Hoare triple {4760#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4760#true} is VALID [2022-04-28 04:17:04,035 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4760#true} {4760#true} #76#return; {4760#true} is VALID [2022-04-28 04:17:04,035 INFO L290 TraceCheckUtils]: 9: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 04:17:04,036 INFO L290 TraceCheckUtils]: 8: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 04:17:04,036 INFO L290 TraceCheckUtils]: 7: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 04:17:04,036 INFO L272 TraceCheckUtils]: 6: Hoare triple {4760#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4760#true} is VALID [2022-04-28 04:17:04,036 INFO L290 TraceCheckUtils]: 5: Hoare triple {4760#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4760#true} is VALID [2022-04-28 04:17:04,036 INFO L272 TraceCheckUtils]: 4: Hoare triple {4760#true} call #t~ret6 := main(); {4760#true} is VALID [2022-04-28 04:17:04,036 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4760#true} {4760#true} #96#return; {4760#true} is VALID [2022-04-28 04:17:04,036 INFO L290 TraceCheckUtils]: 2: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 04:17:04,036 INFO L290 TraceCheckUtils]: 1: Hoare triple {4760#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); {4760#true} is VALID [2022-04-28 04:17:04,036 INFO L272 TraceCheckUtils]: 0: Hoare triple {4760#true} call ULTIMATE.init(); {4760#true} is VALID [2022-04-28 04:17:04,036 INFO L134 CoverageAnalysis]: Checked inductivity of 79 backedges. 20 proven. 7 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-28 04:17:04,036 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:17:04,036 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1144219277] [2022-04-28 04:17:04,036 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:17:04,036 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1199474976] [2022-04-28 04:17:04,037 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1199474976] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:17:04,037 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:17:04,037 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-28 04:17:04,037 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:17:04,037 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [922098126] [2022-04-28 04:17:04,037 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [922098126] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:17:04,037 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:17:04,037 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 04:17:04,037 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [835297978] [2022-04-28 04:17:04,037 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:17:04,038 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), 3 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 64 [2022-04-28 04:17:04,038 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:17:04,038 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), 3 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 04:17:04,072 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:17:04,072 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 04:17:04,072 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:17:04,072 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 04:17:04,073 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-28 04:17:04,073 INFO L87 Difference]: Start difference. First operand 102 states and 140 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 3 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 04:17:04,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:17:04,786 INFO L93 Difference]: Finished difference Result 147 states and 208 transitions. [2022-04-28 04:17:04,786 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 04:17:04,786 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), 3 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 64 [2022-04-28 04:17:04,787 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:17:04,787 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), 3 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 04:17:04,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2022-04-28 04:17:04,789 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), 3 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 04:17:04,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2022-04-28 04:17:04,790 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 78 transitions. [2022-04-28 04:17:04,868 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-28 04:17:04,872 INFO L225 Difference]: With dead ends: 147 [2022-04-28 04:17:04,872 INFO L226 Difference]: Without dead ends: 144 [2022-04-28 04:17:04,872 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 117 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2022-04-28 04:17:04,873 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 14 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 182 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 157 SdHoareTripleChecker+Invalid, 187 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 182 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 04:17:04,873 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 157 Invalid, 187 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 182 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 04:17:04,873 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2022-04-28 04:17:05,083 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 141. [2022-04-28 04:17:05,083 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:17:05,084 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand has 141 states, 73 states have (on average 1.2054794520547945) internal successors, (88), 80 states have internal predecessors, (88), 58 states have call successors, (58), 10 states have call predecessors, (58), 9 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:17:05,084 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand has 141 states, 73 states have (on average 1.2054794520547945) internal successors, (88), 80 states have internal predecessors, (88), 58 states have call successors, (58), 10 states have call predecessors, (58), 9 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:17:05,085 INFO L87 Difference]: Start difference. First operand 144 states. Second operand has 141 states, 73 states have (on average 1.2054794520547945) internal successors, (88), 80 states have internal predecessors, (88), 58 states have call successors, (58), 10 states have call predecessors, (58), 9 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:17:05,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:17:05,100 INFO L93 Difference]: Finished difference Result 144 states and 204 transitions. [2022-04-28 04:17:05,100 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 204 transitions. [2022-04-28 04:17:05,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:17:05,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:17:05,102 INFO L74 IsIncluded]: Start isIncluded. First operand has 141 states, 73 states have (on average 1.2054794520547945) internal successors, (88), 80 states have internal predecessors, (88), 58 states have call successors, (58), 10 states have call predecessors, (58), 9 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 144 states. [2022-04-28 04:17:05,102 INFO L87 Difference]: Start difference. First operand has 141 states, 73 states have (on average 1.2054794520547945) internal successors, (88), 80 states have internal predecessors, (88), 58 states have call successors, (58), 10 states have call predecessors, (58), 9 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 144 states. [2022-04-28 04:17:05,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:17:05,107 INFO L93 Difference]: Finished difference Result 144 states and 204 transitions. [2022-04-28 04:17:05,107 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 204 transitions. [2022-04-28 04:17:05,107 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:17:05,107 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:17:05,108 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:17:05,108 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:17:05,108 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 141 states, 73 states have (on average 1.2054794520547945) internal successors, (88), 80 states have internal predecessors, (88), 58 states have call successors, (58), 10 states have call predecessors, (58), 9 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:17:05,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 141 states to 141 states and 201 transitions. [2022-04-28 04:17:05,113 INFO L78 Accepts]: Start accepts. Automaton has 141 states and 201 transitions. Word has length 64 [2022-04-28 04:17:05,113 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:17:05,113 INFO L495 AbstractCegarLoop]: Abstraction has 141 states and 201 transitions. [2022-04-28 04:17:05,114 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 3 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 04:17:05,114 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 141 states and 201 transitions. [2022-04-28 04:17:05,430 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 201 edges. 201 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:17:05,430 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 201 transitions. [2022-04-28 04:17:05,431 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 04:17:05,431 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:17:05,431 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:17:05,458 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 04:17:05,632 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 04:17:05,632 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:17:05,632 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:17:05,632 INFO L85 PathProgramCache]: Analyzing trace with hash 1412509540, now seen corresponding path program 3 times [2022-04-28 04:17:05,632 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:17:05,633 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [20188009] [2022-04-28 04:17:05,633 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:17:05,633 INFO L85 PathProgramCache]: Analyzing trace with hash 1412509540, now seen corresponding path program 4 times [2022-04-28 04:17:05,633 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:17:05,633 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1522512855] [2022-04-28 04:17:05,633 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:17:05,633 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:17:05,650 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:17:05,650 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1761681713] [2022-04-28 04:17:05,650 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:17:05,650 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:17:05,650 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:17:05,655 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:17:05,659 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 04:17:05,704 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:17:05,704 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:17:05,705 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 04:17:05,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:17:05,720 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:17:06,482 INFO L272 TraceCheckUtils]: 0: Hoare triple {6022#true} call ULTIMATE.init(); {6022#true} is VALID [2022-04-28 04:17:06,482 INFO L290 TraceCheckUtils]: 1: Hoare triple {6022#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); {6022#true} is VALID [2022-04-28 04:17:06,482 INFO L290 TraceCheckUtils]: 2: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:06,482 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6022#true} {6022#true} #96#return; {6022#true} is VALID [2022-04-28 04:17:06,483 INFO L272 TraceCheckUtils]: 4: Hoare triple {6022#true} call #t~ret6 := main(); {6022#true} is VALID [2022-04-28 04:17:06,483 INFO L290 TraceCheckUtils]: 5: Hoare triple {6022#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6022#true} is VALID [2022-04-28 04:17:06,483 INFO L272 TraceCheckUtils]: 6: Hoare triple {6022#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6022#true} is VALID [2022-04-28 04:17:06,483 INFO L290 TraceCheckUtils]: 7: Hoare triple {6022#true} ~cond := #in~cond; {6048#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:17:06,483 INFO L290 TraceCheckUtils]: 8: Hoare triple {6048#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6052#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:17:06,483 INFO L290 TraceCheckUtils]: 9: Hoare triple {6052#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6052#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:17:06,484 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6052#(not (= |assume_abort_if_not_#in~cond| 0))} {6022#true} #76#return; {6059#(<= 1 main_~x~0)} is VALID [2022-04-28 04:17:06,484 INFO L272 TraceCheckUtils]: 11: Hoare triple {6059#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6022#true} is VALID [2022-04-28 04:17:06,484 INFO L290 TraceCheckUtils]: 12: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 04:17:06,484 INFO L290 TraceCheckUtils]: 13: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 04:17:06,484 INFO L290 TraceCheckUtils]: 14: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:06,485 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6022#true} {6059#(<= 1 main_~x~0)} #78#return; {6059#(<= 1 main_~x~0)} is VALID [2022-04-28 04:17:06,485 INFO L290 TraceCheckUtils]: 16: Hoare triple {6059#(<= 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; {6078#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:17:06,485 INFO L272 TraceCheckUtils]: 17: Hoare triple {6078#(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)); {6022#true} is VALID [2022-04-28 04:17:06,485 INFO L290 TraceCheckUtils]: 18: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 04:17:06,485 INFO L290 TraceCheckUtils]: 19: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 04:17:06,485 INFO L290 TraceCheckUtils]: 20: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:06,486 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6022#true} {6078#(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))} #80#return; {6078#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:17:06,486 INFO L272 TraceCheckUtils]: 22: Hoare triple {6078#(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)); {6022#true} is VALID [2022-04-28 04:17:06,486 INFO L290 TraceCheckUtils]: 23: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 04:17:06,486 INFO L290 TraceCheckUtils]: 24: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 04:17:06,486 INFO L290 TraceCheckUtils]: 25: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:06,487 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6022#true} {6078#(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))} #82#return; {6078#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:17:06,487 INFO L290 TraceCheckUtils]: 27: Hoare triple {6078#(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; {6078#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:17:06,488 INFO L290 TraceCheckUtils]: 28: Hoare triple {6078#(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; {6115#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:17:06,488 INFO L290 TraceCheckUtils]: 29: Hoare triple {6115#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {6115#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:17:06,488 INFO L272 TraceCheckUtils]: 30: Hoare triple {6115#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 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)); {6022#true} is VALID [2022-04-28 04:17:06,488 INFO L290 TraceCheckUtils]: 31: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 04:17:06,488 INFO L290 TraceCheckUtils]: 32: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 04:17:06,488 INFO L290 TraceCheckUtils]: 33: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:06,489 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6022#true} {6115#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #84#return; {6115#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:17:06,489 INFO L272 TraceCheckUtils]: 35: Hoare triple {6115#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 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)); {6022#true} is VALID [2022-04-28 04:17:06,489 INFO L290 TraceCheckUtils]: 36: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 04:17:06,489 INFO L290 TraceCheckUtils]: 37: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 04:17:06,489 INFO L290 TraceCheckUtils]: 38: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:06,490 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6022#true} {6115#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #86#return; {6115#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:17:06,490 INFO L272 TraceCheckUtils]: 40: Hoare triple {6115#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 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)); {6022#true} is VALID [2022-04-28 04:17:06,490 INFO L290 TraceCheckUtils]: 41: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 04:17:06,490 INFO L290 TraceCheckUtils]: 42: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 04:17:06,490 INFO L290 TraceCheckUtils]: 43: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:06,491 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6022#true} {6115#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #88#return; {6115#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:17:06,491 INFO L272 TraceCheckUtils]: 45: Hoare triple {6115#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 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)); {6022#true} is VALID [2022-04-28 04:17:06,491 INFO L290 TraceCheckUtils]: 46: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 04:17:06,491 INFO L290 TraceCheckUtils]: 47: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 04:17:06,491 INFO L290 TraceCheckUtils]: 48: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:06,492 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {6022#true} {6115#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #90#return; {6115#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:17:06,492 INFO L290 TraceCheckUtils]: 50: Hoare triple {6115#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {6182#(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-28 04:17:06,492 INFO L290 TraceCheckUtils]: 51: Hoare triple {6182#(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; {6186#(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-28 04:17:06,493 INFO L290 TraceCheckUtils]: 52: Hoare triple {6186#(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; {6186#(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-28 04:17:06,493 INFO L290 TraceCheckUtils]: 53: Hoare triple {6186#(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; {6186#(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-28 04:17:06,494 INFO L290 TraceCheckUtils]: 54: Hoare triple {6186#(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; {6186#(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-28 04:17:06,494 INFO L272 TraceCheckUtils]: 55: Hoare triple {6186#(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)); {6022#true} is VALID [2022-04-28 04:17:06,494 INFO L290 TraceCheckUtils]: 56: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 04:17:06,494 INFO L290 TraceCheckUtils]: 57: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 04:17:06,494 INFO L290 TraceCheckUtils]: 58: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:06,500 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6022#true} {6186#(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))} #84#return; {6186#(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-28 04:17:06,500 INFO L272 TraceCheckUtils]: 60: Hoare triple {6186#(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)); {6022#true} is VALID [2022-04-28 04:17:06,500 INFO L290 TraceCheckUtils]: 61: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 04:17:06,500 INFO L290 TraceCheckUtils]: 62: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 04:17:06,500 INFO L290 TraceCheckUtils]: 63: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:06,501 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {6022#true} {6186#(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))} #86#return; {6186#(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-28 04:17:06,502 INFO L272 TraceCheckUtils]: 65: Hoare triple {6186#(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)); {6229#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:17:06,502 INFO L290 TraceCheckUtils]: 66: Hoare triple {6229#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6233#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:17:06,503 INFO L290 TraceCheckUtils]: 67: Hoare triple {6233#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6023#false} is VALID [2022-04-28 04:17:06,503 INFO L290 TraceCheckUtils]: 68: Hoare triple {6023#false} assume !false; {6023#false} is VALID [2022-04-28 04:17:06,503 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 12 proven. 15 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2022-04-28 04:17:06,503 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:17:07,071 INFO L290 TraceCheckUtils]: 68: Hoare triple {6023#false} assume !false; {6023#false} is VALID [2022-04-28 04:17:07,072 INFO L290 TraceCheckUtils]: 67: Hoare triple {6233#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6023#false} is VALID [2022-04-28 04:17:07,072 INFO L290 TraceCheckUtils]: 66: Hoare triple {6229#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6233#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:17:07,073 INFO L272 TraceCheckUtils]: 65: Hoare triple {6249#(= 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)); {6229#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:17:07,073 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {6022#true} {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #86#return; {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:17:07,073 INFO L290 TraceCheckUtils]: 63: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:07,073 INFO L290 TraceCheckUtils]: 62: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 04:17:07,073 INFO L290 TraceCheckUtils]: 61: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 04:17:07,073 INFO L272 TraceCheckUtils]: 60: Hoare triple {6249#(= 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)); {6022#true} is VALID [2022-04-28 04:17:07,074 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6022#true} {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #84#return; {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:17:07,074 INFO L290 TraceCheckUtils]: 58: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:07,074 INFO L290 TraceCheckUtils]: 57: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 04:17:07,074 INFO L290 TraceCheckUtils]: 56: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 04:17:07,074 INFO L272 TraceCheckUtils]: 55: Hoare triple {6249#(= 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)); {6022#true} is VALID [2022-04-28 04:17:07,075 INFO L290 TraceCheckUtils]: 54: Hoare triple {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:17:07,075 INFO L290 TraceCheckUtils]: 53: Hoare triple {6249#(= 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; {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:17:07,075 INFO L290 TraceCheckUtils]: 52: Hoare triple {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:17:08,044 INFO L290 TraceCheckUtils]: 51: Hoare triple {6292#(= (+ (* (+ (* (* 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; {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:17:08,045 INFO L290 TraceCheckUtils]: 50: Hoare triple {6296#(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))} assume !(~c~0 >= ~b~0); {6292#(= (+ (* (+ (* (* 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-28 04:17:08,048 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {6022#true} {6296#(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))} #90#return; {6296#(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))} is VALID [2022-04-28 04:17:08,048 INFO L290 TraceCheckUtils]: 48: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:08,048 INFO L290 TraceCheckUtils]: 47: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 04:17:08,048 INFO L290 TraceCheckUtils]: 46: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 04:17:08,048 INFO L272 TraceCheckUtils]: 45: Hoare triple {6296#(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))} 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)); {6022#true} is VALID [2022-04-28 04:17:08,049 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6022#true} {6296#(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))} #88#return; {6296#(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))} is VALID [2022-04-28 04:17:08,049 INFO L290 TraceCheckUtils]: 43: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:08,049 INFO L290 TraceCheckUtils]: 42: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 04:17:08,050 INFO L290 TraceCheckUtils]: 41: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 04:17:08,050 INFO L272 TraceCheckUtils]: 40: Hoare triple {6296#(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))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6022#true} is VALID [2022-04-28 04:17:08,051 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6022#true} {6296#(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))} #86#return; {6296#(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))} is VALID [2022-04-28 04:17:08,051 INFO L290 TraceCheckUtils]: 38: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:08,051 INFO L290 TraceCheckUtils]: 37: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 04:17:08,051 INFO L290 TraceCheckUtils]: 36: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 04:17:08,051 INFO L272 TraceCheckUtils]: 35: Hoare triple {6296#(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))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6022#true} is VALID [2022-04-28 04:17:08,052 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6022#true} {6296#(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))} #84#return; {6296#(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))} is VALID [2022-04-28 04:17:08,052 INFO L290 TraceCheckUtils]: 33: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:08,052 INFO L290 TraceCheckUtils]: 32: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 04:17:08,052 INFO L290 TraceCheckUtils]: 31: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 04:17:08,052 INFO L272 TraceCheckUtils]: 30: Hoare triple {6296#(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))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6022#true} is VALID [2022-04-28 04:17:08,053 INFO L290 TraceCheckUtils]: 29: Hoare triple {6296#(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))} assume !false; {6296#(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))} is VALID [2022-04-28 04:17:08,053 INFO L290 TraceCheckUtils]: 28: Hoare triple {6363#(or (= main_~b~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; {6296#(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))} is VALID [2022-04-28 04:17:08,054 INFO L290 TraceCheckUtils]: 27: Hoare triple {6363#(or (= main_~b~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; {6363#(or (= main_~b~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-28 04:17:08,054 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6022#true} {6363#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} #82#return; {6363#(or (= main_~b~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-28 04:17:08,054 INFO L290 TraceCheckUtils]: 25: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:08,054 INFO L290 TraceCheckUtils]: 24: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 04:17:08,054 INFO L290 TraceCheckUtils]: 23: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 04:17:08,054 INFO L272 TraceCheckUtils]: 22: Hoare triple {6363#(or (= main_~b~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)); {6022#true} is VALID [2022-04-28 04:17:08,055 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6022#true} {6363#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} #80#return; {6363#(or (= main_~b~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-28 04:17:08,055 INFO L290 TraceCheckUtils]: 20: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:08,055 INFO L290 TraceCheckUtils]: 19: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 04:17:08,055 INFO L290 TraceCheckUtils]: 18: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 04:17:08,055 INFO L272 TraceCheckUtils]: 17: Hoare triple {6363#(or (= main_~b~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)); {6022#true} is VALID [2022-04-28 04:17:08,056 INFO L290 TraceCheckUtils]: 16: Hoare triple {6022#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; {6363#(or (= main_~b~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-28 04:17:08,056 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6022#true} {6022#true} #78#return; {6022#true} is VALID [2022-04-28 04:17:08,056 INFO L290 TraceCheckUtils]: 14: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:08,056 INFO L290 TraceCheckUtils]: 13: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 04:17:08,056 INFO L290 TraceCheckUtils]: 12: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 04:17:08,056 INFO L272 TraceCheckUtils]: 11: Hoare triple {6022#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6022#true} is VALID [2022-04-28 04:17:08,056 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6022#true} {6022#true} #76#return; {6022#true} is VALID [2022-04-28 04:17:08,056 INFO L290 TraceCheckUtils]: 9: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:08,056 INFO L290 TraceCheckUtils]: 8: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 04:17:08,056 INFO L290 TraceCheckUtils]: 7: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 04:17:08,056 INFO L272 TraceCheckUtils]: 6: Hoare triple {6022#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6022#true} is VALID [2022-04-28 04:17:08,056 INFO L290 TraceCheckUtils]: 5: Hoare triple {6022#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6022#true} is VALID [2022-04-28 04:17:08,056 INFO L272 TraceCheckUtils]: 4: Hoare triple {6022#true} call #t~ret6 := main(); {6022#true} is VALID [2022-04-28 04:17:08,056 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6022#true} {6022#true} #96#return; {6022#true} is VALID [2022-04-28 04:17:08,056 INFO L290 TraceCheckUtils]: 2: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 04:17:08,057 INFO L290 TraceCheckUtils]: 1: Hoare triple {6022#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); {6022#true} is VALID [2022-04-28 04:17:08,057 INFO L272 TraceCheckUtils]: 0: Hoare triple {6022#true} call ULTIMATE.init(); {6022#true} is VALID [2022-04-28 04:17:08,057 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 12 proven. 6 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-28 04:17:08,057 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:17:08,057 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1522512855] [2022-04-28 04:17:08,057 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:17:08,057 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1761681713] [2022-04-28 04:17:08,057 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1761681713] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:17:08,057 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:17:08,057 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-28 04:17:08,057 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:17:08,058 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [20188009] [2022-04-28 04:17:08,058 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [20188009] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:17:08,058 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:17:08,058 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 04:17:08,058 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1305976526] [2022-04-28 04:17:08,058 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:17:08,058 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 69 [2022-04-28 04:17:08,058 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:17:08,058 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 04:17:08,098 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:17:08,098 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 04:17:08,098 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:17:08,098 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 04:17:08,098 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-28 04:17:08,099 INFO L87 Difference]: Start difference. First operand 141 states and 201 transitions. Second operand has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 04:17:09,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:17:09,343 INFO L93 Difference]: Finished difference Result 153 states and 211 transitions. [2022-04-28 04:17:09,343 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 04:17:09,343 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 69 [2022-04-28 04:17:09,343 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:17:09,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 04:17:09,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 86 transitions. [2022-04-28 04:17:09,345 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 04:17:09,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 86 transitions. [2022-04-28 04:17:09,347 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 86 transitions. [2022-04-28 04:17:09,427 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:17:09,431 INFO L225 Difference]: With dead ends: 153 [2022-04-28 04:17:09,431 INFO L226 Difference]: Without dead ends: 151 [2022-04-28 04:17:09,431 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 141 GetRequests, 123 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 46 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=68, Invalid=274, Unknown=0, NotChecked=0, Total=342 [2022-04-28 04:17:09,432 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 33 mSDsluCounter, 174 mSDsCounter, 0 mSdLazyCounter, 315 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 215 SdHoareTripleChecker+Invalid, 341 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 315 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 04:17:09,432 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 215 Invalid, 341 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 315 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 04:17:09,433 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2022-04-28 04:17:09,633 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 149. [2022-04-28 04:17:09,633 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:17:09,634 INFO L82 GeneralOperation]: Start isEquivalent. First operand 151 states. Second operand has 149 states, 79 states have (on average 1.1898734177215189) internal successors, (94), 86 states have internal predecessors, (94), 58 states have call successors, (58), 12 states have call predecessors, (58), 11 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:17:09,634 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand has 149 states, 79 states have (on average 1.1898734177215189) internal successors, (94), 86 states have internal predecessors, (94), 58 states have call successors, (58), 12 states have call predecessors, (58), 11 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:17:09,634 INFO L87 Difference]: Start difference. First operand 151 states. Second operand has 149 states, 79 states have (on average 1.1898734177215189) internal successors, (94), 86 states have internal predecessors, (94), 58 states have call successors, (58), 12 states have call predecessors, (58), 11 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:17:09,639 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:17:09,640 INFO L93 Difference]: Finished difference Result 151 states and 209 transitions. [2022-04-28 04:17:09,640 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 209 transitions. [2022-04-28 04:17:09,640 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:17:09,641 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:17:09,641 INFO L74 IsIncluded]: Start isIncluded. First operand has 149 states, 79 states have (on average 1.1898734177215189) internal successors, (94), 86 states have internal predecessors, (94), 58 states have call successors, (58), 12 states have call predecessors, (58), 11 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 151 states. [2022-04-28 04:17:09,641 INFO L87 Difference]: Start difference. First operand has 149 states, 79 states have (on average 1.1898734177215189) internal successors, (94), 86 states have internal predecessors, (94), 58 states have call successors, (58), 12 states have call predecessors, (58), 11 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 151 states. [2022-04-28 04:17:09,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:17:09,646 INFO L93 Difference]: Finished difference Result 151 states and 209 transitions. [2022-04-28 04:17:09,646 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 209 transitions. [2022-04-28 04:17:09,647 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:17:09,647 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:17:09,647 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:17:09,647 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:17:09,648 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 149 states, 79 states have (on average 1.1898734177215189) internal successors, (94), 86 states have internal predecessors, (94), 58 states have call successors, (58), 12 states have call predecessors, (58), 11 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:17:09,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 149 states to 149 states and 207 transitions. [2022-04-28 04:17:09,653 INFO L78 Accepts]: Start accepts. Automaton has 149 states and 207 transitions. Word has length 69 [2022-04-28 04:17:09,653 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:17:09,654 INFO L495 AbstractCegarLoop]: Abstraction has 149 states and 207 transitions. [2022-04-28 04:17:09,654 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 04:17:09,654 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 149 states and 207 transitions. [2022-04-28 04:17:09,927 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 207 edges. 207 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:17:09,927 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 207 transitions. [2022-04-28 04:17:09,930 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-28 04:17:09,930 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:17:09,930 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 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] [2022-04-28 04:17:09,946 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-28 04:17:10,130 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 04:17:10,130 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:17:10,131 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:17:10,131 INFO L85 PathProgramCache]: Analyzing trace with hash -1763593091, now seen corresponding path program 5 times [2022-04-28 04:17:10,131 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:17:10,131 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1788656312] [2022-04-28 04:17:10,131 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:17:10,132 INFO L85 PathProgramCache]: Analyzing trace with hash -1763593091, now seen corresponding path program 6 times [2022-04-28 04:17:10,132 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:17:10,132 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1096590554] [2022-04-28 04:17:10,132 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:17:10,132 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:17:10,142 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:17:10,143 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [804250653] [2022-04-28 04:17:10,143 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:17:10,143 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:17:10,143 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:17:10,144 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:17:10,151 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 04:17:10,197 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 04:17:10,198 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:17:10,199 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-28 04:17:10,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:17:10,223 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:17:13,005 INFO L272 TraceCheckUtils]: 0: Hoare triple {7364#true} call ULTIMATE.init(); {7364#true} is VALID [2022-04-28 04:17:13,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {7364#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); {7364#true} is VALID [2022-04-28 04:17:13,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-28 04:17:13,005 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7364#true} {7364#true} #96#return; {7364#true} is VALID [2022-04-28 04:17:13,005 INFO L272 TraceCheckUtils]: 4: Hoare triple {7364#true} call #t~ret6 := main(); {7364#true} is VALID [2022-04-28 04:17:13,005 INFO L290 TraceCheckUtils]: 5: Hoare triple {7364#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7364#true} is VALID [2022-04-28 04:17:13,005 INFO L272 TraceCheckUtils]: 6: Hoare triple {7364#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7364#true} is VALID [2022-04-28 04:17:13,005 INFO L290 TraceCheckUtils]: 7: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-28 04:17:13,005 INFO L290 TraceCheckUtils]: 8: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-28 04:17:13,006 INFO L290 TraceCheckUtils]: 9: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-28 04:17:13,006 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7364#true} {7364#true} #76#return; {7364#true} is VALID [2022-04-28 04:17:13,006 INFO L272 TraceCheckUtils]: 11: Hoare triple {7364#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7364#true} is VALID [2022-04-28 04:17:13,006 INFO L290 TraceCheckUtils]: 12: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-28 04:17:13,006 INFO L290 TraceCheckUtils]: 13: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-28 04:17:13,006 INFO L290 TraceCheckUtils]: 14: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-28 04:17:13,006 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7364#true} {7364#true} #78#return; {7364#true} is VALID [2022-04-28 04:17:13,006 INFO L290 TraceCheckUtils]: 16: Hoare triple {7364#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; {7417#(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-28 04:17:13,006 INFO L272 TraceCheckUtils]: 17: Hoare triple {7417#(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)); {7364#true} is VALID [2022-04-28 04:17:13,007 INFO L290 TraceCheckUtils]: 18: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-28 04:17:13,007 INFO L290 TraceCheckUtils]: 19: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-28 04:17:13,007 INFO L290 TraceCheckUtils]: 20: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-28 04:17:13,009 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7364#true} {7417#(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))} #80#return; {7417#(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-28 04:17:13,009 INFO L272 TraceCheckUtils]: 22: Hoare triple {7417#(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)); {7364#true} is VALID [2022-04-28 04:17:13,009 INFO L290 TraceCheckUtils]: 23: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-28 04:17:13,010 INFO L290 TraceCheckUtils]: 24: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-28 04:17:13,010 INFO L290 TraceCheckUtils]: 25: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-28 04:17:13,020 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7364#true} {7417#(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))} #82#return; {7417#(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-28 04:17:13,021 INFO L290 TraceCheckUtils]: 27: Hoare triple {7417#(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; {7417#(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-28 04:17:13,021 INFO L290 TraceCheckUtils]: 28: Hoare triple {7417#(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; {7454#(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-28 04:17:13,022 INFO L290 TraceCheckUtils]: 29: Hoare triple {7454#(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; {7454#(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-28 04:17:13,022 INFO L272 TraceCheckUtils]: 30: Hoare triple {7454#(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)); {7364#true} is VALID [2022-04-28 04:17:13,022 INFO L290 TraceCheckUtils]: 31: Hoare triple {7364#true} ~cond := #in~cond; {7464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:17:13,023 INFO L290 TraceCheckUtils]: 32: Hoare triple {7464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:17:13,023 INFO L290 TraceCheckUtils]: 33: Hoare triple {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:17:13,025 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} {7454#(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))} #84#return; {7475#(and (= main_~r~0 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))} is VALID [2022-04-28 04:17:13,025 INFO L272 TraceCheckUtils]: 35: Hoare triple {7475#(and (= main_~r~0 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))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7364#true} is VALID [2022-04-28 04:17:13,025 INFO L290 TraceCheckUtils]: 36: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-28 04:17:13,025 INFO L290 TraceCheckUtils]: 37: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-28 04:17:13,025 INFO L290 TraceCheckUtils]: 38: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-28 04:17:13,026 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {7364#true} {7475#(and (= main_~r~0 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))} #86#return; {7475#(and (= main_~r~0 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))} is VALID [2022-04-28 04:17:13,026 INFO L272 TraceCheckUtils]: 40: Hoare triple {7475#(and (= main_~r~0 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))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7364#true} is VALID [2022-04-28 04:17:13,026 INFO L290 TraceCheckUtils]: 41: Hoare triple {7364#true} ~cond := #in~cond; {7464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:17:13,027 INFO L290 TraceCheckUtils]: 42: Hoare triple {7464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:17:13,027 INFO L290 TraceCheckUtils]: 43: Hoare triple {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:17:13,028 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} {7475#(and (= main_~r~0 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))} #88#return; {7475#(and (= main_~r~0 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))} is VALID [2022-04-28 04:17:13,028 INFO L272 TraceCheckUtils]: 45: Hoare triple {7475#(and (= main_~r~0 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))} 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)); {7364#true} is VALID [2022-04-28 04:17:13,028 INFO L290 TraceCheckUtils]: 46: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-28 04:17:13,029 INFO L290 TraceCheckUtils]: 47: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-28 04:17:13,029 INFO L290 TraceCheckUtils]: 48: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-28 04:17:13,029 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {7364#true} {7475#(and (= main_~r~0 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))} #90#return; {7475#(and (= main_~r~0 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))} is VALID [2022-04-28 04:17:13,030 INFO L290 TraceCheckUtils]: 50: Hoare triple {7475#(and (= main_~r~0 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))} assume !(~c~0 >= ~b~0); {7475#(and (= main_~r~0 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))} is VALID [2022-04-28 04:17:13,031 INFO L290 TraceCheckUtils]: 51: Hoare triple {7475#(and (= main_~r~0 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))} ~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; {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:17:13,031 INFO L290 TraceCheckUtils]: 52: Hoare triple {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:17:13,032 INFO L290 TraceCheckUtils]: 53: Hoare triple {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:17:13,032 INFO L290 TraceCheckUtils]: 54: Hoare triple {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:17:13,032 INFO L272 TraceCheckUtils]: 55: Hoare triple {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~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)); {7364#true} is VALID [2022-04-28 04:17:13,032 INFO L290 TraceCheckUtils]: 56: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-28 04:17:13,032 INFO L290 TraceCheckUtils]: 57: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-28 04:17:13,032 INFO L290 TraceCheckUtils]: 58: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-28 04:17:13,033 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7364#true} {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #84#return; {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:17:13,033 INFO L272 TraceCheckUtils]: 60: Hoare triple {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~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)); {7364#true} is VALID [2022-04-28 04:17:13,033 INFO L290 TraceCheckUtils]: 61: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-28 04:17:13,033 INFO L290 TraceCheckUtils]: 62: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-28 04:17:13,034 INFO L290 TraceCheckUtils]: 63: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-28 04:17:13,034 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {7364#true} {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:17:13,034 INFO L272 TraceCheckUtils]: 65: Hoare triple {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~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)); {7364#true} is VALID [2022-04-28 04:17:13,035 INFO L290 TraceCheckUtils]: 66: Hoare triple {7364#true} ~cond := #in~cond; {7464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:17:13,035 INFO L290 TraceCheckUtils]: 67: Hoare triple {7464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:17:13,035 INFO L290 TraceCheckUtils]: 68: Hoare triple {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:17:13,036 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {7582#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:17:13,040 INFO L272 TraceCheckUtils]: 70: Hoare triple {7582#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 main_~x~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)); {7586#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:17:13,040 INFO L290 TraceCheckUtils]: 71: Hoare triple {7586#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7590#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:17:13,041 INFO L290 TraceCheckUtils]: 72: Hoare triple {7590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7365#false} is VALID [2022-04-28 04:17:13,041 INFO L290 TraceCheckUtils]: 73: Hoare triple {7365#false} assume !false; {7365#false} is VALID [2022-04-28 04:17:13,042 INFO L134 CoverageAnalysis]: Checked inductivity of 129 backedges. 26 proven. 31 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2022-04-28 04:17:13,042 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:18:04,537 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:18:04,537 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1096590554] [2022-04-28 04:18:04,537 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:18:04,537 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [804250653] [2022-04-28 04:18:04,537 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [804250653] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:18:04,537 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 04:18:04,537 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-28 04:18:04,538 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:18:04,538 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1788656312] [2022-04-28 04:18:04,538 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1788656312] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:18:04,538 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:18:04,538 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 04:18:04,538 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [605682822] [2022-04-28 04:18:04,538 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:18:04,538 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 6 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 74 [2022-04-28 04:18:04,539 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:18:04,539 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 6 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-28 04:18:04,603 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:18:04,603 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 04:18:04,603 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:18:04,604 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 04:18:04,604 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-28 04:18:04,604 INFO L87 Difference]: Start difference. First operand 149 states and 207 transitions. Second operand has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 6 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-28 04:18:05,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:18:05,777 INFO L93 Difference]: Finished difference Result 161 states and 217 transitions. [2022-04-28 04:18:05,777 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 04:18:05,777 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 6 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 74 [2022-04-28 04:18:05,778 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:18:05,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 6 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-28 04:18:05,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 93 transitions. [2022-04-28 04:18:05,779 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 6 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-28 04:18:05,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 93 transitions. [2022-04-28 04:18:05,781 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 93 transitions. [2022-04-28 04:18:05,887 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:18:05,890 INFO L225 Difference]: With dead ends: 161 [2022-04-28 04:18:05,891 INFO L226 Difference]: Without dead ends: 159 [2022-04-28 04:18:05,891 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 66 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=42, Invalid=168, Unknown=0, NotChecked=0, Total=210 [2022-04-28 04:18:05,892 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 23 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 330 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 346 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 330 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 04:18:05,892 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 180 Invalid, 346 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 330 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 04:18:05,892 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2022-04-28 04:18:06,099 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 157. [2022-04-28 04:18:06,099 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:18:06,102 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand has 157 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 92 states have internal predecessors, (100), 58 states have call successors, (58), 14 states have call predecessors, (58), 13 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:18:06,103 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand has 157 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 92 states have internal predecessors, (100), 58 states have call successors, (58), 14 states have call predecessors, (58), 13 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:18:06,103 INFO L87 Difference]: Start difference. First operand 159 states. Second operand has 157 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 92 states have internal predecessors, (100), 58 states have call successors, (58), 14 states have call predecessors, (58), 13 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:18:06,108 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:18:06,108 INFO L93 Difference]: Finished difference Result 159 states and 215 transitions. [2022-04-28 04:18:06,109 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 215 transitions. [2022-04-28 04:18:06,109 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:18:06,110 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:18:06,110 INFO L74 IsIncluded]: Start isIncluded. First operand has 157 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 92 states have internal predecessors, (100), 58 states have call successors, (58), 14 states have call predecessors, (58), 13 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 159 states. [2022-04-28 04:18:06,110 INFO L87 Difference]: Start difference. First operand has 157 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 92 states have internal predecessors, (100), 58 states have call successors, (58), 14 states have call predecessors, (58), 13 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 159 states. [2022-04-28 04:18:06,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:18:06,120 INFO L93 Difference]: Finished difference Result 159 states and 215 transitions. [2022-04-28 04:18:06,120 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 215 transitions. [2022-04-28 04:18:06,121 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:18:06,121 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:18:06,121 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:18:06,121 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:18:06,121 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 157 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 92 states have internal predecessors, (100), 58 states have call successors, (58), 14 states have call predecessors, (58), 13 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:18:06,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 213 transitions. [2022-04-28 04:18:06,127 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 213 transitions. Word has length 74 [2022-04-28 04:18:06,129 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:18:06,129 INFO L495 AbstractCegarLoop]: Abstraction has 157 states and 213 transitions. [2022-04-28 04:18:06,129 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 6 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-28 04:18:06,129 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 157 states and 213 transitions. [2022-04-28 04:18:06,464 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 213 edges. 213 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:18:06,464 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 213 transitions. [2022-04-28 04:18:06,466 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2022-04-28 04:18:06,466 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:18:06,467 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 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] [2022-04-28 04:18:06,483 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-04-28 04:18:06,667 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 04:18:06,667 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:18:06,668 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:18:06,668 INFO L85 PathProgramCache]: Analyzing trace with hash -1525288661, now seen corresponding path program 3 times [2022-04-28 04:18:06,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:18:06,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2023615927] [2022-04-28 04:18:06,668 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:18:06,668 INFO L85 PathProgramCache]: Analyzing trace with hash -1525288661, now seen corresponding path program 4 times [2022-04-28 04:18:06,669 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:18:06,669 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1126120724] [2022-04-28 04:18:06,669 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:18:06,669 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:18:06,682 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:18:06,683 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [695914443] [2022-04-28 04:18:06,683 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:18:06,683 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:18:06,683 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:18:06,689 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:18:06,690 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 04:18:06,742 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:18:06,743 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:18:06,744 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 04:18:06,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:18:06,758 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:18:07,471 INFO L272 TraceCheckUtils]: 0: Hoare triple {8571#true} call ULTIMATE.init(); {8571#true} is VALID [2022-04-28 04:18:07,471 INFO L290 TraceCheckUtils]: 1: Hoare triple {8571#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); {8571#true} is VALID [2022-04-28 04:18:07,471 INFO L290 TraceCheckUtils]: 2: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:07,471 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8571#true} {8571#true} #96#return; {8571#true} is VALID [2022-04-28 04:18:07,471 INFO L272 TraceCheckUtils]: 4: Hoare triple {8571#true} call #t~ret6 := main(); {8571#true} is VALID [2022-04-28 04:18:07,473 INFO L290 TraceCheckUtils]: 5: Hoare triple {8571#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8571#true} is VALID [2022-04-28 04:18:07,473 INFO L272 TraceCheckUtils]: 6: Hoare triple {8571#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8571#true} is VALID [2022-04-28 04:18:07,473 INFO L290 TraceCheckUtils]: 7: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:07,473 INFO L290 TraceCheckUtils]: 8: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:07,473 INFO L290 TraceCheckUtils]: 9: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:07,473 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8571#true} {8571#true} #76#return; {8571#true} is VALID [2022-04-28 04:18:07,473 INFO L272 TraceCheckUtils]: 11: Hoare triple {8571#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8571#true} is VALID [2022-04-28 04:18:07,473 INFO L290 TraceCheckUtils]: 12: Hoare triple {8571#true} ~cond := #in~cond; {8612#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:18:07,474 INFO L290 TraceCheckUtils]: 13: Hoare triple {8612#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8616#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:18:07,474 INFO L290 TraceCheckUtils]: 14: Hoare triple {8616#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8616#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:18:07,474 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8616#(not (= |assume_abort_if_not_#in~cond| 0))} {8571#true} #78#return; {8623#(<= 1 main_~y~0)} is VALID [2022-04-28 04:18:07,475 INFO L290 TraceCheckUtils]: 16: Hoare triple {8623#(<= 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; {8627#(<= 1 main_~b~0)} is VALID [2022-04-28 04:18:07,475 INFO L272 TraceCheckUtils]: 17: Hoare triple {8627#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8571#true} is VALID [2022-04-28 04:18:07,475 INFO L290 TraceCheckUtils]: 18: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:07,475 INFO L290 TraceCheckUtils]: 19: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:07,475 INFO L290 TraceCheckUtils]: 20: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:07,476 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8571#true} {8627#(<= 1 main_~b~0)} #80#return; {8627#(<= 1 main_~b~0)} is VALID [2022-04-28 04:18:07,476 INFO L272 TraceCheckUtils]: 22: Hoare triple {8627#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8571#true} is VALID [2022-04-28 04:18:07,476 INFO L290 TraceCheckUtils]: 23: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:07,476 INFO L290 TraceCheckUtils]: 24: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:07,476 INFO L290 TraceCheckUtils]: 25: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:07,476 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8571#true} {8627#(<= 1 main_~b~0)} #82#return; {8627#(<= 1 main_~b~0)} is VALID [2022-04-28 04:18:07,477 INFO L290 TraceCheckUtils]: 27: Hoare triple {8627#(<= 1 main_~b~0)} assume !false; {8627#(<= 1 main_~b~0)} is VALID [2022-04-28 04:18:07,477 INFO L290 TraceCheckUtils]: 28: Hoare triple {8627#(<= 1 main_~b~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 04:18:07,477 INFO L290 TraceCheckUtils]: 29: Hoare triple {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} assume !false; {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 04:18:07,477 INFO L272 TraceCheckUtils]: 30: Hoare triple {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8571#true} is VALID [2022-04-28 04:18:07,478 INFO L290 TraceCheckUtils]: 31: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:07,478 INFO L290 TraceCheckUtils]: 32: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:07,478 INFO L290 TraceCheckUtils]: 33: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:07,478 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {8571#true} {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #84#return; {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 04:18:07,478 INFO L272 TraceCheckUtils]: 35: Hoare triple {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8571#true} is VALID [2022-04-28 04:18:07,478 INFO L290 TraceCheckUtils]: 36: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:07,478 INFO L290 TraceCheckUtils]: 37: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:07,478 INFO L290 TraceCheckUtils]: 38: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:07,479 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8571#true} {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #86#return; {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 04:18:07,479 INFO L272 TraceCheckUtils]: 40: Hoare triple {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8571#true} is VALID [2022-04-28 04:18:07,479 INFO L290 TraceCheckUtils]: 41: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:07,479 INFO L290 TraceCheckUtils]: 42: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:07,479 INFO L290 TraceCheckUtils]: 43: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:07,480 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {8571#true} {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #88#return; {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 04:18:07,480 INFO L272 TraceCheckUtils]: 45: Hoare triple {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 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)); {8571#true} is VALID [2022-04-28 04:18:07,480 INFO L290 TraceCheckUtils]: 46: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:07,480 INFO L290 TraceCheckUtils]: 47: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:07,480 INFO L290 TraceCheckUtils]: 48: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:07,481 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {8571#true} {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #90#return; {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 04:18:07,491 INFO L290 TraceCheckUtils]: 50: Hoare triple {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {8731#(and (<= 1 main_~k~0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (<= 1 main_~b~0))} is VALID [2022-04-28 04:18:07,492 INFO L290 TraceCheckUtils]: 51: Hoare triple {8731#(and (<= 1 main_~k~0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (<= 1 main_~b~0))} assume !false; {8731#(and (<= 1 main_~k~0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (<= 1 main_~b~0))} is VALID [2022-04-28 04:18:07,492 INFO L272 TraceCheckUtils]: 52: Hoare triple {8731#(and (<= 1 main_~k~0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8571#true} is VALID [2022-04-28 04:18:07,492 INFO L290 TraceCheckUtils]: 53: Hoare triple {8571#true} ~cond := #in~cond; {8741#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:18:07,493 INFO L290 TraceCheckUtils]: 54: Hoare triple {8741#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8745#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:18:07,493 INFO L290 TraceCheckUtils]: 55: Hoare triple {8745#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8745#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:18:07,494 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8745#(not (= |__VERIFIER_assert_#in~cond| 0))} {8731#(and (<= 1 main_~k~0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (<= 1 main_~b~0))} #84#return; {8752#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:18:07,494 INFO L272 TraceCheckUtils]: 57: Hoare triple {8752#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8571#true} is VALID [2022-04-28 04:18:07,494 INFO L290 TraceCheckUtils]: 58: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:07,494 INFO L290 TraceCheckUtils]: 59: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:07,494 INFO L290 TraceCheckUtils]: 60: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:07,495 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8571#true} {8752#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} #86#return; {8752#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:18:07,495 INFO L272 TraceCheckUtils]: 62: Hoare triple {8752#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8571#true} is VALID [2022-04-28 04:18:07,495 INFO L290 TraceCheckUtils]: 63: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:07,495 INFO L290 TraceCheckUtils]: 64: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:07,495 INFO L290 TraceCheckUtils]: 65: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:07,496 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {8571#true} {8752#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} #88#return; {8752#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:18:07,496 INFO L272 TraceCheckUtils]: 67: Hoare triple {8752#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 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)); {8571#true} is VALID [2022-04-28 04:18:07,496 INFO L290 TraceCheckUtils]: 68: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:07,496 INFO L290 TraceCheckUtils]: 69: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:07,497 INFO L290 TraceCheckUtils]: 70: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:07,497 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {8571#true} {8752#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} #90#return; {8752#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 04:18:07,499 INFO L290 TraceCheckUtils]: 72: Hoare triple {8752#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {8801#(and (= (+ main_~a~0 (* (- 1) main_~b~0) (* (+ (- 1) main_~k~0) main_~b~0)) main_~a~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (<= 1 main_~b~0))} is VALID [2022-04-28 04:18:07,500 INFO L290 TraceCheckUtils]: 73: Hoare triple {8801#(and (= (+ main_~a~0 (* (- 1) main_~b~0) (* (+ (- 1) main_~k~0) main_~b~0)) main_~a~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (<= 1 main_~b~0))} assume !false; {8801#(and (= (+ main_~a~0 (* (- 1) main_~b~0) (* (+ (- 1) main_~k~0) main_~b~0)) main_~a~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (<= 1 main_~b~0))} is VALID [2022-04-28 04:18:07,501 INFO L272 TraceCheckUtils]: 74: Hoare triple {8801#(and (= (+ main_~a~0 (* (- 1) main_~b~0) (* (+ (- 1) main_~k~0) main_~b~0)) main_~a~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8808#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:18:07,501 INFO L290 TraceCheckUtils]: 75: Hoare triple {8808#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8812#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:18:07,502 INFO L290 TraceCheckUtils]: 76: Hoare triple {8812#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8572#false} is VALID [2022-04-28 04:18:07,502 INFO L290 TraceCheckUtils]: 77: Hoare triple {8572#false} assume !false; {8572#false} is VALID [2022-04-28 04:18:07,502 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 30 proven. 26 refuted. 0 times theorem prover too weak. 106 trivial. 0 not checked. [2022-04-28 04:18:07,502 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:18:12,331 INFO L290 TraceCheckUtils]: 77: Hoare triple {8572#false} assume !false; {8572#false} is VALID [2022-04-28 04:18:12,332 INFO L290 TraceCheckUtils]: 76: Hoare triple {8812#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8572#false} is VALID [2022-04-28 04:18:12,332 INFO L290 TraceCheckUtils]: 75: Hoare triple {8808#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8812#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:18:12,333 INFO L272 TraceCheckUtils]: 74: Hoare triple {8828#(= 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)); {8808#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:18:12,333 INFO L290 TraceCheckUtils]: 73: Hoare triple {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:18:12,334 INFO L290 TraceCheckUtils]: 72: Hoare triple {8828#(= 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; {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:18:12,336 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {8571#true} {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #90#return; {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:18:12,337 INFO L290 TraceCheckUtils]: 70: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:12,337 INFO L290 TraceCheckUtils]: 69: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:12,337 INFO L290 TraceCheckUtils]: 68: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:12,337 INFO L272 TraceCheckUtils]: 67: Hoare triple {8828#(= 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)); {8571#true} is VALID [2022-04-28 04:18:12,337 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {8571#true} {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #88#return; {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:18:12,337 INFO L290 TraceCheckUtils]: 65: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:12,337 INFO L290 TraceCheckUtils]: 64: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:12,338 INFO L290 TraceCheckUtils]: 63: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:12,338 INFO L272 TraceCheckUtils]: 62: Hoare triple {8828#(= 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)); {8571#true} is VALID [2022-04-28 04:18:12,338 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8571#true} {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #86#return; {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:18:12,338 INFO L290 TraceCheckUtils]: 60: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:12,338 INFO L290 TraceCheckUtils]: 59: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:12,338 INFO L290 TraceCheckUtils]: 58: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:12,338 INFO L272 TraceCheckUtils]: 57: Hoare triple {8828#(= 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)); {8571#true} is VALID [2022-04-28 04:18:12,339 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8745#(not (= |__VERIFIER_assert_#in~cond| 0))} {8571#true} #84#return; {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:18:12,339 INFO L290 TraceCheckUtils]: 55: Hoare triple {8745#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8745#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:18:12,340 INFO L290 TraceCheckUtils]: 54: Hoare triple {8892#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8745#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:18:12,340 INFO L290 TraceCheckUtils]: 53: Hoare triple {8571#true} ~cond := #in~cond; {8892#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:18:12,340 INFO L272 TraceCheckUtils]: 52: Hoare triple {8571#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8571#true} is VALID [2022-04-28 04:18:12,340 INFO L290 TraceCheckUtils]: 51: Hoare triple {8571#true} assume !false; {8571#true} is VALID [2022-04-28 04:18:12,340 INFO L290 TraceCheckUtils]: 50: Hoare triple {8571#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {8571#true} is VALID [2022-04-28 04:18:12,340 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {8571#true} {8571#true} #90#return; {8571#true} is VALID [2022-04-28 04:18:12,340 INFO L290 TraceCheckUtils]: 48: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:12,340 INFO L290 TraceCheckUtils]: 47: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:12,341 INFO L290 TraceCheckUtils]: 46: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:12,341 INFO L272 TraceCheckUtils]: 45: Hoare triple {8571#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)); {8571#true} is VALID [2022-04-28 04:18:12,341 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {8571#true} {8571#true} #88#return; {8571#true} is VALID [2022-04-28 04:18:12,341 INFO L290 TraceCheckUtils]: 43: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:12,341 INFO L290 TraceCheckUtils]: 42: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:12,341 INFO L290 TraceCheckUtils]: 41: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:12,341 INFO L272 TraceCheckUtils]: 40: Hoare triple {8571#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8571#true} is VALID [2022-04-28 04:18:12,341 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8571#true} {8571#true} #86#return; {8571#true} is VALID [2022-04-28 04:18:12,341 INFO L290 TraceCheckUtils]: 38: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:12,341 INFO L290 TraceCheckUtils]: 37: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:12,341 INFO L290 TraceCheckUtils]: 36: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:12,341 INFO L272 TraceCheckUtils]: 35: Hoare triple {8571#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8571#true} is VALID [2022-04-28 04:18:12,342 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {8571#true} {8571#true} #84#return; {8571#true} is VALID [2022-04-28 04:18:12,342 INFO L290 TraceCheckUtils]: 33: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:12,342 INFO L290 TraceCheckUtils]: 32: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:12,342 INFO L290 TraceCheckUtils]: 31: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:12,342 INFO L272 TraceCheckUtils]: 30: Hoare triple {8571#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8571#true} is VALID [2022-04-28 04:18:12,342 INFO L290 TraceCheckUtils]: 29: Hoare triple {8571#true} assume !false; {8571#true} is VALID [2022-04-28 04:18:12,342 INFO L290 TraceCheckUtils]: 28: Hoare triple {8571#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8571#true} is VALID [2022-04-28 04:18:12,342 INFO L290 TraceCheckUtils]: 27: Hoare triple {8571#true} assume !false; {8571#true} is VALID [2022-04-28 04:18:12,342 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8571#true} {8571#true} #82#return; {8571#true} is VALID [2022-04-28 04:18:12,342 INFO L290 TraceCheckUtils]: 25: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:12,342 INFO L290 TraceCheckUtils]: 24: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:12,343 INFO L290 TraceCheckUtils]: 23: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:12,343 INFO L272 TraceCheckUtils]: 22: Hoare triple {8571#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8571#true} is VALID [2022-04-28 04:18:12,343 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8571#true} {8571#true} #80#return; {8571#true} is VALID [2022-04-28 04:18:12,343 INFO L290 TraceCheckUtils]: 20: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:12,343 INFO L290 TraceCheckUtils]: 19: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:12,343 INFO L290 TraceCheckUtils]: 18: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:12,343 INFO L272 TraceCheckUtils]: 17: Hoare triple {8571#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8571#true} is VALID [2022-04-28 04:18:12,343 INFO L290 TraceCheckUtils]: 16: Hoare triple {8571#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; {8571#true} is VALID [2022-04-28 04:18:12,343 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8571#true} {8571#true} #78#return; {8571#true} is VALID [2022-04-28 04:18:12,343 INFO L290 TraceCheckUtils]: 14: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:12,343 INFO L290 TraceCheckUtils]: 13: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:12,344 INFO L290 TraceCheckUtils]: 12: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:12,344 INFO L272 TraceCheckUtils]: 11: Hoare triple {8571#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8571#true} is VALID [2022-04-28 04:18:12,344 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8571#true} {8571#true} #76#return; {8571#true} is VALID [2022-04-28 04:18:12,344 INFO L290 TraceCheckUtils]: 9: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:12,344 INFO L290 TraceCheckUtils]: 8: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 04:18:12,344 INFO L290 TraceCheckUtils]: 7: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 04:18:12,344 INFO L272 TraceCheckUtils]: 6: Hoare triple {8571#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8571#true} is VALID [2022-04-28 04:18:12,344 INFO L290 TraceCheckUtils]: 5: Hoare triple {8571#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8571#true} is VALID [2022-04-28 04:18:12,344 INFO L272 TraceCheckUtils]: 4: Hoare triple {8571#true} call #t~ret6 := main(); {8571#true} is VALID [2022-04-28 04:18:12,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8571#true} {8571#true} #96#return; {8571#true} is VALID [2022-04-28 04:18:12,344 INFO L290 TraceCheckUtils]: 2: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 04:18:12,344 INFO L290 TraceCheckUtils]: 1: Hoare triple {8571#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); {8571#true} is VALID [2022-04-28 04:18:12,344 INFO L272 TraceCheckUtils]: 0: Hoare triple {8571#true} call ULTIMATE.init(); {8571#true} is VALID [2022-04-28 04:18:12,345 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 35 proven. 10 refuted. 0 times theorem prover too weak. 117 trivial. 0 not checked. [2022-04-28 04:18:12,345 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:18:12,345 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1126120724] [2022-04-28 04:18:12,345 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:18:12,345 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [695914443] [2022-04-28 04:18:12,345 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [695914443] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:18:12,345 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:18:12,345 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 7] total 16 [2022-04-28 04:18:12,345 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:18:12,345 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2023615927] [2022-04-28 04:18:12,345 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2023615927] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:18:12,345 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:18:12,345 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 04:18:12,345 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1802079330] [2022-04-28 04:18:12,345 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:18:12,346 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 78 [2022-04-28 04:18:12,346 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:18:12,348 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 04:18:12,391 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:18:12,391 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 04:18:12,391 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:18:12,392 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 04:18:12,392 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=199, Unknown=0, NotChecked=0, Total=240 [2022-04-28 04:18:12,392 INFO L87 Difference]: Start difference. First operand 157 states and 213 transitions. Second operand has 14 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 04:18:15,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:18:15,153 INFO L93 Difference]: Finished difference Result 179 states and 242 transitions. [2022-04-28 04:18:15,153 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 04:18:15,153 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 78 [2022-04-28 04:18:15,153 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:18:15,153 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 04:18:15,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 96 transitions. [2022-04-28 04:18:15,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 04:18:15,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 96 transitions. [2022-04-28 04:18:15,158 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 96 transitions. [2022-04-28 04:18:15,268 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:18:15,272 INFO L225 Difference]: With dead ends: 179 [2022-04-28 04:18:15,272 INFO L226 Difference]: Without dead ends: 177 [2022-04-28 04:18:15,273 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 139 SyntacticMatches, 2 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 74 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=84, Invalid=422, Unknown=0, NotChecked=0, Total=506 [2022-04-28 04:18:15,273 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 42 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 427 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 480 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 427 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:18:15,274 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [47 Valid, 150 Invalid, 480 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 427 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-28 04:18:15,274 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 177 states. [2022-04-28 04:18:15,529 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 177 to 171. [2022-04-28 04:18:15,529 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:18:15,530 INFO L82 GeneralOperation]: Start isEquivalent. First operand 177 states. Second operand has 171 states, 93 states have (on average 1.1720430107526882) internal successors, (109), 100 states have internal predecessors, (109), 62 states have call successors, (62), 16 states have call predecessors, (62), 15 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-28 04:18:15,530 INFO L74 IsIncluded]: Start isIncluded. First operand 177 states. Second operand has 171 states, 93 states have (on average 1.1720430107526882) internal successors, (109), 100 states have internal predecessors, (109), 62 states have call successors, (62), 16 states have call predecessors, (62), 15 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-28 04:18:15,530 INFO L87 Difference]: Start difference. First operand 177 states. Second operand has 171 states, 93 states have (on average 1.1720430107526882) internal successors, (109), 100 states have internal predecessors, (109), 62 states have call successors, (62), 16 states have call predecessors, (62), 15 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-28 04:18:15,536 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:18:15,536 INFO L93 Difference]: Finished difference Result 177 states and 240 transitions. [2022-04-28 04:18:15,536 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 240 transitions. [2022-04-28 04:18:15,537 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:18:15,537 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:18:15,538 INFO L74 IsIncluded]: Start isIncluded. First operand has 171 states, 93 states have (on average 1.1720430107526882) internal successors, (109), 100 states have internal predecessors, (109), 62 states have call successors, (62), 16 states have call predecessors, (62), 15 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) Second operand 177 states. [2022-04-28 04:18:15,538 INFO L87 Difference]: Start difference. First operand has 171 states, 93 states have (on average 1.1720430107526882) internal successors, (109), 100 states have internal predecessors, (109), 62 states have call successors, (62), 16 states have call predecessors, (62), 15 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) Second operand 177 states. [2022-04-28 04:18:15,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:18:15,544 INFO L93 Difference]: Finished difference Result 177 states and 240 transitions. [2022-04-28 04:18:15,544 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 240 transitions. [2022-04-28 04:18:15,545 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:18:15,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:18:15,545 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:18:15,545 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:18:15,545 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 171 states, 93 states have (on average 1.1720430107526882) internal successors, (109), 100 states have internal predecessors, (109), 62 states have call successors, (62), 16 states have call predecessors, (62), 15 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-28 04:18:15,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 171 states to 171 states and 230 transitions. [2022-04-28 04:18:15,551 INFO L78 Accepts]: Start accepts. Automaton has 171 states and 230 transitions. Word has length 78 [2022-04-28 04:18:15,551 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:18:15,551 INFO L495 AbstractCegarLoop]: Abstraction has 171 states and 230 transitions. [2022-04-28 04:18:15,551 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 04:18:15,552 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 171 states and 230 transitions. [2022-04-28 04:18:15,917 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 230 edges. 230 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:18:15,917 INFO L276 IsEmpty]: Start isEmpty. Operand 171 states and 230 transitions. [2022-04-28 04:18:15,918 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-28 04:18:15,918 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:18:15,918 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 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] [2022-04-28 04:18:15,935 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-28 04:18:16,118 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 04:18:16,119 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:18:16,119 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:18:16,119 INFO L85 PathProgramCache]: Analyzing trace with hash 815826741, now seen corresponding path program 1 times [2022-04-28 04:18:16,119 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:18:16,119 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1990094833] [2022-04-28 04:18:16,119 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:18:16,120 INFO L85 PathProgramCache]: Analyzing trace with hash 815826741, now seen corresponding path program 2 times [2022-04-28 04:18:16,120 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:18:16,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1948076340] [2022-04-28 04:18:16,120 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:18:16,120 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:18:16,139 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:18:16,140 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1715008991] [2022-04-28 04:18:16,140 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:18:16,140 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:18:16,140 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:18:16,141 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:18:16,142 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 04:18:16,194 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:18:16,194 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:18:16,195 INFO L263 TraceCheckSpWp]: Trace formula consists of 215 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-28 04:18:16,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:18:16,212 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:18:17,045 INFO L272 TraceCheckUtils]: 0: Hoare triple {10122#true} call ULTIMATE.init(); {10122#true} is VALID [2022-04-28 04:18:17,045 INFO L290 TraceCheckUtils]: 1: Hoare triple {10122#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); {10122#true} is VALID [2022-04-28 04:18:17,045 INFO L290 TraceCheckUtils]: 2: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:18:17,045 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10122#true} {10122#true} #96#return; {10122#true} is VALID [2022-04-28 04:18:17,045 INFO L272 TraceCheckUtils]: 4: Hoare triple {10122#true} call #t~ret6 := main(); {10122#true} is VALID [2022-04-28 04:18:17,045 INFO L290 TraceCheckUtils]: 5: Hoare triple {10122#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10122#true} is VALID [2022-04-28 04:18:17,045 INFO L272 TraceCheckUtils]: 6: Hoare triple {10122#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10122#true} is VALID [2022-04-28 04:18:17,045 INFO L290 TraceCheckUtils]: 7: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:18:17,045 INFO L290 TraceCheckUtils]: 8: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:18:17,046 INFO L290 TraceCheckUtils]: 9: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:18:17,046 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10122#true} {10122#true} #76#return; {10122#true} is VALID [2022-04-28 04:18:17,046 INFO L272 TraceCheckUtils]: 11: Hoare triple {10122#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10122#true} is VALID [2022-04-28 04:18:17,046 INFO L290 TraceCheckUtils]: 12: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:18:17,046 INFO L290 TraceCheckUtils]: 13: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:18:17,046 INFO L290 TraceCheckUtils]: 14: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:18:17,046 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10122#true} {10122#true} #78#return; {10122#true} is VALID [2022-04-28 04:18:17,047 INFO L290 TraceCheckUtils]: 16: Hoare triple {10122#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; {10175#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:18:17,047 INFO L272 TraceCheckUtils]: 17: Hoare triple {10175#(and (= main_~r~0 0) (= 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)); {10122#true} is VALID [2022-04-28 04:18:17,047 INFO L290 TraceCheckUtils]: 18: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:18:17,047 INFO L290 TraceCheckUtils]: 19: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:18:17,047 INFO L290 TraceCheckUtils]: 20: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:18:17,048 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10122#true} {10175#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #80#return; {10175#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:18:17,048 INFO L272 TraceCheckUtils]: 22: Hoare triple {10175#(and (= main_~r~0 0) (= 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)); {10122#true} is VALID [2022-04-28 04:18:17,048 INFO L290 TraceCheckUtils]: 23: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:18:17,048 INFO L290 TraceCheckUtils]: 24: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:18:17,048 INFO L290 TraceCheckUtils]: 25: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:18:17,049 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10122#true} {10175#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {10175#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:18:17,049 INFO L290 TraceCheckUtils]: 27: Hoare triple {10175#(and (= main_~r~0 0) (= 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; {10175#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:18:17,050 INFO L290 TraceCheckUtils]: 28: Hoare triple {10175#(and (= main_~r~0 0) (= 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; {10212#(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-28 04:18:17,050 INFO L290 TraceCheckUtils]: 29: Hoare triple {10212#(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; {10212#(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-28 04:18:17,051 INFO L272 TraceCheckUtils]: 30: Hoare triple {10212#(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)); {10122#true} is VALID [2022-04-28 04:18:17,051 INFO L290 TraceCheckUtils]: 31: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:18:17,051 INFO L290 TraceCheckUtils]: 32: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:18:17,051 INFO L290 TraceCheckUtils]: 33: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:18:17,056 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {10122#true} {10212#(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))} #84#return; {10212#(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-28 04:18:17,056 INFO L272 TraceCheckUtils]: 35: Hoare triple {10212#(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)); {10122#true} is VALID [2022-04-28 04:18:17,056 INFO L290 TraceCheckUtils]: 36: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:18:17,056 INFO L290 TraceCheckUtils]: 37: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:18:17,056 INFO L290 TraceCheckUtils]: 38: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:18:17,057 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {10122#true} {10212#(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))} #86#return; {10212#(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-28 04:18:17,057 INFO L272 TraceCheckUtils]: 40: Hoare triple {10212#(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)); {10122#true} is VALID [2022-04-28 04:18:17,057 INFO L290 TraceCheckUtils]: 41: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:18:17,058 INFO L290 TraceCheckUtils]: 42: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:18:17,058 INFO L290 TraceCheckUtils]: 43: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:18:17,058 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {10122#true} {10212#(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))} #88#return; {10212#(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-28 04:18:17,059 INFO L272 TraceCheckUtils]: 45: Hoare triple {10212#(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)); {10122#true} is VALID [2022-04-28 04:18:17,059 INFO L290 TraceCheckUtils]: 46: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:18:17,059 INFO L290 TraceCheckUtils]: 47: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:18:17,059 INFO L290 TraceCheckUtils]: 48: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:18:17,060 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {10122#true} {10212#(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))} #90#return; {10212#(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-28 04:18:17,060 INFO L290 TraceCheckUtils]: 50: Hoare triple {10212#(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; {10279#(and (= main_~r~0 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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:18:17,061 INFO L290 TraceCheckUtils]: 51: Hoare triple {10279#(and (= main_~r~0 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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {10279#(and (= main_~r~0 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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:18:17,061 INFO L272 TraceCheckUtils]: 52: Hoare triple {10279#(and (= main_~r~0 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_~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)); {10122#true} is VALID [2022-04-28 04:18:17,061 INFO L290 TraceCheckUtils]: 53: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:18:17,061 INFO L290 TraceCheckUtils]: 54: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:18:17,061 INFO L290 TraceCheckUtils]: 55: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:18:17,062 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10122#true} {10279#(and (= main_~r~0 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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {10279#(and (= main_~r~0 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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:18:17,062 INFO L272 TraceCheckUtils]: 57: Hoare triple {10279#(and (= main_~r~0 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_~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)); {10122#true} is VALID [2022-04-28 04:18:17,063 INFO L290 TraceCheckUtils]: 58: Hoare triple {10122#true} ~cond := #in~cond; {10304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:18:17,063 INFO L290 TraceCheckUtils]: 59: Hoare triple {10304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:18:17,063 INFO L290 TraceCheckUtils]: 60: Hoare triple {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:18:17,065 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} {10279#(and (= main_~r~0 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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {10315#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~p~0 1))} is VALID [2022-04-28 04:18:17,065 INFO L272 TraceCheckUtils]: 62: Hoare triple {10315#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10122#true} is VALID [2022-04-28 04:18:17,066 INFO L290 TraceCheckUtils]: 63: Hoare triple {10122#true} ~cond := #in~cond; {10304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:18:17,066 INFO L290 TraceCheckUtils]: 64: Hoare triple {10304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:18:17,066 INFO L290 TraceCheckUtils]: 65: Hoare triple {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:18:17,067 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} {10315#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~p~0 1))} #88#return; {10315#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~p~0 1))} is VALID [2022-04-28 04:18:17,067 INFO L272 TraceCheckUtils]: 67: Hoare triple {10315#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~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)); {10122#true} is VALID [2022-04-28 04:18:17,067 INFO L290 TraceCheckUtils]: 68: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:18:17,067 INFO L290 TraceCheckUtils]: 69: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:18:17,067 INFO L290 TraceCheckUtils]: 70: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:18:17,068 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {10122#true} {10315#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~p~0 1))} #90#return; {10315#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~p~0 1))} is VALID [2022-04-28 04:18:17,069 INFO L290 TraceCheckUtils]: 72: Hoare triple {10315#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {10349#(and (= main_~r~0 0) (= main_~s~0 1) (not (<= main_~y~0 main_~c~0)) (<= 0 main_~c~0) (= main_~k~0 1) (= (+ main_~c~0 main_~y~0) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:18:17,070 INFO L290 TraceCheckUtils]: 73: Hoare triple {10349#(and (= main_~r~0 0) (= main_~s~0 1) (not (<= main_~y~0 main_~c~0)) (<= 0 main_~c~0) (= main_~k~0 1) (= (+ main_~c~0 main_~y~0) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~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; {10353#(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_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 04:18:17,071 INFO L290 TraceCheckUtils]: 74: Hoare triple {10353#(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_~q~0 1) (= (+ main_~s~0 1) 0))} assume !false; {10353#(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_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 04:18:17,071 INFO L290 TraceCheckUtils]: 75: Hoare triple {10353#(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_~q~0 1) (= (+ main_~s~0 1) 0))} assume !(0 != ~b~0); {10360#(and (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 04:18:17,072 INFO L272 TraceCheckUtils]: 76: Hoare triple {10360#(and (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~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)); {10364#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:18:17,073 INFO L290 TraceCheckUtils]: 77: Hoare triple {10364#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10368#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:18:17,073 INFO L290 TraceCheckUtils]: 78: Hoare triple {10368#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10123#false} is VALID [2022-04-28 04:18:17,073 INFO L290 TraceCheckUtils]: 79: Hoare triple {10123#false} assume !false; {10123#false} is VALID [2022-04-28 04:18:17,074 INFO L134 CoverageAnalysis]: Checked inductivity of 160 backedges. 44 proven. 16 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-28 04:18:17,074 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:19:33,194 INFO L290 TraceCheckUtils]: 79: Hoare triple {10123#false} assume !false; {10123#false} is VALID [2022-04-28 04:19:33,195 INFO L290 TraceCheckUtils]: 78: Hoare triple {10368#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10123#false} is VALID [2022-04-28 04:19:33,195 INFO L290 TraceCheckUtils]: 77: Hoare triple {10364#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10368#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:19:33,196 INFO L272 TraceCheckUtils]: 76: Hoare triple {10384#(= (+ (* 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)); {10364#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:19:33,196 INFO L290 TraceCheckUtils]: 75: Hoare triple {10388#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {10384#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-28 04:19:33,197 INFO L290 TraceCheckUtils]: 74: Hoare triple {10388#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !false; {10388#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-28 04:19:33,429 INFO L290 TraceCheckUtils]: 73: Hoare triple {10395#(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; {10388#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-28 04:19:33,429 INFO L290 TraceCheckUtils]: 72: Hoare triple {10399#(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); {10395#(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-28 04:19:33,430 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {10122#true} {10399#(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))} #90#return; {10399#(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-28 04:19:33,430 INFO L290 TraceCheckUtils]: 70: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:19:33,430 INFO L290 TraceCheckUtils]: 69: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:19:33,430 INFO L290 TraceCheckUtils]: 68: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:19:33,430 INFO L272 TraceCheckUtils]: 67: Hoare triple {10399#(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)); {10122#true} is VALID [2022-04-28 04:19:33,431 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} {10418#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~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))} #88#return; {10399#(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-28 04:19:33,432 INFO L290 TraceCheckUtils]: 65: Hoare triple {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:33,432 INFO L290 TraceCheckUtils]: 64: Hoare triple {10428#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:33,432 INFO L290 TraceCheckUtils]: 63: Hoare triple {10122#true} ~cond := #in~cond; {10428#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:19:33,432 INFO L272 TraceCheckUtils]: 62: Hoare triple {10418#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~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)); {10122#true} is VALID [2022-04-28 04:19:33,433 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} {10435#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~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))} #86#return; {10418#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~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-28 04:19:33,433 INFO L290 TraceCheckUtils]: 60: Hoare triple {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:33,434 INFO L290 TraceCheckUtils]: 59: Hoare triple {10428#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:33,434 INFO L290 TraceCheckUtils]: 58: Hoare triple {10122#true} ~cond := #in~cond; {10428#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:19:33,434 INFO L272 TraceCheckUtils]: 57: Hoare triple {10435#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~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)); {10122#true} is VALID [2022-04-28 04:19:33,435 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10122#true} {10435#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~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))} #84#return; {10435#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~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-28 04:19:33,435 INFO L290 TraceCheckUtils]: 55: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:19:33,435 INFO L290 TraceCheckUtils]: 54: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:19:33,435 INFO L290 TraceCheckUtils]: 53: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:19:33,435 INFO L272 TraceCheckUtils]: 52: Hoare triple {10435#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~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 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10122#true} is VALID [2022-04-28 04:19:33,436 INFO L290 TraceCheckUtils]: 51: Hoare triple {10435#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~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 !false; {10435#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~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-28 04:19:34,256 INFO L290 TraceCheckUtils]: 50: Hoare triple {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~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)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {10435#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~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-28 04:19:34,257 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {10122#true} {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~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)))} #90#return; {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~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)))} is VALID [2022-04-28 04:19:34,258 INFO L290 TraceCheckUtils]: 48: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:19:34,258 INFO L290 TraceCheckUtils]: 47: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:19:34,258 INFO L290 TraceCheckUtils]: 46: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:19:34,258 INFO L272 TraceCheckUtils]: 45: Hoare triple {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~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)))} 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)); {10122#true} is VALID [2022-04-28 04:19:34,258 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {10122#true} {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~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)))} #88#return; {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~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)))} is VALID [2022-04-28 04:19:34,258 INFO L290 TraceCheckUtils]: 43: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:19:34,259 INFO L290 TraceCheckUtils]: 42: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:19:34,259 INFO L290 TraceCheckUtils]: 41: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:19:34,259 INFO L272 TraceCheckUtils]: 40: Hoare triple {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~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)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10122#true} is VALID [2022-04-28 04:19:34,260 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {10122#true} {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~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)))} #86#return; {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~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)))} is VALID [2022-04-28 04:19:34,260 INFO L290 TraceCheckUtils]: 38: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:19:34,260 INFO L290 TraceCheckUtils]: 37: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:19:34,260 INFO L290 TraceCheckUtils]: 36: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:19:34,260 INFO L272 TraceCheckUtils]: 35: Hoare triple {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~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)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10122#true} is VALID [2022-04-28 04:19:34,261 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {10122#true} {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~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)))} #84#return; {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~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)))} is VALID [2022-04-28 04:19:34,261 INFO L290 TraceCheckUtils]: 33: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:19:34,261 INFO L290 TraceCheckUtils]: 32: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:19:34,261 INFO L290 TraceCheckUtils]: 31: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:19:34,261 INFO L272 TraceCheckUtils]: 30: Hoare triple {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~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)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10122#true} is VALID [2022-04-28 04:19:34,262 INFO L290 TraceCheckUtils]: 29: Hoare triple {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~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)))} assume !false; {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~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)))} is VALID [2022-04-28 04:19:34,263 INFO L290 TraceCheckUtils]: 28: Hoare triple {10122#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~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)))} is VALID [2022-04-28 04:19:34,263 INFO L290 TraceCheckUtils]: 27: Hoare triple {10122#true} assume !false; {10122#true} is VALID [2022-04-28 04:19:34,263 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10122#true} {10122#true} #82#return; {10122#true} is VALID [2022-04-28 04:19:34,263 INFO L290 TraceCheckUtils]: 25: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:19:34,264 INFO L290 TraceCheckUtils]: 24: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:19:34,264 INFO L290 TraceCheckUtils]: 23: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:19:34,264 INFO L272 TraceCheckUtils]: 22: Hoare triple {10122#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {10122#true} is VALID [2022-04-28 04:19:34,264 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10122#true} {10122#true} #80#return; {10122#true} is VALID [2022-04-28 04:19:34,264 INFO L290 TraceCheckUtils]: 20: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:19:34,264 INFO L290 TraceCheckUtils]: 19: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:19:34,264 INFO L290 TraceCheckUtils]: 18: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:19:34,264 INFO L272 TraceCheckUtils]: 17: Hoare triple {10122#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {10122#true} is VALID [2022-04-28 04:19:34,264 INFO L290 TraceCheckUtils]: 16: Hoare triple {10122#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; {10122#true} is VALID [2022-04-28 04:19:34,264 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10122#true} {10122#true} #78#return; {10122#true} is VALID [2022-04-28 04:19:34,264 INFO L290 TraceCheckUtils]: 14: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:19:34,264 INFO L290 TraceCheckUtils]: 13: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:19:34,265 INFO L290 TraceCheckUtils]: 12: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:19:34,265 INFO L272 TraceCheckUtils]: 11: Hoare triple {10122#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10122#true} is VALID [2022-04-28 04:19:34,265 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10122#true} {10122#true} #76#return; {10122#true} is VALID [2022-04-28 04:19:34,265 INFO L290 TraceCheckUtils]: 9: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:19:34,265 INFO L290 TraceCheckUtils]: 8: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 04:19:34,265 INFO L290 TraceCheckUtils]: 7: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 04:19:34,265 INFO L272 TraceCheckUtils]: 6: Hoare triple {10122#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10122#true} is VALID [2022-04-28 04:19:34,265 INFO L290 TraceCheckUtils]: 5: Hoare triple {10122#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10122#true} is VALID [2022-04-28 04:19:34,265 INFO L272 TraceCheckUtils]: 4: Hoare triple {10122#true} call #t~ret6 := main(); {10122#true} is VALID [2022-04-28 04:19:34,265 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10122#true} {10122#true} #96#return; {10122#true} is VALID [2022-04-28 04:19:34,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 04:19:34,265 INFO L290 TraceCheckUtils]: 1: Hoare triple {10122#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); {10122#true} is VALID [2022-04-28 04:19:34,266 INFO L272 TraceCheckUtils]: 0: Hoare triple {10122#true} call ULTIMATE.init(); {10122#true} is VALID [2022-04-28 04:19:34,266 INFO L134 CoverageAnalysis]: Checked inductivity of 160 backedges. 46 proven. 14 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-28 04:19:34,266 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:19:34,266 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1948076340] [2022-04-28 04:19:34,266 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:19:34,266 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1715008991] [2022-04-28 04:19:34,267 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1715008991] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:19:34,267 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:19:34,267 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 21 [2022-04-28 04:19:34,267 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:19:34,267 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1990094833] [2022-04-28 04:19:34,267 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1990094833] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:19:34,267 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:19:34,267 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 04:19:34,267 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [80249932] [2022-04-28 04:19:34,267 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:19:34,268 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 6 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-28 04:19:34,268 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:19:34,268 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 04:19:34,322 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:19:34,322 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 04:19:34,322 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:19:34,322 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 04:19:34,322 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=334, Unknown=0, NotChecked=0, Total=420 [2022-04-28 04:19:34,323 INFO L87 Difference]: Start difference. First operand 171 states and 230 transitions. Second operand has 13 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 04:19:36,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:19:36,487 INFO L93 Difference]: Finished difference Result 196 states and 266 transitions. [2022-04-28 04:19:36,487 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 04:19:36,487 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 6 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-28 04:19:36,487 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:19:36,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 04:19:36,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-28 04:19:36,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 04:19:36,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-28 04:19:36,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 100 transitions. [2022-04-28 04:19:36,625 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:19:36,629 INFO L225 Difference]: With dead ends: 196 [2022-04-28 04:19:36,629 INFO L226 Difference]: Without dead ends: 193 [2022-04-28 04:19:36,630 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 139 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 86 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=121, Invalid=479, Unknown=0, NotChecked=0, Total=600 [2022-04-28 04:19:36,630 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 27 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 489 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 517 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 489 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 04:19:36,630 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [38 Valid, 230 Invalid, 517 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 489 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 04:19:36,631 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 193 states. [2022-04-28 04:19:36,925 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 193 to 192. [2022-04-28 04:19:36,925 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:19:36,926 INFO L82 GeneralOperation]: Start isEquivalent. First operand 193 states. Second operand has 192 states, 104 states have (on average 1.1730769230769231) internal successors, (122), 112 states have internal predecessors, (122), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (68), 62 states have call predecessors, (68), 68 states have call successors, (68) [2022-04-28 04:19:36,926 INFO L74 IsIncluded]: Start isIncluded. First operand 193 states. Second operand has 192 states, 104 states have (on average 1.1730769230769231) internal successors, (122), 112 states have internal predecessors, (122), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (68), 62 states have call predecessors, (68), 68 states have call successors, (68) [2022-04-28 04:19:36,926 INFO L87 Difference]: Start difference. First operand 193 states. Second operand has 192 states, 104 states have (on average 1.1730769230769231) internal successors, (122), 112 states have internal predecessors, (122), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (68), 62 states have call predecessors, (68), 68 states have call successors, (68) [2022-04-28 04:19:36,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:19:36,932 INFO L93 Difference]: Finished difference Result 193 states and 262 transitions. [2022-04-28 04:19:36,932 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 262 transitions. [2022-04-28 04:19:36,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:19:36,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:19:36,933 INFO L74 IsIncluded]: Start isIncluded. First operand has 192 states, 104 states have (on average 1.1730769230769231) internal successors, (122), 112 states have internal predecessors, (122), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (68), 62 states have call predecessors, (68), 68 states have call successors, (68) Second operand 193 states. [2022-04-28 04:19:36,934 INFO L87 Difference]: Start difference. First operand has 192 states, 104 states have (on average 1.1730769230769231) internal successors, (122), 112 states have internal predecessors, (122), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (68), 62 states have call predecessors, (68), 68 states have call successors, (68) Second operand 193 states. [2022-04-28 04:19:36,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:19:36,940 INFO L93 Difference]: Finished difference Result 193 states and 262 transitions. [2022-04-28 04:19:36,940 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 262 transitions. [2022-04-28 04:19:36,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:19:36,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:19:36,941 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:19:36,941 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:19:36,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 192 states, 104 states have (on average 1.1730769230769231) internal successors, (122), 112 states have internal predecessors, (122), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (68), 62 states have call predecessors, (68), 68 states have call successors, (68) [2022-04-28 04:19:36,948 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 192 states to 192 states and 261 transitions. [2022-04-28 04:19:36,948 INFO L78 Accepts]: Start accepts. Automaton has 192 states and 261 transitions. Word has length 80 [2022-04-28 04:19:36,948 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:19:36,948 INFO L495 AbstractCegarLoop]: Abstraction has 192 states and 261 transitions. [2022-04-28 04:19:36,948 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 04:19:36,949 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 192 states and 261 transitions. [2022-04-28 04:19:37,408 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 261 edges. 261 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:19:37,408 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 261 transitions. [2022-04-28 04:19:37,409 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-28 04:19:37,409 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:19:37,410 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 4, 4, 4, 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] [2022-04-28 04:19:37,437 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 04:19:37,610 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 04:19:37,610 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:19:37,611 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:19:37,611 INFO L85 PathProgramCache]: Analyzing trace with hash 1902002164, now seen corresponding path program 7 times [2022-04-28 04:19:37,611 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:19:37,611 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1199391735] [2022-04-28 04:19:37,611 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:19:37,611 INFO L85 PathProgramCache]: Analyzing trace with hash 1902002164, now seen corresponding path program 8 times [2022-04-28 04:19:37,611 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:19:37,611 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [890201216] [2022-04-28 04:19:37,611 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:19:37,612 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:19:37,621 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:19:37,621 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [685747296] [2022-04-28 04:19:37,621 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:19:37,621 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:19:37,622 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:19:37,622 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:19:37,627 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 04:19:37,680 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:19:37,680 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:19:37,681 INFO L263 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 04:19:37,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:19:37,695 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:19:37,892 INFO L272 TraceCheckUtils]: 0: Hoare triple {11792#true} call ULTIMATE.init(); {11792#true} is VALID [2022-04-28 04:19:37,893 INFO L290 TraceCheckUtils]: 1: Hoare triple {11792#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); {11792#true} is VALID [2022-04-28 04:19:37,893 INFO L290 TraceCheckUtils]: 2: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 04:19:37,893 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11792#true} {11792#true} #96#return; {11792#true} is VALID [2022-04-28 04:19:37,893 INFO L272 TraceCheckUtils]: 4: Hoare triple {11792#true} call #t~ret6 := main(); {11792#true} is VALID [2022-04-28 04:19:37,893 INFO L290 TraceCheckUtils]: 5: Hoare triple {11792#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11792#true} is VALID [2022-04-28 04:19:37,893 INFO L272 TraceCheckUtils]: 6: Hoare triple {11792#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11792#true} is VALID [2022-04-28 04:19:37,893 INFO L290 TraceCheckUtils]: 7: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 04:19:37,893 INFO L290 TraceCheckUtils]: 8: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 04:19:37,893 INFO L290 TraceCheckUtils]: 9: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 04:19:37,893 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11792#true} {11792#true} #76#return; {11792#true} is VALID [2022-04-28 04:19:37,893 INFO L272 TraceCheckUtils]: 11: Hoare triple {11792#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11792#true} is VALID [2022-04-28 04:19:37,893 INFO L290 TraceCheckUtils]: 12: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 04:19:37,893 INFO L290 TraceCheckUtils]: 13: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 04:19:37,893 INFO L290 TraceCheckUtils]: 14: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 04:19:37,893 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11792#true} {11792#true} #78#return; {11792#true} is VALID [2022-04-28 04:19:37,893 INFO L290 TraceCheckUtils]: 16: Hoare triple {11792#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; {11792#true} is VALID [2022-04-28 04:19:37,893 INFO L272 TraceCheckUtils]: 17: Hoare triple {11792#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {11792#true} is VALID [2022-04-28 04:19:37,893 INFO L290 TraceCheckUtils]: 18: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 04:19:37,894 INFO L290 TraceCheckUtils]: 19: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 04:19:37,894 INFO L290 TraceCheckUtils]: 20: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 04:19:37,894 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11792#true} {11792#true} #80#return; {11792#true} is VALID [2022-04-28 04:19:37,894 INFO L272 TraceCheckUtils]: 22: Hoare triple {11792#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {11792#true} is VALID [2022-04-28 04:19:37,894 INFO L290 TraceCheckUtils]: 23: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 04:19:37,894 INFO L290 TraceCheckUtils]: 24: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 04:19:37,894 INFO L290 TraceCheckUtils]: 25: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 04:19:37,894 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11792#true} {11792#true} #82#return; {11792#true} is VALID [2022-04-28 04:19:37,894 INFO L290 TraceCheckUtils]: 27: Hoare triple {11792#true} assume !false; {11792#true} is VALID [2022-04-28 04:19:37,894 INFO L290 TraceCheckUtils]: 28: Hoare triple {11792#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11792#true} is VALID [2022-04-28 04:19:37,894 INFO L290 TraceCheckUtils]: 29: Hoare triple {11792#true} assume !false; {11792#true} is VALID [2022-04-28 04:19:37,894 INFO L272 TraceCheckUtils]: 30: Hoare triple {11792#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11792#true} is VALID [2022-04-28 04:19:37,894 INFO L290 TraceCheckUtils]: 31: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 04:19:37,894 INFO L290 TraceCheckUtils]: 32: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 04:19:37,894 INFO L290 TraceCheckUtils]: 33: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 04:19:37,894 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {11792#true} {11792#true} #84#return; {11792#true} is VALID [2022-04-28 04:19:37,894 INFO L272 TraceCheckUtils]: 35: Hoare triple {11792#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11792#true} is VALID [2022-04-28 04:19:37,894 INFO L290 TraceCheckUtils]: 36: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 04:19:37,895 INFO L290 TraceCheckUtils]: 37: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 04:19:37,895 INFO L290 TraceCheckUtils]: 38: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 04:19:37,895 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {11792#true} {11792#true} #86#return; {11792#true} is VALID [2022-04-28 04:19:37,895 INFO L272 TraceCheckUtils]: 40: Hoare triple {11792#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11792#true} is VALID [2022-04-28 04:19:37,895 INFO L290 TraceCheckUtils]: 41: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 04:19:37,895 INFO L290 TraceCheckUtils]: 42: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 04:19:37,895 INFO L290 TraceCheckUtils]: 43: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 04:19:37,895 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {11792#true} {11792#true} #88#return; {11792#true} is VALID [2022-04-28 04:19:37,895 INFO L272 TraceCheckUtils]: 45: Hoare triple {11792#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)); {11792#true} is VALID [2022-04-28 04:19:37,895 INFO L290 TraceCheckUtils]: 46: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 04:19:37,895 INFO L290 TraceCheckUtils]: 47: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 04:19:37,895 INFO L290 TraceCheckUtils]: 48: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 04:19:37,895 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {11792#true} {11792#true} #90#return; {11792#true} is VALID [2022-04-28 04:19:37,895 INFO L290 TraceCheckUtils]: 50: Hoare triple {11792#true} assume !(~c~0 >= ~b~0); {11947#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 04:19:37,896 INFO L290 TraceCheckUtils]: 51: Hoare triple {11947#(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; {11951#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 04:19:37,896 INFO L290 TraceCheckUtils]: 52: Hoare triple {11951#(< main_~b~0 main_~a~0)} assume !false; {11951#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 04:19:37,897 INFO L290 TraceCheckUtils]: 53: Hoare triple {11951#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11958#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 04:19:37,897 INFO L290 TraceCheckUtils]: 54: Hoare triple {11958#(< main_~b~0 main_~c~0)} assume !false; {11958#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 04:19:37,897 INFO L272 TraceCheckUtils]: 55: Hoare triple {11958#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11792#true} is VALID [2022-04-28 04:19:37,897 INFO L290 TraceCheckUtils]: 56: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 04:19:37,897 INFO L290 TraceCheckUtils]: 57: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 04:19:37,897 INFO L290 TraceCheckUtils]: 58: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 04:19:37,897 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {11792#true} {11958#(< main_~b~0 main_~c~0)} #84#return; {11958#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 04:19:37,898 INFO L272 TraceCheckUtils]: 60: Hoare triple {11958#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11792#true} is VALID [2022-04-28 04:19:37,898 INFO L290 TraceCheckUtils]: 61: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 04:19:37,898 INFO L290 TraceCheckUtils]: 62: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 04:19:37,898 INFO L290 TraceCheckUtils]: 63: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 04:19:37,898 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {11792#true} {11958#(< main_~b~0 main_~c~0)} #86#return; {11958#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 04:19:37,898 INFO L272 TraceCheckUtils]: 65: Hoare triple {11958#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11792#true} is VALID [2022-04-28 04:19:37,898 INFO L290 TraceCheckUtils]: 66: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 04:19:37,898 INFO L290 TraceCheckUtils]: 67: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 04:19:37,898 INFO L290 TraceCheckUtils]: 68: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 04:19:37,899 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {11792#true} {11958#(< main_~b~0 main_~c~0)} #88#return; {11958#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 04:19:37,899 INFO L272 TraceCheckUtils]: 70: Hoare triple {11958#(< 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)); {11792#true} is VALID [2022-04-28 04:19:37,899 INFO L290 TraceCheckUtils]: 71: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 04:19:37,899 INFO L290 TraceCheckUtils]: 72: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 04:19:37,899 INFO L290 TraceCheckUtils]: 73: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 04:19:37,900 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11792#true} {11958#(< main_~b~0 main_~c~0)} #90#return; {11958#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 04:19:37,900 INFO L290 TraceCheckUtils]: 75: Hoare triple {11958#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {11793#false} is VALID [2022-04-28 04:19:37,900 INFO L290 TraceCheckUtils]: 76: Hoare triple {11793#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; {11793#false} is VALID [2022-04-28 04:19:37,901 INFO L290 TraceCheckUtils]: 77: Hoare triple {11793#false} assume !false; {11793#false} is VALID [2022-04-28 04:19:37,901 INFO L290 TraceCheckUtils]: 78: Hoare triple {11793#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11793#false} is VALID [2022-04-28 04:19:37,901 INFO L290 TraceCheckUtils]: 79: Hoare triple {11793#false} assume !false; {11793#false} is VALID [2022-04-28 04:19:37,901 INFO L272 TraceCheckUtils]: 80: Hoare triple {11793#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11793#false} is VALID [2022-04-28 04:19:37,901 INFO L290 TraceCheckUtils]: 81: Hoare triple {11793#false} ~cond := #in~cond; {11793#false} is VALID [2022-04-28 04:19:37,901 INFO L290 TraceCheckUtils]: 82: Hoare triple {11793#false} assume !(0 == ~cond); {11793#false} is VALID [2022-04-28 04:19:37,901 INFO L290 TraceCheckUtils]: 83: Hoare triple {11793#false} assume true; {11793#false} is VALID [2022-04-28 04:19:37,901 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {11793#false} {11793#false} #84#return; {11793#false} is VALID [2022-04-28 04:19:37,901 INFO L272 TraceCheckUtils]: 85: Hoare triple {11793#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11793#false} is VALID [2022-04-28 04:19:37,901 INFO L290 TraceCheckUtils]: 86: Hoare triple {11793#false} ~cond := #in~cond; {11793#false} is VALID [2022-04-28 04:19:37,901 INFO L290 TraceCheckUtils]: 87: Hoare triple {11793#false} assume 0 == ~cond; {11793#false} is VALID [2022-04-28 04:19:37,901 INFO L290 TraceCheckUtils]: 88: Hoare triple {11793#false} assume !false; {11793#false} is VALID [2022-04-28 04:19:37,902 INFO L134 CoverageAnalysis]: Checked inductivity of 205 backedges. 67 proven. 0 refuted. 0 times theorem prover too weak. 138 trivial. 0 not checked. [2022-04-28 04:19:37,902 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 04:19:37,902 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:19:37,902 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [890201216] [2022-04-28 04:19:37,902 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:19:37,902 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [685747296] [2022-04-28 04:19:37,902 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [685747296] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:19:37,902 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:19:37,902 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:19:37,902 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:19:37,902 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1199391735] [2022-04-28 04:19:37,902 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1199391735] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:19:37,902 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:19:37,902 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:19:37,902 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1688898399] [2022-04-28 04:19:37,903 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:19:37,903 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) Word has length 89 [2022-04-28 04:19:37,903 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:19:37,903 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 04:19:37,945 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:19:37,946 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 04:19:37,946 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:19:37,946 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 04:19:37,946 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 04:19:37,946 INFO L87 Difference]: Start difference. First operand 192 states and 261 transitions. Second operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 04:19:38,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:19:38,549 INFO L93 Difference]: Finished difference Result 234 states and 319 transitions. [2022-04-28 04:19:38,549 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 04:19:38,549 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) Word has length 89 [2022-04-28 04:19:38,550 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:19:38,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 04:19:38,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 89 transitions. [2022-04-28 04:19:38,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 04:19:38,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 89 transitions. [2022-04-28 04:19:38,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 89 transitions. [2022-04-28 04:19:38,642 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:19:38,646 INFO L225 Difference]: With dead ends: 234 [2022-04-28 04:19:38,646 INFO L226 Difference]: Without dead ends: 175 [2022-04-28 04:19:38,647 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 85 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-28 04:19:38,648 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 6 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 143 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.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:19:38,648 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 143 Invalid, 74 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:19:38,649 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 175 states. [2022-04-28 04:19:38,992 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 175 to 166. [2022-04-28 04:19:38,993 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:19:38,993 INFO L82 GeneralOperation]: Start isEquivalent. First operand 175 states. Second operand has 166 states, 91 states have (on average 1.10989010989011) internal successors, (101), 98 states have internal predecessors, (101), 58 states have call successors, (58), 17 states have call predecessors, (58), 16 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:19:38,993 INFO L74 IsIncluded]: Start isIncluded. First operand 175 states. Second operand has 166 states, 91 states have (on average 1.10989010989011) internal successors, (101), 98 states have internal predecessors, (101), 58 states have call successors, (58), 17 states have call predecessors, (58), 16 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:19:38,994 INFO L87 Difference]: Start difference. First operand 175 states. Second operand has 166 states, 91 states have (on average 1.10989010989011) internal successors, (101), 98 states have internal predecessors, (101), 58 states have call successors, (58), 17 states have call predecessors, (58), 16 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:19:38,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:19:38,999 INFO L93 Difference]: Finished difference Result 175 states and 228 transitions. [2022-04-28 04:19:38,999 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 228 transitions. [2022-04-28 04:19:39,000 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:19:39,000 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:19:39,001 INFO L74 IsIncluded]: Start isIncluded. First operand has 166 states, 91 states have (on average 1.10989010989011) internal successors, (101), 98 states have internal predecessors, (101), 58 states have call successors, (58), 17 states have call predecessors, (58), 16 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 175 states. [2022-04-28 04:19:39,001 INFO L87 Difference]: Start difference. First operand has 166 states, 91 states have (on average 1.10989010989011) internal successors, (101), 98 states have internal predecessors, (101), 58 states have call successors, (58), 17 states have call predecessors, (58), 16 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 175 states. [2022-04-28 04:19:39,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:19:39,006 INFO L93 Difference]: Finished difference Result 175 states and 228 transitions. [2022-04-28 04:19:39,006 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 228 transitions. [2022-04-28 04:19:39,007 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:19:39,007 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:19:39,007 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:19:39,007 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:19:39,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 166 states, 91 states have (on average 1.10989010989011) internal successors, (101), 98 states have internal predecessors, (101), 58 states have call successors, (58), 17 states have call predecessors, (58), 16 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:19:39,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 214 transitions. [2022-04-28 04:19:39,012 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 214 transitions. Word has length 89 [2022-04-28 04:19:39,013 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:19:39,013 INFO L495 AbstractCegarLoop]: Abstraction has 166 states and 214 transitions. [2022-04-28 04:19:39,013 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 04:19:39,013 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 166 states and 214 transitions. [2022-04-28 04:19:39,373 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 214 edges. 214 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:19:39,373 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 214 transitions. [2022-04-28 04:19:39,374 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2022-04-28 04:19:39,374 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:19:39,374 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 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] [2022-04-28 04:19:39,398 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Ended with exit code 0 [2022-04-28 04:19:39,574 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 04:19:39,575 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:19:39,575 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:19:39,575 INFO L85 PathProgramCache]: Analyzing trace with hash -1738688612, now seen corresponding path program 1 times [2022-04-28 04:19:39,575 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:19:39,575 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1586911158] [2022-04-28 04:19:39,576 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:19:39,576 INFO L85 PathProgramCache]: Analyzing trace with hash -1738688612, now seen corresponding path program 2 times [2022-04-28 04:19:39,576 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:19:39,576 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [285895539] [2022-04-28 04:19:39,576 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:19:39,576 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:19:39,586 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:19:39,586 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1408237494] [2022-04-28 04:19:39,586 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:19:39,586 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:19:39,587 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:19:39,588 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:19:39,594 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 04:19:39,657 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:19:39,657 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:19:39,659 INFO L263 TraceCheckSpWp]: Trace formula consists of 246 conjuncts, 61 conjunts are in the unsatisfiable core [2022-04-28 04:19:39,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:19:39,740 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:19:49,586 INFO L272 TraceCheckUtils]: 0: Hoare triple {13217#true} call ULTIMATE.init(); {13217#true} is VALID [2022-04-28 04:19:49,586 INFO L290 TraceCheckUtils]: 1: Hoare triple {13217#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); {13217#true} is VALID [2022-04-28 04:19:49,586 INFO L290 TraceCheckUtils]: 2: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 04:19:49,586 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13217#true} {13217#true} #96#return; {13217#true} is VALID [2022-04-28 04:19:49,586 INFO L272 TraceCheckUtils]: 4: Hoare triple {13217#true} call #t~ret6 := main(); {13217#true} is VALID [2022-04-28 04:19:49,586 INFO L290 TraceCheckUtils]: 5: Hoare triple {13217#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13217#true} is VALID [2022-04-28 04:19:49,587 INFO L272 TraceCheckUtils]: 6: Hoare triple {13217#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13217#true} is VALID [2022-04-28 04:19:49,587 INFO L290 TraceCheckUtils]: 7: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 04:19:49,587 INFO L290 TraceCheckUtils]: 8: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 04:19:49,587 INFO L290 TraceCheckUtils]: 9: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 04:19:49,587 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13217#true} {13217#true} #76#return; {13217#true} is VALID [2022-04-28 04:19:49,587 INFO L272 TraceCheckUtils]: 11: Hoare triple {13217#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13217#true} is VALID [2022-04-28 04:19:49,587 INFO L290 TraceCheckUtils]: 12: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 04:19:49,587 INFO L290 TraceCheckUtils]: 13: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 04:19:49,587 INFO L290 TraceCheckUtils]: 14: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 04:19:49,587 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13217#true} {13217#true} #78#return; {13217#true} is VALID [2022-04-28 04:19:49,588 INFO L290 TraceCheckUtils]: 16: Hoare triple {13217#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; {13270#(and (= main_~r~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))} is VALID [2022-04-28 04:19:49,588 INFO L272 TraceCheckUtils]: 17: Hoare triple {13270#(and (= main_~r~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))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {13217#true} is VALID [2022-04-28 04:19:49,588 INFO L290 TraceCheckUtils]: 18: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 04:19:49,588 INFO L290 TraceCheckUtils]: 19: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 04:19:49,588 INFO L290 TraceCheckUtils]: 20: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 04:19:49,589 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13217#true} {13270#(and (= main_~r~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))} #80#return; {13270#(and (= main_~r~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))} is VALID [2022-04-28 04:19:49,589 INFO L272 TraceCheckUtils]: 22: Hoare triple {13270#(and (= main_~r~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))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {13217#true} is VALID [2022-04-28 04:19:49,589 INFO L290 TraceCheckUtils]: 23: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 04:19:49,589 INFO L290 TraceCheckUtils]: 24: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 04:19:49,589 INFO L290 TraceCheckUtils]: 25: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 04:19:49,589 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13217#true} {13270#(and (= main_~r~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))} #82#return; {13270#(and (= main_~r~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))} is VALID [2022-04-28 04:19:49,590 INFO L290 TraceCheckUtils]: 27: Hoare triple {13270#(and (= main_~r~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))} assume !false; {13270#(and (= main_~r~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))} is VALID [2022-04-28 04:19:49,590 INFO L290 TraceCheckUtils]: 28: Hoare triple {13270#(and (= main_~r~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))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13307#(and (= main_~r~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_~c~0 main_~x~0))} is VALID [2022-04-28 04:19:49,591 INFO L290 TraceCheckUtils]: 29: Hoare triple {13307#(and (= main_~r~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_~c~0 main_~x~0))} assume !false; {13307#(and (= main_~r~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_~c~0 main_~x~0))} is VALID [2022-04-28 04:19:49,591 INFO L272 TraceCheckUtils]: 30: Hoare triple {13307#(and (= main_~r~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_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13217#true} is VALID [2022-04-28 04:19:49,591 INFO L290 TraceCheckUtils]: 31: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 04:19:49,591 INFO L290 TraceCheckUtils]: 32: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 04:19:49,591 INFO L290 TraceCheckUtils]: 33: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 04:19:49,592 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {13217#true} {13307#(and (= main_~r~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_~c~0 main_~x~0))} #84#return; {13307#(and (= main_~r~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_~c~0 main_~x~0))} is VALID [2022-04-28 04:19:49,592 INFO L272 TraceCheckUtils]: 35: Hoare triple {13307#(and (= main_~r~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_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13217#true} is VALID [2022-04-28 04:19:49,592 INFO L290 TraceCheckUtils]: 36: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 04:19:49,592 INFO L290 TraceCheckUtils]: 37: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 04:19:49,592 INFO L290 TraceCheckUtils]: 38: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 04:19:49,593 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {13217#true} {13307#(and (= main_~r~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_~c~0 main_~x~0))} #86#return; {13307#(and (= main_~r~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_~c~0 main_~x~0))} is VALID [2022-04-28 04:19:49,593 INFO L272 TraceCheckUtils]: 40: Hoare triple {13307#(and (= main_~r~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_~c~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13217#true} is VALID [2022-04-28 04:19:49,593 INFO L290 TraceCheckUtils]: 41: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 04:19:49,593 INFO L290 TraceCheckUtils]: 42: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 04:19:49,593 INFO L290 TraceCheckUtils]: 43: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 04:19:49,593 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {13217#true} {13307#(and (= main_~r~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_~c~0 main_~x~0))} #88#return; {13307#(and (= main_~r~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_~c~0 main_~x~0))} is VALID [2022-04-28 04:19:49,593 INFO L272 TraceCheckUtils]: 45: Hoare triple {13307#(and (= main_~r~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_~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)); {13217#true} is VALID [2022-04-28 04:19:49,594 INFO L290 TraceCheckUtils]: 46: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 04:19:49,594 INFO L290 TraceCheckUtils]: 47: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 04:19:49,594 INFO L290 TraceCheckUtils]: 48: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 04:19:49,594 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {13217#true} {13307#(and (= main_~r~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_~c~0 main_~x~0))} #90#return; {13307#(and (= main_~r~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_~c~0 main_~x~0))} is VALID [2022-04-28 04:19:49,595 INFO L290 TraceCheckUtils]: 50: Hoare triple {13307#(and (= main_~r~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_~c~0 main_~x~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:19:49,595 INFO L290 TraceCheckUtils]: 51: Hoare triple {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:19:49,595 INFO L272 TraceCheckUtils]: 52: Hoare triple {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 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)); {13217#true} is VALID [2022-04-28 04:19:49,595 INFO L290 TraceCheckUtils]: 53: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 04:19:49,595 INFO L290 TraceCheckUtils]: 54: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 04:19:49,595 INFO L290 TraceCheckUtils]: 55: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 04:19:49,596 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13217#true} {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #84#return; {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:19:49,596 INFO L272 TraceCheckUtils]: 57: Hoare triple {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 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)); {13217#true} is VALID [2022-04-28 04:19:49,596 INFO L290 TraceCheckUtils]: 58: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 04:19:49,596 INFO L290 TraceCheckUtils]: 59: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 04:19:49,596 INFO L290 TraceCheckUtils]: 60: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 04:19:49,597 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13217#true} {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:19:49,597 INFO L272 TraceCheckUtils]: 62: Hoare triple {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 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)); {13217#true} is VALID [2022-04-28 04:19:49,597 INFO L290 TraceCheckUtils]: 63: Hoare triple {13217#true} ~cond := #in~cond; {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:19:49,598 INFO L290 TraceCheckUtils]: 64: Hoare triple {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:49,598 INFO L290 TraceCheckUtils]: 65: Hoare triple {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:49,598 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:19:49,599 INFO L272 TraceCheckUtils]: 67: Hoare triple {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 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)); {13217#true} is VALID [2022-04-28 04:19:49,599 INFO L290 TraceCheckUtils]: 68: Hoare triple {13217#true} ~cond := #in~cond; {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:19:49,599 INFO L290 TraceCheckUtils]: 69: Hoare triple {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:49,599 INFO L290 TraceCheckUtils]: 70: Hoare triple {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:49,600 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:19:49,600 INFO L290 TraceCheckUtils]: 72: Hoare triple {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:19:49,601 INFO L290 TraceCheckUtils]: 73: Hoare triple {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= 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; {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:19:49,601 INFO L290 TraceCheckUtils]: 74: Hoare triple {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:19:49,602 INFO L290 TraceCheckUtils]: 75: Hoare triple {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:19:49,602 INFO L290 TraceCheckUtils]: 76: Hoare triple {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:19:49,602 INFO L272 TraceCheckUtils]: 77: Hoare triple {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~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)); {13217#true} is VALID [2022-04-28 04:19:49,602 INFO L290 TraceCheckUtils]: 78: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 04:19:49,602 INFO L290 TraceCheckUtils]: 79: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 04:19:49,602 INFO L290 TraceCheckUtils]: 80: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 04:19:49,603 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {13217#true} {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #84#return; {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:19:49,603 INFO L272 TraceCheckUtils]: 82: Hoare triple {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~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)); {13217#true} is VALID [2022-04-28 04:19:49,603 INFO L290 TraceCheckUtils]: 83: Hoare triple {13217#true} ~cond := #in~cond; {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:19:49,604 INFO L290 TraceCheckUtils]: 84: Hoare triple {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:49,604 INFO L290 TraceCheckUtils]: 85: Hoare triple {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:49,605 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {13486#(and (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:19:49,605 INFO L272 TraceCheckUtils]: 87: Hoare triple {13486#(and (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~x~0 (+ main_~b~0 main_~y~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)); {13217#true} is VALID [2022-04-28 04:19:49,605 INFO L290 TraceCheckUtils]: 88: Hoare triple {13217#true} ~cond := #in~cond; {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:19:49,605 INFO L290 TraceCheckUtils]: 89: Hoare triple {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:49,606 INFO L290 TraceCheckUtils]: 90: Hoare triple {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:49,606 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} {13486#(and (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {13502#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 04:19:49,723 INFO L272 TraceCheckUtils]: 92: Hoare triple {13502#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~x~0 (+ main_~b~0 main_~y~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)); {13506#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:19:49,723 INFO L290 TraceCheckUtils]: 93: Hoare triple {13506#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13510#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:19:49,724 INFO L290 TraceCheckUtils]: 94: Hoare triple {13510#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13218#false} is VALID [2022-04-28 04:19:49,724 INFO L290 TraceCheckUtils]: 95: Hoare triple {13218#false} assume !false; {13218#false} is VALID [2022-04-28 04:19:49,724 INFO L134 CoverageAnalysis]: Checked inductivity of 284 backedges. 96 proven. 28 refuted. 0 times theorem prover too weak. 160 trivial. 0 not checked. [2022-04-28 04:19:49,724 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:21:33,300 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:21:33,300 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [285895539] [2022-04-28 04:21:33,300 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:21:33,300 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1408237494] [2022-04-28 04:21:33,300 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1408237494] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:21:33,300 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 04:21:33,300 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2022-04-28 04:21:33,300 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:21:33,300 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1586911158] [2022-04-28 04:21:33,300 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1586911158] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:21:33,300 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:21:33,301 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 04:21:33,301 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [503042283] [2022-04-28 04:21:33,301 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:21:33,301 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 96 [2022-04-28 04:21:33,301 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:21:33,301 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 04:21:33,413 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:21:33,414 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 04:21:33,414 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:21:33,414 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 04:21:33,414 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=235, Unknown=4, NotChecked=0, Total=306 [2022-04-28 04:21:33,414 INFO L87 Difference]: Start difference. First operand 166 states and 214 transitions. Second operand has 12 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 04:21:45,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:21:45,507 INFO L93 Difference]: Finished difference Result 181 states and 226 transitions. [2022-04-28 04:21:45,507 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 04:21:45,508 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 96 [2022-04-28 04:21:45,508 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:21:45,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 04:21:45,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 105 transitions. [2022-04-28 04:21:45,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 04:21:45,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 105 transitions. [2022-04-28 04:21:45,511 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 105 transitions. [2022-04-28 04:21:45,698 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:21:45,701 INFO L225 Difference]: With dead ends: 181 [2022-04-28 04:21:45,701 INFO L226 Difference]: Without dead ends: 179 [2022-04-28 04:21:45,702 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 103 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 13.0s TimeCoverageRelationStatistics Valid=107, Invalid=394, Unknown=5, NotChecked=0, Total=506 [2022-04-28 04:21:45,702 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 27 mSDsluCounter, 185 mSDsCounter, 0 mSdLazyCounter, 534 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 231 SdHoareTripleChecker+Invalid, 569 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 534 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-28 04:21:45,702 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 231 Invalid, 569 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 534 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-28 04:21:45,703 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 179 states. [2022-04-28 04:21:46,011 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 179 to 178. [2022-04-28 04:21:46,011 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:21:46,011 INFO L82 GeneralOperation]: Start isEquivalent. First operand 179 states. Second operand has 178 states, 100 states have (on average 1.1) internal successors, (110), 107 states have internal predecessors, (110), 58 states have call successors, (58), 20 states have call predecessors, (58), 19 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:21:46,012 INFO L74 IsIncluded]: Start isIncluded. First operand 179 states. Second operand has 178 states, 100 states have (on average 1.1) internal successors, (110), 107 states have internal predecessors, (110), 58 states have call successors, (58), 20 states have call predecessors, (58), 19 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:21:46,012 INFO L87 Difference]: Start difference. First operand 179 states. Second operand has 178 states, 100 states have (on average 1.1) internal successors, (110), 107 states have internal predecessors, (110), 58 states have call successors, (58), 20 states have call predecessors, (58), 19 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:21:46,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:21:46,017 INFO L93 Difference]: Finished difference Result 179 states and 224 transitions. [2022-04-28 04:21:46,017 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 224 transitions. [2022-04-28 04:21:46,018 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:21:46,018 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:21:46,018 INFO L74 IsIncluded]: Start isIncluded. First operand has 178 states, 100 states have (on average 1.1) internal successors, (110), 107 states have internal predecessors, (110), 58 states have call successors, (58), 20 states have call predecessors, (58), 19 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 179 states. [2022-04-28 04:21:46,019 INFO L87 Difference]: Start difference. First operand has 178 states, 100 states have (on average 1.1) internal successors, (110), 107 states have internal predecessors, (110), 58 states have call successors, (58), 20 states have call predecessors, (58), 19 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 179 states. [2022-04-28 04:21:46,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:21:46,023 INFO L93 Difference]: Finished difference Result 179 states and 224 transitions. [2022-04-28 04:21:46,023 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 224 transitions. [2022-04-28 04:21:46,024 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:21:46,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:21:46,024 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:21:46,024 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:21:46,025 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 178 states, 100 states have (on average 1.1) internal successors, (110), 107 states have internal predecessors, (110), 58 states have call successors, (58), 20 states have call predecessors, (58), 19 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:21:46,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 178 states to 178 states and 223 transitions. [2022-04-28 04:21:46,030 INFO L78 Accepts]: Start accepts. Automaton has 178 states and 223 transitions. Word has length 96 [2022-04-28 04:21:46,030 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:21:46,030 INFO L495 AbstractCegarLoop]: Abstraction has 178 states and 223 transitions. [2022-04-28 04:21:46,030 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 04:21:46,030 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 178 states and 223 transitions. [2022-04-28 04:21:46,425 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 223 edges. 223 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:21:46,425 INFO L276 IsEmpty]: Start isEmpty. Operand 178 states and 223 transitions. [2022-04-28 04:21:46,427 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-28 04:21:46,427 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:21:46,427 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:21:46,448 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 04:21:46,635 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:21:46,635 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:21:46,636 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:21:46,636 INFO L85 PathProgramCache]: Analyzing trace with hash -1265808182, now seen corresponding path program 5 times [2022-04-28 04:21:46,636 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:21:46,636 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [250080952] [2022-04-28 04:21:46,636 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:21:46,636 INFO L85 PathProgramCache]: Analyzing trace with hash -1265808182, now seen corresponding path program 6 times [2022-04-28 04:21:46,636 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:21:46,636 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1544508780] [2022-04-28 04:21:46,636 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:21:46,637 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:21:46,647 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:21:46,647 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [973433860] [2022-04-28 04:21:46,647 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:21:46,647 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:21:46,647 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:21:46,648 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:21:46,659 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 04:21:46,709 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-28 04:21:46,710 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:21:46,711 INFO L263 TraceCheckSpWp]: Trace formula consists of 182 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 04:21:46,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:21:46,728 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:21:47,153 INFO L272 TraceCheckUtils]: 0: Hoare triple {14683#true} call ULTIMATE.init(); {14683#true} is VALID [2022-04-28 04:21:47,154 INFO L290 TraceCheckUtils]: 1: Hoare triple {14683#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); {14683#true} is VALID [2022-04-28 04:21:47,154 INFO L290 TraceCheckUtils]: 2: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,154 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14683#true} {14683#true} #96#return; {14683#true} is VALID [2022-04-28 04:21:47,154 INFO L272 TraceCheckUtils]: 4: Hoare triple {14683#true} call #t~ret6 := main(); {14683#true} is VALID [2022-04-28 04:21:47,154 INFO L290 TraceCheckUtils]: 5: Hoare triple {14683#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14683#true} is VALID [2022-04-28 04:21:47,154 INFO L272 TraceCheckUtils]: 6: Hoare triple {14683#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14683#true} is VALID [2022-04-28 04:21:47,154 INFO L290 TraceCheckUtils]: 7: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,154 INFO L290 TraceCheckUtils]: 8: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,154 INFO L290 TraceCheckUtils]: 9: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,154 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14683#true} {14683#true} #76#return; {14683#true} is VALID [2022-04-28 04:21:47,154 INFO L272 TraceCheckUtils]: 11: Hoare triple {14683#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14683#true} is VALID [2022-04-28 04:21:47,155 INFO L290 TraceCheckUtils]: 12: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,155 INFO L290 TraceCheckUtils]: 13: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,155 INFO L290 TraceCheckUtils]: 14: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,155 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14683#true} {14683#true} #78#return; {14683#true} is VALID [2022-04-28 04:21:47,155 INFO L290 TraceCheckUtils]: 16: Hoare triple {14683#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; {14683#true} is VALID [2022-04-28 04:21:47,155 INFO L272 TraceCheckUtils]: 17: Hoare triple {14683#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {14683#true} is VALID [2022-04-28 04:21:47,155 INFO L290 TraceCheckUtils]: 18: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,155 INFO L290 TraceCheckUtils]: 19: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,155 INFO L290 TraceCheckUtils]: 20: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,155 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14683#true} {14683#true} #80#return; {14683#true} is VALID [2022-04-28 04:21:47,155 INFO L272 TraceCheckUtils]: 22: Hoare triple {14683#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {14683#true} is VALID [2022-04-28 04:21:47,155 INFO L290 TraceCheckUtils]: 23: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,156 INFO L290 TraceCheckUtils]: 24: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,156 INFO L290 TraceCheckUtils]: 25: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,156 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14683#true} {14683#true} #82#return; {14683#true} is VALID [2022-04-28 04:21:47,156 INFO L290 TraceCheckUtils]: 27: Hoare triple {14683#true} assume !false; {14683#true} is VALID [2022-04-28 04:21:47,156 INFO L290 TraceCheckUtils]: 28: Hoare triple {14683#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 04:21:47,157 INFO L290 TraceCheckUtils]: 29: Hoare triple {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} assume !false; {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 04:21:47,157 INFO L272 TraceCheckUtils]: 30: Hoare triple {14772#(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)); {14683#true} is VALID [2022-04-28 04:21:47,157 INFO L290 TraceCheckUtils]: 31: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,157 INFO L290 TraceCheckUtils]: 32: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,157 INFO L290 TraceCheckUtils]: 33: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,158 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {14683#true} {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} #84#return; {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 04:21:47,158 INFO L272 TraceCheckUtils]: 35: Hoare triple {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14683#true} is VALID [2022-04-28 04:21:47,158 INFO L290 TraceCheckUtils]: 36: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,158 INFO L290 TraceCheckUtils]: 37: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,158 INFO L290 TraceCheckUtils]: 38: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,159 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {14683#true} {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} #86#return; {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 04:21:47,159 INFO L272 TraceCheckUtils]: 40: Hoare triple {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14683#true} is VALID [2022-04-28 04:21:47,159 INFO L290 TraceCheckUtils]: 41: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,159 INFO L290 TraceCheckUtils]: 42: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,159 INFO L290 TraceCheckUtils]: 43: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,160 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {14683#true} {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} #88#return; {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 04:21:47,160 INFO L272 TraceCheckUtils]: 45: Hoare triple {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= 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)); {14683#true} is VALID [2022-04-28 04:21:47,160 INFO L290 TraceCheckUtils]: 46: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,160 INFO L290 TraceCheckUtils]: 47: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,160 INFO L290 TraceCheckUtils]: 48: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,161 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {14683#true} {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} #90#return; {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 04:21:47,161 INFO L290 TraceCheckUtils]: 50: Hoare triple {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 04:21:47,162 INFO L290 TraceCheckUtils]: 51: Hoare triple {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} assume !false; {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 04:21:47,162 INFO L272 TraceCheckUtils]: 52: Hoare triple {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) 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)); {14683#true} is VALID [2022-04-28 04:21:47,162 INFO L290 TraceCheckUtils]: 53: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,162 INFO L290 TraceCheckUtils]: 54: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,162 INFO L290 TraceCheckUtils]: 55: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,163 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {14683#true} {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} #84#return; {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 04:21:47,163 INFO L272 TraceCheckUtils]: 57: Hoare triple {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14683#true} is VALID [2022-04-28 04:21:47,163 INFO L290 TraceCheckUtils]: 58: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,163 INFO L290 TraceCheckUtils]: 59: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,163 INFO L290 TraceCheckUtils]: 60: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,164 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {14683#true} {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} #86#return; {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 04:21:47,164 INFO L272 TraceCheckUtils]: 62: Hoare triple {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14683#true} is VALID [2022-04-28 04:21:47,164 INFO L290 TraceCheckUtils]: 63: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,164 INFO L290 TraceCheckUtils]: 64: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,164 INFO L290 TraceCheckUtils]: 65: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,165 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {14683#true} {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} #88#return; {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 04:21:47,165 INFO L272 TraceCheckUtils]: 67: Hoare triple {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= 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)); {14683#true} is VALID [2022-04-28 04:21:47,165 INFO L290 TraceCheckUtils]: 68: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,165 INFO L290 TraceCheckUtils]: 69: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,165 INFO L290 TraceCheckUtils]: 70: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,166 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {14683#true} {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} #90#return; {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 04:21:47,167 INFO L290 TraceCheckUtils]: 72: Hoare triple {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} is VALID [2022-04-28 04:21:47,168 INFO L290 TraceCheckUtils]: 73: Hoare triple {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} assume !false; {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} is VALID [2022-04-28 04:21:47,168 INFO L272 TraceCheckUtils]: 74: Hoare triple {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14683#true} is VALID [2022-04-28 04:21:47,168 INFO L290 TraceCheckUtils]: 75: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,168 INFO L290 TraceCheckUtils]: 76: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,168 INFO L290 TraceCheckUtils]: 77: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,168 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {14683#true} {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} #84#return; {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} is VALID [2022-04-28 04:21:47,169 INFO L272 TraceCheckUtils]: 79: Hoare triple {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14683#true} is VALID [2022-04-28 04:21:47,169 INFO L290 TraceCheckUtils]: 80: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,169 INFO L290 TraceCheckUtils]: 81: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,169 INFO L290 TraceCheckUtils]: 82: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,170 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {14683#true} {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} #86#return; {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} is VALID [2022-04-28 04:21:47,170 INFO L272 TraceCheckUtils]: 84: Hoare triple {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14683#true} is VALID [2022-04-28 04:21:47,170 INFO L290 TraceCheckUtils]: 85: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,170 INFO L290 TraceCheckUtils]: 86: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,170 INFO L290 TraceCheckUtils]: 87: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,171 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {14683#true} {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} #88#return; {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} is VALID [2022-04-28 04:21:47,171 INFO L272 TraceCheckUtils]: 89: Hoare triple {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) 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)); {14683#true} is VALID [2022-04-28 04:21:47,171 INFO L290 TraceCheckUtils]: 90: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,171 INFO L290 TraceCheckUtils]: 91: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,171 INFO L290 TraceCheckUtils]: 92: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,172 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {14683#true} {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} #90#return; {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} is VALID [2022-04-28 04:21:47,173 INFO L290 TraceCheckUtils]: 94: Hoare triple {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14973#(and (= main_~k~0 3) (not (= main_~b~0 0)) (= main_~c~0 (+ (* main_~b~0 (- 3)) main_~a~0)))} is VALID [2022-04-28 04:21:47,173 INFO L290 TraceCheckUtils]: 95: Hoare triple {14973#(and (= main_~k~0 3) (not (= main_~b~0 0)) (= main_~c~0 (+ (* main_~b~0 (- 3)) main_~a~0)))} assume !false; {14973#(and (= main_~k~0 3) (not (= main_~b~0 0)) (= main_~c~0 (+ (* main_~b~0 (- 3)) main_~a~0)))} is VALID [2022-04-28 04:21:47,174 INFO L272 TraceCheckUtils]: 96: Hoare triple {14973#(and (= main_~k~0 3) (not (= main_~b~0 0)) (= main_~c~0 (+ (* main_~b~0 (- 3)) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14980#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:21:47,174 INFO L290 TraceCheckUtils]: 97: Hoare triple {14980#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14984#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:21:47,175 INFO L290 TraceCheckUtils]: 98: Hoare triple {14984#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14684#false} is VALID [2022-04-28 04:21:47,175 INFO L290 TraceCheckUtils]: 99: Hoare triple {14684#false} assume !false; {14684#false} is VALID [2022-04-28 04:21:47,175 INFO L134 CoverageAnalysis]: Checked inductivity of 336 backedges. 24 proven. 24 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 04:21:47,175 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:21:47,536 INFO L290 TraceCheckUtils]: 99: Hoare triple {14684#false} assume !false; {14684#false} is VALID [2022-04-28 04:21:47,537 INFO L290 TraceCheckUtils]: 98: Hoare triple {14984#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14684#false} is VALID [2022-04-28 04:21:47,537 INFO L290 TraceCheckUtils]: 97: Hoare triple {14980#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14984#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:21:47,538 INFO L272 TraceCheckUtils]: 96: Hoare triple {15000#(= 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)); {14980#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:21:47,538 INFO L290 TraceCheckUtils]: 95: Hoare triple {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,540 INFO L290 TraceCheckUtils]: 94: Hoare triple {15000#(= 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; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,541 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #90#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,541 INFO L290 TraceCheckUtils]: 92: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,541 INFO L290 TraceCheckUtils]: 91: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,541 INFO L290 TraceCheckUtils]: 90: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,541 INFO L272 TraceCheckUtils]: 89: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-28 04:21:47,541 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #88#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,542 INFO L290 TraceCheckUtils]: 87: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,542 INFO L290 TraceCheckUtils]: 86: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,542 INFO L290 TraceCheckUtils]: 85: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,542 INFO L272 TraceCheckUtils]: 84: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-28 04:21:47,542 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #86#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,542 INFO L290 TraceCheckUtils]: 82: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,542 INFO L290 TraceCheckUtils]: 81: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,542 INFO L290 TraceCheckUtils]: 80: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,543 INFO L272 TraceCheckUtils]: 79: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-28 04:21:47,543 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #84#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,543 INFO L290 TraceCheckUtils]: 77: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,543 INFO L290 TraceCheckUtils]: 76: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,543 INFO L290 TraceCheckUtils]: 75: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,543 INFO L272 TraceCheckUtils]: 74: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-28 04:21:47,544 INFO L290 TraceCheckUtils]: 73: Hoare triple {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,545 INFO L290 TraceCheckUtils]: 72: Hoare triple {15000#(= 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; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,546 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #90#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,546 INFO L290 TraceCheckUtils]: 70: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,546 INFO L290 TraceCheckUtils]: 69: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,546 INFO L290 TraceCheckUtils]: 68: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,546 INFO L272 TraceCheckUtils]: 67: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-28 04:21:47,547 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #88#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,547 INFO L290 TraceCheckUtils]: 65: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,547 INFO L290 TraceCheckUtils]: 64: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,547 INFO L290 TraceCheckUtils]: 63: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,547 INFO L272 TraceCheckUtils]: 62: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-28 04:21:47,547 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #86#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,547 INFO L290 TraceCheckUtils]: 60: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,548 INFO L290 TraceCheckUtils]: 59: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,548 INFO L290 TraceCheckUtils]: 58: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,548 INFO L272 TraceCheckUtils]: 57: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-28 04:21:47,548 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #84#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,548 INFO L290 TraceCheckUtils]: 55: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,548 INFO L290 TraceCheckUtils]: 54: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,548 INFO L290 TraceCheckUtils]: 53: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,548 INFO L272 TraceCheckUtils]: 52: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-28 04:21:47,549 INFO L290 TraceCheckUtils]: 51: Hoare triple {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,551 INFO L290 TraceCheckUtils]: 50: Hoare triple {15000#(= 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; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,552 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #90#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,552 INFO L290 TraceCheckUtils]: 48: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,552 INFO L290 TraceCheckUtils]: 47: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,552 INFO L290 TraceCheckUtils]: 46: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,552 INFO L272 TraceCheckUtils]: 45: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-28 04:21:47,553 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #88#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,553 INFO L290 TraceCheckUtils]: 43: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,553 INFO L290 TraceCheckUtils]: 42: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,553 INFO L290 TraceCheckUtils]: 41: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,553 INFO L272 TraceCheckUtils]: 40: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-28 04:21:47,553 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #86#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,553 INFO L290 TraceCheckUtils]: 38: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,554 INFO L290 TraceCheckUtils]: 37: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,554 INFO L290 TraceCheckUtils]: 36: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,554 INFO L272 TraceCheckUtils]: 35: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-28 04:21:47,554 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #84#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,554 INFO L290 TraceCheckUtils]: 33: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,554 INFO L290 TraceCheckUtils]: 32: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,554 INFO L290 TraceCheckUtils]: 31: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,554 INFO L272 TraceCheckUtils]: 30: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-28 04:21:47,555 INFO L290 TraceCheckUtils]: 29: Hoare triple {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,555 INFO L290 TraceCheckUtils]: 28: Hoare triple {14683#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 04:21:47,555 INFO L290 TraceCheckUtils]: 27: Hoare triple {14683#true} assume !false; {14683#true} is VALID [2022-04-28 04:21:47,555 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14683#true} {14683#true} #82#return; {14683#true} is VALID [2022-04-28 04:21:47,555 INFO L290 TraceCheckUtils]: 25: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,555 INFO L290 TraceCheckUtils]: 24: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,555 INFO L290 TraceCheckUtils]: 23: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,555 INFO L272 TraceCheckUtils]: 22: Hoare triple {14683#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {14683#true} is VALID [2022-04-28 04:21:47,555 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14683#true} {14683#true} #80#return; {14683#true} is VALID [2022-04-28 04:21:47,555 INFO L290 TraceCheckUtils]: 20: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,555 INFO L290 TraceCheckUtils]: 19: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,556 INFO L290 TraceCheckUtils]: 18: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,556 INFO L272 TraceCheckUtils]: 17: Hoare triple {14683#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {14683#true} is VALID [2022-04-28 04:21:47,556 INFO L290 TraceCheckUtils]: 16: Hoare triple {14683#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; {14683#true} is VALID [2022-04-28 04:21:47,556 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14683#true} {14683#true} #78#return; {14683#true} is VALID [2022-04-28 04:21:47,556 INFO L290 TraceCheckUtils]: 14: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,556 INFO L290 TraceCheckUtils]: 13: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,556 INFO L290 TraceCheckUtils]: 12: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,556 INFO L272 TraceCheckUtils]: 11: Hoare triple {14683#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14683#true} is VALID [2022-04-28 04:21:47,556 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14683#true} {14683#true} #76#return; {14683#true} is VALID [2022-04-28 04:21:47,556 INFO L290 TraceCheckUtils]: 9: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,556 INFO L290 TraceCheckUtils]: 8: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 04:21:47,556 INFO L290 TraceCheckUtils]: 7: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 04:21:47,556 INFO L272 TraceCheckUtils]: 6: Hoare triple {14683#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14683#true} is VALID [2022-04-28 04:21:47,556 INFO L290 TraceCheckUtils]: 5: Hoare triple {14683#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14683#true} is VALID [2022-04-28 04:21:47,556 INFO L272 TraceCheckUtils]: 4: Hoare triple {14683#true} call #t~ret6 := main(); {14683#true} is VALID [2022-04-28 04:21:47,556 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14683#true} {14683#true} #96#return; {14683#true} is VALID [2022-04-28 04:21:47,556 INFO L290 TraceCheckUtils]: 2: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 04:21:47,556 INFO L290 TraceCheckUtils]: 1: Hoare triple {14683#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); {14683#true} is VALID [2022-04-28 04:21:47,556 INFO L272 TraceCheckUtils]: 0: Hoare triple {14683#true} call ULTIMATE.init(); {14683#true} is VALID [2022-04-28 04:21:47,557 INFO L134 CoverageAnalysis]: Checked inductivity of 336 backedges. 24 proven. 0 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 04:21:47,557 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:21:47,557 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1544508780] [2022-04-28 04:21:47,557 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:21:47,557 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [973433860] [2022-04-28 04:21:47,557 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [973433860] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 04:21:47,557 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 04:21:47,557 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-28 04:21:47,557 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:21:47,557 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [250080952] [2022-04-28 04:21:47,557 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [250080952] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:21:47,558 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:21:47,558 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:21:47,558 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [529169632] [2022-04-28 04:21:47,558 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:21:47,558 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 100 [2022-04-28 04:21:47,558 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:21:47,558 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-28 04:21:47,593 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-28 04:21:47,593 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 04:21:47,593 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:21:47,594 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 04:21:47,594 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 04:21:47,594 INFO L87 Difference]: Start difference. First operand 178 states and 223 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-28 04:21:47,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:21:47,993 INFO L93 Difference]: Finished difference Result 184 states and 228 transitions. [2022-04-28 04:21:47,993 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 04:21:47,993 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 100 [2022-04-28 04:21:47,993 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:21:47,993 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-28 04:21:47,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2022-04-28 04:21:47,994 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-28 04:21:47,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2022-04-28 04:21:47,994 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2022-04-28 04:21:48,027 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:21:48,030 INFO L225 Difference]: With dead ends: 184 [2022-04-28 04:21:48,030 INFO L226 Difference]: Without dead ends: 182 [2022-04-28 04:21:48,031 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 200 GetRequests, 188 SyntacticMatches, 4 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-28 04:21:48,031 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 6 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 117 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-28 04:21:48,031 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 117 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 04:21:48,032 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-28 04:21:48,319 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 182. [2022-04-28 04:21:48,320 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:21:48,320 INFO L82 GeneralOperation]: Start isEquivalent. First operand 182 states. Second operand has 182 states, 103 states have (on average 1.0970873786407767) internal successors, (113), 110 states have internal predecessors, (113), 58 states have call successors, (58), 21 states have call predecessors, (58), 20 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:21:48,320 INFO L74 IsIncluded]: Start isIncluded. First operand 182 states. Second operand has 182 states, 103 states have (on average 1.0970873786407767) internal successors, (113), 110 states have internal predecessors, (113), 58 states have call successors, (58), 21 states have call predecessors, (58), 20 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:21:48,321 INFO L87 Difference]: Start difference. First operand 182 states. Second operand has 182 states, 103 states have (on average 1.0970873786407767) internal successors, (113), 110 states have internal predecessors, (113), 58 states have call successors, (58), 21 states have call predecessors, (58), 20 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:21:48,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:21:48,325 INFO L93 Difference]: Finished difference Result 182 states and 226 transitions. [2022-04-28 04:21:48,325 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 226 transitions. [2022-04-28 04:21:48,326 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:21:48,326 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:21:48,326 INFO L74 IsIncluded]: Start isIncluded. First operand has 182 states, 103 states have (on average 1.0970873786407767) internal successors, (113), 110 states have internal predecessors, (113), 58 states have call successors, (58), 21 states have call predecessors, (58), 20 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 182 states. [2022-04-28 04:21:48,327 INFO L87 Difference]: Start difference. First operand has 182 states, 103 states have (on average 1.0970873786407767) internal successors, (113), 110 states have internal predecessors, (113), 58 states have call successors, (58), 21 states have call predecessors, (58), 20 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 182 states. [2022-04-28 04:21:48,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:21:48,331 INFO L93 Difference]: Finished difference Result 182 states and 226 transitions. [2022-04-28 04:21:48,331 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 226 transitions. [2022-04-28 04:21:48,336 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:21:48,336 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:21:48,336 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:21:48,336 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:21:48,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 182 states, 103 states have (on average 1.0970873786407767) internal successors, (113), 110 states have internal predecessors, (113), 58 states have call successors, (58), 21 states have call predecessors, (58), 20 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:21:48,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 182 states to 182 states and 226 transitions. [2022-04-28 04:21:48,342 INFO L78 Accepts]: Start accepts. Automaton has 182 states and 226 transitions. Word has length 100 [2022-04-28 04:21:48,342 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:21:48,342 INFO L495 AbstractCegarLoop]: Abstraction has 182 states and 226 transitions. [2022-04-28 04:21:48,342 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-28 04:21:48,342 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 182 states and 226 transitions. [2022-04-28 04:21:48,743 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 226 edges. 226 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:21:48,743 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 226 transitions. [2022-04-28 04:21:48,744 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-28 04:21:48,744 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:21:48,744 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 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] [2022-04-28 04:21:48,771 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 04:21:48,944 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 04:21:48,945 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:21:48,945 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:21:48,945 INFO L85 PathProgramCache]: Analyzing trace with hash 1068463892, now seen corresponding path program 3 times [2022-04-28 04:21:48,945 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:21:48,945 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1687931026] [2022-04-28 04:21:48,945 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:21:48,946 INFO L85 PathProgramCache]: Analyzing trace with hash 1068463892, now seen corresponding path program 4 times [2022-04-28 04:21:48,946 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:21:48,946 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2007438576] [2022-04-28 04:21:48,946 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:21:48,946 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:21:48,966 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:21:48,966 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1915920786] [2022-04-28 04:21:48,966 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:21:48,966 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:21:48,966 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:21:48,968 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:21:48,998 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 04:21:49,030 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:21:49,030 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:21:49,032 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-28 04:21:49,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:21:49,053 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:21:57,441 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:21:58,199 INFO L272 TraceCheckUtils]: 0: Hoare triple {16389#true} call ULTIMATE.init(); {16389#true} is VALID [2022-04-28 04:21:58,199 INFO L290 TraceCheckUtils]: 1: Hoare triple {16389#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); {16389#true} is VALID [2022-04-28 04:21:58,199 INFO L290 TraceCheckUtils]: 2: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 04:21:58,199 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16389#true} {16389#true} #96#return; {16389#true} is VALID [2022-04-28 04:21:58,199 INFO L272 TraceCheckUtils]: 4: Hoare triple {16389#true} call #t~ret6 := main(); {16389#true} is VALID [2022-04-28 04:21:58,199 INFO L290 TraceCheckUtils]: 5: Hoare triple {16389#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16389#true} is VALID [2022-04-28 04:21:58,200 INFO L272 TraceCheckUtils]: 6: Hoare triple {16389#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16389#true} is VALID [2022-04-28 04:21:58,200 INFO L290 TraceCheckUtils]: 7: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 04:21:58,200 INFO L290 TraceCheckUtils]: 8: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 04:21:58,200 INFO L290 TraceCheckUtils]: 9: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 04:21:58,200 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16389#true} {16389#true} #76#return; {16389#true} is VALID [2022-04-28 04:21:58,200 INFO L272 TraceCheckUtils]: 11: Hoare triple {16389#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16389#true} is VALID [2022-04-28 04:21:58,200 INFO L290 TraceCheckUtils]: 12: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 04:21:58,200 INFO L290 TraceCheckUtils]: 13: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 04:21:58,200 INFO L290 TraceCheckUtils]: 14: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 04:21:58,200 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16389#true} {16389#true} #78#return; {16389#true} is VALID [2022-04-28 04:21:58,200 INFO L290 TraceCheckUtils]: 16: Hoare triple {16389#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; {16442#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:21:58,200 INFO L272 TraceCheckUtils]: 17: Hoare triple {16442#(and (= main_~r~0 0) (= 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)); {16389#true} is VALID [2022-04-28 04:21:58,201 INFO L290 TraceCheckUtils]: 18: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 04:21:58,201 INFO L290 TraceCheckUtils]: 19: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 04:21:58,201 INFO L290 TraceCheckUtils]: 20: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 04:21:58,201 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16389#true} {16442#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #80#return; {16442#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:21:58,201 INFO L272 TraceCheckUtils]: 22: Hoare triple {16442#(and (= main_~r~0 0) (= 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)); {16389#true} is VALID [2022-04-28 04:21:58,201 INFO L290 TraceCheckUtils]: 23: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 04:21:58,201 INFO L290 TraceCheckUtils]: 24: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 04:21:58,202 INFO L290 TraceCheckUtils]: 25: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 04:21:58,202 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16389#true} {16442#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {16442#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:21:58,202 INFO L290 TraceCheckUtils]: 27: Hoare triple {16442#(and (= main_~r~0 0) (= 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; {16442#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:21:58,203 INFO L290 TraceCheckUtils]: 28: Hoare triple {16442#(and (= main_~r~0 0) (= 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; {16479#(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-28 04:21:58,203 INFO L290 TraceCheckUtils]: 29: Hoare triple {16479#(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; {16479#(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-28 04:21:58,203 INFO L272 TraceCheckUtils]: 30: Hoare triple {16479#(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)); {16389#true} is VALID [2022-04-28 04:21:58,203 INFO L290 TraceCheckUtils]: 31: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 04:21:58,203 INFO L290 TraceCheckUtils]: 32: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 04:21:58,203 INFO L290 TraceCheckUtils]: 33: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 04:21:58,204 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {16389#true} {16479#(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))} #84#return; {16479#(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-28 04:21:58,204 INFO L272 TraceCheckUtils]: 35: Hoare triple {16479#(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)); {16389#true} is VALID [2022-04-28 04:21:58,204 INFO L290 TraceCheckUtils]: 36: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 04:21:58,204 INFO L290 TraceCheckUtils]: 37: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 04:21:58,204 INFO L290 TraceCheckUtils]: 38: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 04:21:58,205 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {16389#true} {16479#(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))} #86#return; {16479#(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-28 04:21:58,205 INFO L272 TraceCheckUtils]: 40: Hoare triple {16479#(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)); {16389#true} is VALID [2022-04-28 04:21:58,205 INFO L290 TraceCheckUtils]: 41: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 04:21:58,205 INFO L290 TraceCheckUtils]: 42: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 04:21:58,205 INFO L290 TraceCheckUtils]: 43: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 04:21:58,206 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {16389#true} {16479#(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))} #88#return; {16479#(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-28 04:21:58,206 INFO L272 TraceCheckUtils]: 45: Hoare triple {16479#(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)); {16389#true} is VALID [2022-04-28 04:21:58,206 INFO L290 TraceCheckUtils]: 46: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 04:21:58,206 INFO L290 TraceCheckUtils]: 47: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 04:21:58,206 INFO L290 TraceCheckUtils]: 48: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 04:21:58,207 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {16389#true} {16479#(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))} #90#return; {16479#(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-28 04:21:58,207 INFO L290 TraceCheckUtils]: 50: Hoare triple {16479#(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; {16546#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:21:58,208 INFO L290 TraceCheckUtils]: 51: Hoare triple {16546#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {16546#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:21:58,208 INFO L272 TraceCheckUtils]: 52: Hoare triple {16546#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~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)); {16389#true} is VALID [2022-04-28 04:21:58,208 INFO L290 TraceCheckUtils]: 53: Hoare triple {16389#true} ~cond := #in~cond; {16556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:21:58,208 INFO L290 TraceCheckUtils]: 54: Hoare triple {16556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:21:58,209 INFO L290 TraceCheckUtils]: 55: Hoare triple {16560#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:21:58,209 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {16560#(not (= |__VERIFIER_assert_#in~cond| 0))} {16546#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:21:58,210 INFO L272 TraceCheckUtils]: 57: Hoare triple {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~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)); {16389#true} is VALID [2022-04-28 04:21:58,210 INFO L290 TraceCheckUtils]: 58: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 04:21:58,210 INFO L290 TraceCheckUtils]: 59: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 04:21:58,210 INFO L290 TraceCheckUtils]: 60: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 04:21:58,210 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16389#true} {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:21:58,210 INFO L272 TraceCheckUtils]: 62: Hoare triple {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~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)); {16389#true} is VALID [2022-04-28 04:21:58,211 INFO L290 TraceCheckUtils]: 63: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 04:21:58,211 INFO L290 TraceCheckUtils]: 64: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 04:21:58,211 INFO L290 TraceCheckUtils]: 65: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 04:21:58,211 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {16389#true} {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #88#return; {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:21:58,211 INFO L272 TraceCheckUtils]: 67: Hoare triple {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~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)); {16389#true} is VALID [2022-04-28 04:21:58,211 INFO L290 TraceCheckUtils]: 68: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 04:21:58,212 INFO L290 TraceCheckUtils]: 69: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 04:21:58,212 INFO L290 TraceCheckUtils]: 70: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 04:21:58,212 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16389#true} {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #90#return; {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:21:58,213 INFO L290 TraceCheckUtils]: 72: Hoare triple {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~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; {16616#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~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-28 04:21:58,214 INFO L290 TraceCheckUtils]: 73: Hoare triple {16616#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~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; {16616#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~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-28 04:21:58,214 INFO L272 TraceCheckUtils]: 74: Hoare triple {16616#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~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)); {16389#true} is VALID [2022-04-28 04:21:58,214 INFO L290 TraceCheckUtils]: 75: Hoare triple {16389#true} ~cond := #in~cond; {16556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:21:58,214 INFO L290 TraceCheckUtils]: 76: Hoare triple {16556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:21:58,215 INFO L290 TraceCheckUtils]: 77: Hoare triple {16560#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:21:58,216 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {16560#(not (= |__VERIFIER_assert_#in~cond| 0))} {16616#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~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))} #84#return; {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} is VALID [2022-04-28 04:21:58,216 INFO L272 TraceCheckUtils]: 79: Hoare triple {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16389#true} is VALID [2022-04-28 04:21:58,216 INFO L290 TraceCheckUtils]: 80: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 04:21:58,216 INFO L290 TraceCheckUtils]: 81: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 04:21:58,216 INFO L290 TraceCheckUtils]: 82: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 04:21:58,217 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {16389#true} {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} #86#return; {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} is VALID [2022-04-28 04:21:58,217 INFO L272 TraceCheckUtils]: 84: Hoare triple {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16389#true} is VALID [2022-04-28 04:21:58,217 INFO L290 TraceCheckUtils]: 85: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 04:21:58,217 INFO L290 TraceCheckUtils]: 86: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 04:21:58,217 INFO L290 TraceCheckUtils]: 87: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 04:21:58,218 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {16389#true} {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} #88#return; {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} is VALID [2022-04-28 04:21:58,218 INFO L272 TraceCheckUtils]: 89: Hoare triple {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~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)); {16389#true} is VALID [2022-04-28 04:21:58,218 INFO L290 TraceCheckUtils]: 90: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 04:21:58,218 INFO L290 TraceCheckUtils]: 91: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 04:21:58,218 INFO L290 TraceCheckUtils]: 92: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 04:21:58,218 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {16389#true} {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} #90#return; {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} is VALID [2022-04-28 04:21:58,219 INFO L290 TraceCheckUtils]: 94: Hoare triple {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} is VALID [2022-04-28 04:21:58,221 INFO L290 TraceCheckUtils]: 95: Hoare triple {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~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; {16687#(and (= (+ main_~x~0 (* main_~y~0 2) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (* (- 1) main_~s~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 2) 0) (= main_~q~0 1))} is VALID [2022-04-28 04:21:58,221 INFO L290 TraceCheckUtils]: 96: Hoare triple {16687#(and (= (+ main_~x~0 (* main_~y~0 2) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (* (- 1) main_~s~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 2) 0) (= main_~q~0 1))} assume !false; {16687#(and (= (+ main_~x~0 (* main_~y~0 2) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (* (- 1) main_~s~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 2) 0) (= main_~q~0 1))} is VALID [2022-04-28 04:21:58,222 INFO L290 TraceCheckUtils]: 97: Hoare triple {16687#(and (= (+ main_~x~0 (* main_~y~0 2) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (* (- 1) main_~s~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 2) 0) (= main_~q~0 1))} assume !(0 != ~b~0); {16694#(and (= (+ main_~x~0 (* main_~y~0 2) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) main_~x~0 (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (<= (+ main_~s~0 2) 0) (= main_~q~0 1))} is VALID [2022-04-28 04:21:58,222 INFO L272 TraceCheckUtils]: 98: Hoare triple {16694#(and (= (+ main_~x~0 (* main_~y~0 2) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) main_~x~0 (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (<= (+ main_~s~0 2) 0) (= main_~q~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {16698#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:21:58,223 INFO L290 TraceCheckUtils]: 99: Hoare triple {16698#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16702#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:21:58,223 INFO L290 TraceCheckUtils]: 100: Hoare triple {16702#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16390#false} is VALID [2022-04-28 04:21:58,223 INFO L290 TraceCheckUtils]: 101: Hoare triple {16390#false} assume !false; {16390#false} is VALID [2022-04-28 04:21:58,223 INFO L134 CoverageAnalysis]: Checked inductivity of 332 backedges. 55 proven. 49 refuted. 0 times theorem prover too weak. 228 trivial. 0 not checked. [2022-04-28 04:21:58,223 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:23:15,358 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:23:21,379 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:23:23,593 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:23:23,593 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2007438576] [2022-04-28 04:23:23,593 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:23:23,593 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1915920786] [2022-04-28 04:23:23,593 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1915920786] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:23:23,593 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 04:23:23,594 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14] total 14 [2022-04-28 04:23:23,594 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:23:23,594 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1687931026] [2022-04-28 04:23:23,594 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1687931026] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:23:23,594 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:23:23,594 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 04:23:23,594 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1121633462] [2022-04-28 04:23:23,594 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:23:23,595 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 7 states have call successors, (17) Word has length 102 [2022-04-28 04:23:23,595 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:23:23,595 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 04:23:23,656 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:23:23,656 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 04:23:23,657 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:23:23,657 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 04:23:23,657 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=308, Unknown=1, NotChecked=0, Total=380 [2022-04-28 04:23:23,657 INFO L87 Difference]: Start difference. First operand 182 states and 226 transitions. Second operand has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 04:23:26,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:23:26,237 INFO L93 Difference]: Finished difference Result 211 states and 269 transitions. [2022-04-28 04:23:26,237 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 04:23:26,237 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 7 states have call successors, (17) Word has length 102 [2022-04-28 04:23:26,238 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:23:26,238 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 04:23:26,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 112 transitions. [2022-04-28 04:23:26,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 04:23:26,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 112 transitions. [2022-04-28 04:23:26,241 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 112 transitions. [2022-04-28 04:23:26,398 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:23:26,402 INFO L225 Difference]: With dead ends: 211 [2022-04-28 04:23:26,402 INFO L226 Difference]: Without dead ends: 208 [2022-04-28 04:23:26,403 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 113 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 108 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=99, Invalid=452, Unknown=1, NotChecked=0, Total=552 [2022-04-28 04:23:26,403 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 30 mSDsluCounter, 211 mSDsCounter, 0 mSdLazyCounter, 632 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 257 SdHoareTripleChecker+Invalid, 670 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 632 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 04:23:26,403 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [38 Valid, 257 Invalid, 670 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 632 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 04:23:26,404 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 208 states. [2022-04-28 04:23:26,757 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 208 to 207. [2022-04-28 04:23:26,757 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:23:26,757 INFO L82 GeneralOperation]: Start isEquivalent. First operand 208 states. Second operand has 207 states, 115 states have (on average 1.1043478260869566) internal successors, (127), 122 states have internal predecessors, (127), 70 states have call successors, (70), 22 states have call predecessors, (70), 21 states have return successors, (67), 62 states have call predecessors, (67), 67 states have call successors, (67) [2022-04-28 04:23:26,758 INFO L74 IsIncluded]: Start isIncluded. First operand 208 states. Second operand has 207 states, 115 states have (on average 1.1043478260869566) internal successors, (127), 122 states have internal predecessors, (127), 70 states have call successors, (70), 22 states have call predecessors, (70), 21 states have return successors, (67), 62 states have call predecessors, (67), 67 states have call successors, (67) [2022-04-28 04:23:26,758 INFO L87 Difference]: Start difference. First operand 208 states. Second operand has 207 states, 115 states have (on average 1.1043478260869566) internal successors, (127), 122 states have internal predecessors, (127), 70 states have call successors, (70), 22 states have call predecessors, (70), 21 states have return successors, (67), 62 states have call predecessors, (67), 67 states have call successors, (67) [2022-04-28 04:23:26,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:23:26,763 INFO L93 Difference]: Finished difference Result 208 states and 265 transitions. [2022-04-28 04:23:26,763 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 265 transitions. [2022-04-28 04:23:26,764 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:23:26,764 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:23:26,764 INFO L74 IsIncluded]: Start isIncluded. First operand has 207 states, 115 states have (on average 1.1043478260869566) internal successors, (127), 122 states have internal predecessors, (127), 70 states have call successors, (70), 22 states have call predecessors, (70), 21 states have return successors, (67), 62 states have call predecessors, (67), 67 states have call successors, (67) Second operand 208 states. [2022-04-28 04:23:26,765 INFO L87 Difference]: Start difference. First operand has 207 states, 115 states have (on average 1.1043478260869566) internal successors, (127), 122 states have internal predecessors, (127), 70 states have call successors, (70), 22 states have call predecessors, (70), 21 states have return successors, (67), 62 states have call predecessors, (67), 67 states have call successors, (67) Second operand 208 states. [2022-04-28 04:23:26,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:23:26,770 INFO L93 Difference]: Finished difference Result 208 states and 265 transitions. [2022-04-28 04:23:26,770 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 265 transitions. [2022-04-28 04:23:26,771 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:23:26,771 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:23:26,771 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:23:26,771 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:23:26,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 207 states, 115 states have (on average 1.1043478260869566) internal successors, (127), 122 states have internal predecessors, (127), 70 states have call successors, (70), 22 states have call predecessors, (70), 21 states have return successors, (67), 62 states have call predecessors, (67), 67 states have call successors, (67) [2022-04-28 04:23:26,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 207 states to 207 states and 264 transitions. [2022-04-28 04:23:26,784 INFO L78 Accepts]: Start accepts. Automaton has 207 states and 264 transitions. Word has length 102 [2022-04-28 04:23:26,784 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:23:26,784 INFO L495 AbstractCegarLoop]: Abstraction has 207 states and 264 transitions. [2022-04-28 04:23:26,785 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 04:23:26,785 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 207 states and 264 transitions. [2022-04-28 04:23:27,228 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 264 edges. 264 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:23:27,228 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 264 transitions. [2022-04-28 04:23:27,229 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-28 04:23:27,229 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:23:27,229 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 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] [2022-04-28 04:23:27,245 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 04:23:27,429 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-28 04:23:27,430 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:23:27,430 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:23:27,430 INFO L85 PathProgramCache]: Analyzing trace with hash 351496396, now seen corresponding path program 5 times [2022-04-28 04:23:27,430 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:23:27,430 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1888031574] [2022-04-28 04:23:27,431 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:23:27,431 INFO L85 PathProgramCache]: Analyzing trace with hash 351496396, now seen corresponding path program 6 times [2022-04-28 04:23:27,431 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:23:27,431 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [608347196] [2022-04-28 04:23:27,431 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:23:27,431 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:23:27,441 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:23:27,441 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1237307913] [2022-04-28 04:23:27,442 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:23:27,442 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:23:27,442 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:23:27,443 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:23:27,447 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 04:23:27,500 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 04:23:27,500 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:23:27,501 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 04:23:27,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:23:27,517 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:23:27,779 INFO L272 TraceCheckUtils]: 0: Hoare triple {18067#true} call ULTIMATE.init(); {18067#true} is VALID [2022-04-28 04:23:27,779 INFO L290 TraceCheckUtils]: 1: Hoare triple {18067#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); {18067#true} is VALID [2022-04-28 04:23:27,779 INFO L290 TraceCheckUtils]: 2: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:27,779 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18067#true} {18067#true} #96#return; {18067#true} is VALID [2022-04-28 04:23:27,779 INFO L272 TraceCheckUtils]: 4: Hoare triple {18067#true} call #t~ret6 := main(); {18067#true} is VALID [2022-04-28 04:23:27,779 INFO L290 TraceCheckUtils]: 5: Hoare triple {18067#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18067#true} is VALID [2022-04-28 04:23:27,779 INFO L272 TraceCheckUtils]: 6: Hoare triple {18067#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:27,779 INFO L290 TraceCheckUtils]: 7: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:27,779 INFO L290 TraceCheckUtils]: 8: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:27,779 INFO L290 TraceCheckUtils]: 9: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:27,779 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18067#true} {18067#true} #76#return; {18067#true} is VALID [2022-04-28 04:23:27,779 INFO L272 TraceCheckUtils]: 11: Hoare triple {18067#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:27,779 INFO L290 TraceCheckUtils]: 12: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:27,779 INFO L290 TraceCheckUtils]: 13: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:27,780 INFO L290 TraceCheckUtils]: 14: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:27,780 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18067#true} {18067#true} #78#return; {18067#true} is VALID [2022-04-28 04:23:27,780 INFO L290 TraceCheckUtils]: 16: Hoare triple {18067#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; {18067#true} is VALID [2022-04-28 04:23:27,780 INFO L272 TraceCheckUtils]: 17: Hoare triple {18067#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:27,780 INFO L290 TraceCheckUtils]: 18: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:27,780 INFO L290 TraceCheckUtils]: 19: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:27,780 INFO L290 TraceCheckUtils]: 20: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:27,780 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18067#true} {18067#true} #80#return; {18067#true} is VALID [2022-04-28 04:23:27,780 INFO L272 TraceCheckUtils]: 22: Hoare triple {18067#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:27,780 INFO L290 TraceCheckUtils]: 23: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:27,780 INFO L290 TraceCheckUtils]: 24: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:27,780 INFO L290 TraceCheckUtils]: 25: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:27,780 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18067#true} {18067#true} #82#return; {18067#true} is VALID [2022-04-28 04:23:27,781 INFO L290 TraceCheckUtils]: 27: Hoare triple {18067#true} assume !false; {18067#true} is VALID [2022-04-28 04:23:27,781 INFO L290 TraceCheckUtils]: 28: Hoare triple {18067#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18067#true} is VALID [2022-04-28 04:23:27,781 INFO L290 TraceCheckUtils]: 29: Hoare triple {18067#true} assume !false; {18067#true} is VALID [2022-04-28 04:23:27,781 INFO L272 TraceCheckUtils]: 30: Hoare triple {18067#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:27,781 INFO L290 TraceCheckUtils]: 31: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:27,781 INFO L290 TraceCheckUtils]: 32: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:27,781 INFO L290 TraceCheckUtils]: 33: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:27,781 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {18067#true} {18067#true} #84#return; {18067#true} is VALID [2022-04-28 04:23:27,781 INFO L272 TraceCheckUtils]: 35: Hoare triple {18067#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:27,781 INFO L290 TraceCheckUtils]: 36: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:27,781 INFO L290 TraceCheckUtils]: 37: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:27,781 INFO L290 TraceCheckUtils]: 38: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:27,782 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {18067#true} {18067#true} #86#return; {18067#true} is VALID [2022-04-28 04:23:27,782 INFO L272 TraceCheckUtils]: 40: Hoare triple {18067#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:27,782 INFO L290 TraceCheckUtils]: 41: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:27,782 INFO L290 TraceCheckUtils]: 42: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:27,782 INFO L290 TraceCheckUtils]: 43: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:27,782 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {18067#true} {18067#true} #88#return; {18067#true} is VALID [2022-04-28 04:23:27,782 INFO L272 TraceCheckUtils]: 45: Hoare triple {18067#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)); {18067#true} is VALID [2022-04-28 04:23:27,782 INFO L290 TraceCheckUtils]: 46: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:27,782 INFO L290 TraceCheckUtils]: 47: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:27,782 INFO L290 TraceCheckUtils]: 48: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:27,782 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {18067#true} {18067#true} #90#return; {18067#true} is VALID [2022-04-28 04:23:27,785 INFO L290 TraceCheckUtils]: 50: Hoare triple {18067#true} assume !(~c~0 >= ~b~0); {18222#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 04:23:27,786 INFO L290 TraceCheckUtils]: 51: Hoare triple {18222#(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; {18226#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 04:23:27,786 INFO L290 TraceCheckUtils]: 52: Hoare triple {18226#(< main_~b~0 main_~a~0)} assume !false; {18226#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 04:23:27,786 INFO L290 TraceCheckUtils]: 53: Hoare triple {18226#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 04:23:27,786 INFO L290 TraceCheckUtils]: 54: Hoare triple {18233#(< main_~b~0 main_~c~0)} assume !false; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 04:23:27,787 INFO L272 TraceCheckUtils]: 55: Hoare triple {18233#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:27,787 INFO L290 TraceCheckUtils]: 56: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:27,787 INFO L290 TraceCheckUtils]: 57: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:27,787 INFO L290 TraceCheckUtils]: 58: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:27,787 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18067#true} {18233#(< main_~b~0 main_~c~0)} #84#return; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 04:23:27,787 INFO L272 TraceCheckUtils]: 60: Hoare triple {18233#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:27,787 INFO L290 TraceCheckUtils]: 61: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:27,787 INFO L290 TraceCheckUtils]: 62: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:27,787 INFO L290 TraceCheckUtils]: 63: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:27,788 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18067#true} {18233#(< main_~b~0 main_~c~0)} #86#return; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 04:23:27,788 INFO L272 TraceCheckUtils]: 65: Hoare triple {18233#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:27,788 INFO L290 TraceCheckUtils]: 66: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:27,788 INFO L290 TraceCheckUtils]: 67: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:27,788 INFO L290 TraceCheckUtils]: 68: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:27,789 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {18067#true} {18233#(< main_~b~0 main_~c~0)} #88#return; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 04:23:27,789 INFO L272 TraceCheckUtils]: 70: Hoare triple {18233#(< 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)); {18067#true} is VALID [2022-04-28 04:23:27,789 INFO L290 TraceCheckUtils]: 71: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:27,789 INFO L290 TraceCheckUtils]: 72: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:27,789 INFO L290 TraceCheckUtils]: 73: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:27,789 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {18067#true} {18233#(< main_~b~0 main_~c~0)} #90#return; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 04:23:27,790 INFO L290 TraceCheckUtils]: 75: Hoare triple {18233#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18300#(< 0 main_~c~0)} is VALID [2022-04-28 04:23:27,791 INFO L290 TraceCheckUtils]: 76: Hoare triple {18300#(< 0 main_~c~0)} assume !false; {18300#(< 0 main_~c~0)} is VALID [2022-04-28 04:23:27,791 INFO L272 TraceCheckUtils]: 77: Hoare triple {18300#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:27,791 INFO L290 TraceCheckUtils]: 78: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:27,791 INFO L290 TraceCheckUtils]: 79: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:27,791 INFO L290 TraceCheckUtils]: 80: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:27,791 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {18067#true} {18300#(< 0 main_~c~0)} #84#return; {18300#(< 0 main_~c~0)} is VALID [2022-04-28 04:23:27,791 INFO L272 TraceCheckUtils]: 82: Hoare triple {18300#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:27,791 INFO L290 TraceCheckUtils]: 83: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:27,791 INFO L290 TraceCheckUtils]: 84: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:27,792 INFO L290 TraceCheckUtils]: 85: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:27,792 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {18067#true} {18300#(< 0 main_~c~0)} #86#return; {18300#(< 0 main_~c~0)} is VALID [2022-04-28 04:23:27,792 INFO L272 TraceCheckUtils]: 87: Hoare triple {18300#(< 0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:27,792 INFO L290 TraceCheckUtils]: 88: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:27,792 INFO L290 TraceCheckUtils]: 89: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:27,792 INFO L290 TraceCheckUtils]: 90: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:27,793 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {18067#true} {18300#(< 0 main_~c~0)} #88#return; {18300#(< 0 main_~c~0)} is VALID [2022-04-28 04:23:27,793 INFO L272 TraceCheckUtils]: 92: Hoare triple {18300#(< 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)); {18067#true} is VALID [2022-04-28 04:23:27,793 INFO L290 TraceCheckUtils]: 93: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:27,793 INFO L290 TraceCheckUtils]: 94: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:27,793 INFO L290 TraceCheckUtils]: 95: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:27,794 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {18067#true} {18300#(< 0 main_~c~0)} #90#return; {18300#(< 0 main_~c~0)} is VALID [2022-04-28 04:23:27,794 INFO L290 TraceCheckUtils]: 97: Hoare triple {18300#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {18300#(< 0 main_~c~0)} is VALID [2022-04-28 04:23:27,794 INFO L290 TraceCheckUtils]: 98: Hoare triple {18300#(< 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; {18370#(< 0 main_~b~0)} is VALID [2022-04-28 04:23:27,794 INFO L290 TraceCheckUtils]: 99: Hoare triple {18370#(< 0 main_~b~0)} assume !false; {18370#(< 0 main_~b~0)} is VALID [2022-04-28 04:23:27,795 INFO L290 TraceCheckUtils]: 100: Hoare triple {18370#(< 0 main_~b~0)} assume !(0 != ~b~0); {18068#false} is VALID [2022-04-28 04:23:27,795 INFO L272 TraceCheckUtils]: 101: Hoare triple {18068#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {18068#false} is VALID [2022-04-28 04:23:27,795 INFO L290 TraceCheckUtils]: 102: Hoare triple {18068#false} ~cond := #in~cond; {18068#false} is VALID [2022-04-28 04:23:27,795 INFO L290 TraceCheckUtils]: 103: Hoare triple {18068#false} assume 0 == ~cond; {18068#false} is VALID [2022-04-28 04:23:27,795 INFO L290 TraceCheckUtils]: 104: Hoare triple {18068#false} assume !false; {18068#false} is VALID [2022-04-28 04:23:27,795 INFO L134 CoverageAnalysis]: Checked inductivity of 337 backedges. 40 proven. 9 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 04:23:27,795 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:23:28,100 INFO L290 TraceCheckUtils]: 104: Hoare triple {18068#false} assume !false; {18068#false} is VALID [2022-04-28 04:23:28,100 INFO L290 TraceCheckUtils]: 103: Hoare triple {18068#false} assume 0 == ~cond; {18068#false} is VALID [2022-04-28 04:23:28,100 INFO L290 TraceCheckUtils]: 102: Hoare triple {18068#false} ~cond := #in~cond; {18068#false} is VALID [2022-04-28 04:23:28,100 INFO L272 TraceCheckUtils]: 101: Hoare triple {18068#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {18068#false} is VALID [2022-04-28 04:23:28,101 INFO L290 TraceCheckUtils]: 100: Hoare triple {18370#(< 0 main_~b~0)} assume !(0 != ~b~0); {18068#false} is VALID [2022-04-28 04:23:28,101 INFO L290 TraceCheckUtils]: 99: Hoare triple {18370#(< 0 main_~b~0)} assume !false; {18370#(< 0 main_~b~0)} is VALID [2022-04-28 04:23:28,102 INFO L290 TraceCheckUtils]: 98: Hoare triple {18300#(< 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; {18370#(< 0 main_~b~0)} is VALID [2022-04-28 04:23:28,102 INFO L290 TraceCheckUtils]: 97: Hoare triple {18300#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {18300#(< 0 main_~c~0)} is VALID [2022-04-28 04:23:28,103 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {18067#true} {18300#(< 0 main_~c~0)} #90#return; {18300#(< 0 main_~c~0)} is VALID [2022-04-28 04:23:28,103 INFO L290 TraceCheckUtils]: 95: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:28,103 INFO L290 TraceCheckUtils]: 94: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:28,103 INFO L290 TraceCheckUtils]: 93: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:28,103 INFO L272 TraceCheckUtils]: 92: Hoare triple {18300#(< 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)); {18067#true} is VALID [2022-04-28 04:23:28,104 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {18067#true} {18300#(< 0 main_~c~0)} #88#return; {18300#(< 0 main_~c~0)} is VALID [2022-04-28 04:23:28,104 INFO L290 TraceCheckUtils]: 90: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:28,104 INFO L290 TraceCheckUtils]: 89: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:28,104 INFO L290 TraceCheckUtils]: 88: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:28,104 INFO L272 TraceCheckUtils]: 87: Hoare triple {18300#(< 0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:28,105 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {18067#true} {18300#(< 0 main_~c~0)} #86#return; {18300#(< 0 main_~c~0)} is VALID [2022-04-28 04:23:28,105 INFO L290 TraceCheckUtils]: 85: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:28,105 INFO L290 TraceCheckUtils]: 84: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:28,105 INFO L290 TraceCheckUtils]: 83: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:28,105 INFO L272 TraceCheckUtils]: 82: Hoare triple {18300#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:28,105 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {18067#true} {18300#(< 0 main_~c~0)} #84#return; {18300#(< 0 main_~c~0)} is VALID [2022-04-28 04:23:28,106 INFO L290 TraceCheckUtils]: 80: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:28,106 INFO L290 TraceCheckUtils]: 79: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:28,106 INFO L290 TraceCheckUtils]: 78: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:28,106 INFO L272 TraceCheckUtils]: 77: Hoare triple {18300#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:28,106 INFO L290 TraceCheckUtils]: 76: Hoare triple {18300#(< 0 main_~c~0)} assume !false; {18300#(< 0 main_~c~0)} is VALID [2022-04-28 04:23:28,107 INFO L290 TraceCheckUtils]: 75: Hoare triple {18233#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18300#(< 0 main_~c~0)} is VALID [2022-04-28 04:23:28,108 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {18067#true} {18233#(< main_~b~0 main_~c~0)} #90#return; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 04:23:28,108 INFO L290 TraceCheckUtils]: 73: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:28,108 INFO L290 TraceCheckUtils]: 72: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:28,108 INFO L290 TraceCheckUtils]: 71: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:28,108 INFO L272 TraceCheckUtils]: 70: Hoare triple {18233#(< 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)); {18067#true} is VALID [2022-04-28 04:23:28,109 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {18067#true} {18233#(< main_~b~0 main_~c~0)} #88#return; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 04:23:28,109 INFO L290 TraceCheckUtils]: 68: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:28,109 INFO L290 TraceCheckUtils]: 67: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:28,109 INFO L290 TraceCheckUtils]: 66: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:28,109 INFO L272 TraceCheckUtils]: 65: Hoare triple {18233#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:28,110 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18067#true} {18233#(< main_~b~0 main_~c~0)} #86#return; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 04:23:28,110 INFO L290 TraceCheckUtils]: 63: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:28,110 INFO L290 TraceCheckUtils]: 62: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:28,110 INFO L290 TraceCheckUtils]: 61: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:28,110 INFO L272 TraceCheckUtils]: 60: Hoare triple {18233#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:28,111 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18067#true} {18233#(< main_~b~0 main_~c~0)} #84#return; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 04:23:28,111 INFO L290 TraceCheckUtils]: 58: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:28,111 INFO L290 TraceCheckUtils]: 57: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:28,111 INFO L290 TraceCheckUtils]: 56: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:28,111 INFO L272 TraceCheckUtils]: 55: Hoare triple {18233#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:28,111 INFO L290 TraceCheckUtils]: 54: Hoare triple {18233#(< main_~b~0 main_~c~0)} assume !false; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 04:23:28,112 INFO L290 TraceCheckUtils]: 53: Hoare triple {18226#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 04:23:28,112 INFO L290 TraceCheckUtils]: 52: Hoare triple {18226#(< main_~b~0 main_~a~0)} assume !false; {18226#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 04:23:28,113 INFO L290 TraceCheckUtils]: 51: Hoare triple {18222#(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; {18226#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 04:23:28,113 INFO L290 TraceCheckUtils]: 50: Hoare triple {18067#true} assume !(~c~0 >= ~b~0); {18222#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 04:23:28,113 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {18067#true} {18067#true} #90#return; {18067#true} is VALID [2022-04-28 04:23:28,113 INFO L290 TraceCheckUtils]: 48: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:28,113 INFO L290 TraceCheckUtils]: 47: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:28,113 INFO L290 TraceCheckUtils]: 46: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:28,113 INFO L272 TraceCheckUtils]: 45: Hoare triple {18067#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)); {18067#true} is VALID [2022-04-28 04:23:28,113 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {18067#true} {18067#true} #88#return; {18067#true} is VALID [2022-04-28 04:23:28,114 INFO L290 TraceCheckUtils]: 43: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:28,114 INFO L290 TraceCheckUtils]: 42: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:28,114 INFO L290 TraceCheckUtils]: 41: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:28,114 INFO L272 TraceCheckUtils]: 40: Hoare triple {18067#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:28,114 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {18067#true} {18067#true} #86#return; {18067#true} is VALID [2022-04-28 04:23:28,114 INFO L290 TraceCheckUtils]: 38: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:28,114 INFO L290 TraceCheckUtils]: 37: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:28,114 INFO L290 TraceCheckUtils]: 36: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:28,114 INFO L272 TraceCheckUtils]: 35: Hoare triple {18067#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:28,114 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {18067#true} {18067#true} #84#return; {18067#true} is VALID [2022-04-28 04:23:28,114 INFO L290 TraceCheckUtils]: 33: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:28,114 INFO L290 TraceCheckUtils]: 32: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:28,114 INFO L290 TraceCheckUtils]: 31: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:28,114 INFO L272 TraceCheckUtils]: 30: Hoare triple {18067#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:28,115 INFO L290 TraceCheckUtils]: 29: Hoare triple {18067#true} assume !false; {18067#true} is VALID [2022-04-28 04:23:28,115 INFO L290 TraceCheckUtils]: 28: Hoare triple {18067#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18067#true} is VALID [2022-04-28 04:23:28,115 INFO L290 TraceCheckUtils]: 27: Hoare triple {18067#true} assume !false; {18067#true} is VALID [2022-04-28 04:23:28,115 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18067#true} {18067#true} #82#return; {18067#true} is VALID [2022-04-28 04:23:28,115 INFO L290 TraceCheckUtils]: 25: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:28,115 INFO L290 TraceCheckUtils]: 24: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:28,115 INFO L290 TraceCheckUtils]: 23: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:28,115 INFO L272 TraceCheckUtils]: 22: Hoare triple {18067#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:28,115 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18067#true} {18067#true} #80#return; {18067#true} is VALID [2022-04-28 04:23:28,115 INFO L290 TraceCheckUtils]: 20: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:28,115 INFO L290 TraceCheckUtils]: 19: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:28,115 INFO L290 TraceCheckUtils]: 18: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:28,115 INFO L272 TraceCheckUtils]: 17: Hoare triple {18067#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:28,116 INFO L290 TraceCheckUtils]: 16: Hoare triple {18067#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; {18067#true} is VALID [2022-04-28 04:23:28,116 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18067#true} {18067#true} #78#return; {18067#true} is VALID [2022-04-28 04:23:28,116 INFO L290 TraceCheckUtils]: 14: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:28,116 INFO L290 TraceCheckUtils]: 13: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:28,116 INFO L290 TraceCheckUtils]: 12: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:28,116 INFO L272 TraceCheckUtils]: 11: Hoare triple {18067#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:28,116 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18067#true} {18067#true} #76#return; {18067#true} is VALID [2022-04-28 04:23:28,116 INFO L290 TraceCheckUtils]: 9: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:28,116 INFO L290 TraceCheckUtils]: 8: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 04:23:28,116 INFO L290 TraceCheckUtils]: 7: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 04:23:28,116 INFO L272 TraceCheckUtils]: 6: Hoare triple {18067#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18067#true} is VALID [2022-04-28 04:23:28,116 INFO L290 TraceCheckUtils]: 5: Hoare triple {18067#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18067#true} is VALID [2022-04-28 04:23:28,116 INFO L272 TraceCheckUtils]: 4: Hoare triple {18067#true} call #t~ret6 := main(); {18067#true} is VALID [2022-04-28 04:23:28,116 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18067#true} {18067#true} #96#return; {18067#true} is VALID [2022-04-28 04:23:28,117 INFO L290 TraceCheckUtils]: 2: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 04:23:28,117 INFO L290 TraceCheckUtils]: 1: Hoare triple {18067#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); {18067#true} is VALID [2022-04-28 04:23:28,117 INFO L272 TraceCheckUtils]: 0: Hoare triple {18067#true} call ULTIMATE.init(); {18067#true} is VALID [2022-04-28 04:23:28,117 INFO L134 CoverageAnalysis]: Checked inductivity of 337 backedges. 40 proven. 9 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 04:23:28,117 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:23:28,117 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [608347196] [2022-04-28 04:23:28,117 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:23:28,117 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1237307913] [2022-04-28 04:23:28,118 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1237307913] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:23:28,118 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:23:28,118 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 7 [2022-04-28 04:23:28,118 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:23:28,118 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1888031574] [2022-04-28 04:23:28,118 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1888031574] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:23:28,118 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:23:28,118 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 04:23:28,118 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [170036734] [2022-04-28 04:23:28,118 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:23:28,119 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 7 states have internal predecessors, (27), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) Word has length 105 [2022-04-28 04:23:28,119 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:23:28,120 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 7 states have internal predecessors, (27), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-28 04:23:28,182 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:23:28,182 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 04:23:28,183 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:23:28,183 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 04:23:28,183 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-04-28 04:23:28,183 INFO L87 Difference]: Start difference. First operand 207 states and 264 transitions. Second operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 7 states have internal predecessors, (27), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-28 04:23:29,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:23:29,754 INFO L93 Difference]: Finished difference Result 257 states and 349 transitions. [2022-04-28 04:23:29,754 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 04:23:29,754 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 7 states have internal predecessors, (27), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) Word has length 105 [2022-04-28 04:23:29,754 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:23:29,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 7 states have internal predecessors, (27), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-28 04:23:29,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 121 transitions. [2022-04-28 04:23:29,756 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 7 states have internal predecessors, (27), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-28 04:23:29,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 121 transitions. [2022-04-28 04:23:29,758 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 121 transitions. [2022-04-28 04:23:29,889 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:23:29,896 INFO L225 Difference]: With dead ends: 257 [2022-04-28 04:23:29,896 INFO L226 Difference]: Without dead ends: 249 [2022-04-28 04:23:29,896 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 220 GetRequests, 205 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-28 04:23:29,897 INFO L413 NwaCegarLoop]: 80 mSDtfsCounter, 14 mSDsluCounter, 170 mSDsCounter, 0 mSdLazyCounter, 205 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 250 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.3s IncrementalHoareTripleChecker+Time [2022-04-28 04:23:29,897 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 250 Invalid, 245 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 205 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 04:23:29,898 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 249 states. [2022-04-28 04:23:30,389 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 249 to 230. [2022-04-28 04:23:30,389 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:23:30,390 INFO L82 GeneralOperation]: Start isEquivalent. First operand 249 states. Second operand has 230 states, 123 states have (on average 1.1382113821138211) internal successors, (140), 125 states have internal predecessors, (140), 85 states have call successors, (85), 22 states have call predecessors, (85), 21 states have return successors, (82), 82 states have call predecessors, (82), 82 states have call successors, (82) [2022-04-28 04:23:30,391 INFO L74 IsIncluded]: Start isIncluded. First operand 249 states. Second operand has 230 states, 123 states have (on average 1.1382113821138211) internal successors, (140), 125 states have internal predecessors, (140), 85 states have call successors, (85), 22 states have call predecessors, (85), 21 states have return successors, (82), 82 states have call predecessors, (82), 82 states have call successors, (82) [2022-04-28 04:23:30,391 INFO L87 Difference]: Start difference. First operand 249 states. Second operand has 230 states, 123 states have (on average 1.1382113821138211) internal successors, (140), 125 states have internal predecessors, (140), 85 states have call successors, (85), 22 states have call predecessors, (85), 21 states have return successors, (82), 82 states have call predecessors, (82), 82 states have call successors, (82) [2022-04-28 04:23:30,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:23:30,398 INFO L93 Difference]: Finished difference Result 249 states and 340 transitions. [2022-04-28 04:23:30,398 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 340 transitions. [2022-04-28 04:23:30,399 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:23:30,399 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:23:30,400 INFO L74 IsIncluded]: Start isIncluded. First operand has 230 states, 123 states have (on average 1.1382113821138211) internal successors, (140), 125 states have internal predecessors, (140), 85 states have call successors, (85), 22 states have call predecessors, (85), 21 states have return successors, (82), 82 states have call predecessors, (82), 82 states have call successors, (82) Second operand 249 states. [2022-04-28 04:23:30,400 INFO L87 Difference]: Start difference. First operand has 230 states, 123 states have (on average 1.1382113821138211) internal successors, (140), 125 states have internal predecessors, (140), 85 states have call successors, (85), 22 states have call predecessors, (85), 21 states have return successors, (82), 82 states have call predecessors, (82), 82 states have call successors, (82) Second operand 249 states. [2022-04-28 04:23:30,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:23:30,407 INFO L93 Difference]: Finished difference Result 249 states and 340 transitions. [2022-04-28 04:23:30,408 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 340 transitions. [2022-04-28 04:23:30,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:23:30,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:23:30,409 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:23:30,409 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:23:30,409 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 230 states, 123 states have (on average 1.1382113821138211) internal successors, (140), 125 states have internal predecessors, (140), 85 states have call successors, (85), 22 states have call predecessors, (85), 21 states have return successors, (82), 82 states have call predecessors, (82), 82 states have call successors, (82) [2022-04-28 04:23:30,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 230 states to 230 states and 307 transitions. [2022-04-28 04:23:30,416 INFO L78 Accepts]: Start accepts. Automaton has 230 states and 307 transitions. Word has length 105 [2022-04-28 04:23:30,416 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:23:30,416 INFO L495 AbstractCegarLoop]: Abstraction has 230 states and 307 transitions. [2022-04-28 04:23:30,416 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 7 states have internal predecessors, (27), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-28 04:23:30,416 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 230 states and 307 transitions. [2022-04-28 04:23:31,024 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 307 edges. 307 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:23:31,024 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 307 transitions. [2022-04-28 04:23:31,025 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-28 04:23:31,025 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:23:31,025 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 4, 4, 4, 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] [2022-04-28 04:23:31,048 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 04:23:31,248 WARN L477 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-28 04:23:31,248 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:23:31,249 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:23:31,249 INFO L85 PathProgramCache]: Analyzing trace with hash -2080181613, now seen corresponding path program 3 times [2022-04-28 04:23:31,249 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:23:31,249 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [708683091] [2022-04-28 04:23:31,249 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:23:31,250 INFO L85 PathProgramCache]: Analyzing trace with hash -2080181613, now seen corresponding path program 4 times [2022-04-28 04:23:31,250 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:23:31,250 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1732593914] [2022-04-28 04:23:31,250 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:23:31,250 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:23:31,262 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:23:31,263 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [212479672] [2022-04-28 04:23:31,263 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:23:31,263 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:23:31,263 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:23:31,271 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:23:31,277 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 04:23:31,333 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:23:31,333 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:23:31,334 INFO L263 TraceCheckSpWp]: Trace formula consists of 247 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 04:23:31,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:23:31,356 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:23:33,868 INFO L272 TraceCheckUtils]: 0: Hoare triple {20194#true} call ULTIMATE.init(); {20194#true} is VALID [2022-04-28 04:23:33,868 INFO L290 TraceCheckUtils]: 1: Hoare triple {20194#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); {20194#true} is VALID [2022-04-28 04:23:33,868 INFO L290 TraceCheckUtils]: 2: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:23:33,868 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20194#true} {20194#true} #96#return; {20194#true} is VALID [2022-04-28 04:23:33,868 INFO L272 TraceCheckUtils]: 4: Hoare triple {20194#true} call #t~ret6 := main(); {20194#true} is VALID [2022-04-28 04:23:33,868 INFO L290 TraceCheckUtils]: 5: Hoare triple {20194#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20194#true} is VALID [2022-04-28 04:23:33,868 INFO L272 TraceCheckUtils]: 6: Hoare triple {20194#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:23:33,869 INFO L290 TraceCheckUtils]: 7: Hoare triple {20194#true} ~cond := #in~cond; {20220#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:23:33,869 INFO L290 TraceCheckUtils]: 8: Hoare triple {20220#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {20224#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:23:33,869 INFO L290 TraceCheckUtils]: 9: Hoare triple {20224#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {20224#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:23:33,869 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20224#(not (= |assume_abort_if_not_#in~cond| 0))} {20194#true} #76#return; {20231#(<= 1 main_~x~0)} is VALID [2022-04-28 04:23:33,870 INFO L272 TraceCheckUtils]: 11: Hoare triple {20231#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:23:33,870 INFO L290 TraceCheckUtils]: 12: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:23:33,870 INFO L290 TraceCheckUtils]: 13: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:23:33,870 INFO L290 TraceCheckUtils]: 14: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:23:33,870 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20194#true} {20231#(<= 1 main_~x~0)} #78#return; {20231#(<= 1 main_~x~0)} is VALID [2022-04-28 04:23:33,870 INFO L290 TraceCheckUtils]: 16: Hoare triple {20231#(<= 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; {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-28 04:23:33,871 INFO L272 TraceCheckUtils]: 17: Hoare triple {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:23:33,871 INFO L290 TraceCheckUtils]: 18: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:23:33,871 INFO L290 TraceCheckUtils]: 19: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:23:33,871 INFO L290 TraceCheckUtils]: 20: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:23:33,871 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20194#true} {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} #80#return; {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-28 04:23:33,871 INFO L272 TraceCheckUtils]: 22: Hoare triple {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:23:33,871 INFO L290 TraceCheckUtils]: 23: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:23:33,871 INFO L290 TraceCheckUtils]: 24: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:23:33,871 INFO L290 TraceCheckUtils]: 25: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:23:33,872 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20194#true} {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} #82#return; {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-28 04:23:33,872 INFO L290 TraceCheckUtils]: 27: Hoare triple {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} assume !false; {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-28 04:23:33,873 INFO L290 TraceCheckUtils]: 28: Hoare triple {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-28 04:23:33,873 INFO L290 TraceCheckUtils]: 29: Hoare triple {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} assume !false; {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-28 04:23:33,873 INFO L272 TraceCheckUtils]: 30: Hoare triple {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:23:33,873 INFO L290 TraceCheckUtils]: 31: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:23:33,873 INFO L290 TraceCheckUtils]: 32: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:23:33,873 INFO L290 TraceCheckUtils]: 33: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:23:33,874 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {20194#true} {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} #84#return; {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-28 04:23:33,874 INFO L272 TraceCheckUtils]: 35: Hoare triple {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:23:33,874 INFO L290 TraceCheckUtils]: 36: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:23:33,874 INFO L290 TraceCheckUtils]: 37: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:23:33,874 INFO L290 TraceCheckUtils]: 38: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:23:33,874 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {20194#true} {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} #86#return; {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-28 04:23:33,874 INFO L272 TraceCheckUtils]: 40: Hoare triple {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:23:33,874 INFO L290 TraceCheckUtils]: 41: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:23:33,875 INFO L290 TraceCheckUtils]: 42: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:23:33,875 INFO L290 TraceCheckUtils]: 43: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:23:33,875 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {20194#true} {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} #88#return; {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-28 04:23:33,875 INFO L272 TraceCheckUtils]: 45: Hoare triple {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~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)); {20194#true} is VALID [2022-04-28 04:23:33,875 INFO L290 TraceCheckUtils]: 46: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:23:33,875 INFO L290 TraceCheckUtils]: 47: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:23:33,875 INFO L290 TraceCheckUtils]: 48: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:23:33,876 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {20194#true} {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} #90#return; {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-28 04:23:33,876 INFO L290 TraceCheckUtils]: 50: Hoare triple {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} assume !(~c~0 >= ~b~0); {20354#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 04:23:33,877 INFO L290 TraceCheckUtils]: 51: Hoare triple {20354#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (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; {20358#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~a~0))} is VALID [2022-04-28 04:23:33,877 INFO L290 TraceCheckUtils]: 52: Hoare triple {20358#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~a~0))} assume !false; {20358#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~a~0))} is VALID [2022-04-28 04:23:33,877 INFO L290 TraceCheckUtils]: 53: Hoare triple {20358#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~a~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} is VALID [2022-04-28 04:23:33,878 INFO L290 TraceCheckUtils]: 54: Hoare triple {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} assume !false; {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} is VALID [2022-04-28 04:23:33,878 INFO L272 TraceCheckUtils]: 55: Hoare triple {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:23:33,878 INFO L290 TraceCheckUtils]: 56: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:23:33,878 INFO L290 TraceCheckUtils]: 57: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:23:33,878 INFO L290 TraceCheckUtils]: 58: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:23:33,878 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {20194#true} {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} #84#return; {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} is VALID [2022-04-28 04:23:33,879 INFO L272 TraceCheckUtils]: 60: Hoare triple {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:23:33,879 INFO L290 TraceCheckUtils]: 61: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:23:33,879 INFO L290 TraceCheckUtils]: 62: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:23:33,879 INFO L290 TraceCheckUtils]: 63: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:23:33,879 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20194#true} {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} #86#return; {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} is VALID [2022-04-28 04:23:33,879 INFO L272 TraceCheckUtils]: 65: Hoare triple {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:23:33,879 INFO L290 TraceCheckUtils]: 66: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:23:33,879 INFO L290 TraceCheckUtils]: 67: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:23:33,879 INFO L290 TraceCheckUtils]: 68: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:23:33,880 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {20194#true} {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} #88#return; {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} is VALID [2022-04-28 04:23:33,880 INFO L272 TraceCheckUtils]: 70: Hoare triple {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~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)); {20194#true} is VALID [2022-04-28 04:23:33,880 INFO L290 TraceCheckUtils]: 71: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:23:33,880 INFO L290 TraceCheckUtils]: 72: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:23:33,880 INFO L290 TraceCheckUtils]: 73: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:23:33,881 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {20194#true} {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} #90#return; {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} is VALID [2022-04-28 04:23:33,882 INFO L290 TraceCheckUtils]: 75: Hoare triple {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} is VALID [2022-04-28 04:23:33,882 INFO L290 TraceCheckUtils]: 76: Hoare triple {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} assume !false; {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} is VALID [2022-04-28 04:23:33,882 INFO L272 TraceCheckUtils]: 77: Hoare triple {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:23:33,882 INFO L290 TraceCheckUtils]: 78: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:23:33,882 INFO L290 TraceCheckUtils]: 79: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:23:33,882 INFO L290 TraceCheckUtils]: 80: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:23:33,883 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {20194#true} {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} #84#return; {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} is VALID [2022-04-28 04:23:33,883 INFO L272 TraceCheckUtils]: 82: Hoare triple {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:23:33,883 INFO L290 TraceCheckUtils]: 83: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:23:33,883 INFO L290 TraceCheckUtils]: 84: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:23:33,883 INFO L290 TraceCheckUtils]: 85: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:23:33,884 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {20194#true} {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} #86#return; {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} is VALID [2022-04-28 04:23:33,884 INFO L272 TraceCheckUtils]: 87: Hoare triple {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:23:33,884 INFO L290 TraceCheckUtils]: 88: Hoare triple {20194#true} ~cond := #in~cond; {20472#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:23:33,884 INFO L290 TraceCheckUtils]: 89: Hoare triple {20472#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:23:33,885 INFO L290 TraceCheckUtils]: 90: Hoare triple {20476#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:23:33,885 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {20476#(not (= |__VERIFIER_assert_#in~cond| 0))} {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} #88#return; {20483#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} is VALID [2022-04-28 04:23:33,885 INFO L272 TraceCheckUtils]: 92: Hoare triple {20483#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~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)); {20194#true} is VALID [2022-04-28 04:23:33,885 INFO L290 TraceCheckUtils]: 93: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:23:33,885 INFO L290 TraceCheckUtils]: 94: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:23:33,886 INFO L290 TraceCheckUtils]: 95: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:23:33,888 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {20194#true} {20483#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} #90#return; {20483#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} is VALID [2022-04-28 04:23:33,889 INFO L290 TraceCheckUtils]: 97: Hoare triple {20483#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} assume !(~c~0 >= ~b~0); {20502#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (< main_~b~0 main_~y~0) (< main_~y~0 (* main_~b~0 2)))} is VALID [2022-04-28 04:23:33,890 INFO L290 TraceCheckUtils]: 98: Hoare triple {20502#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (< main_~b~0 main_~y~0) (< main_~y~0 (* main_~b~0 2)))} ~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; {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} is VALID [2022-04-28 04:23:33,891 INFO L290 TraceCheckUtils]: 99: Hoare triple {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} assume !false; {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} is VALID [2022-04-28 04:23:33,891 INFO L290 TraceCheckUtils]: 100: Hoare triple {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} is VALID [2022-04-28 04:23:33,892 INFO L290 TraceCheckUtils]: 101: Hoare triple {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} assume !false; {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} is VALID [2022-04-28 04:23:33,892 INFO L272 TraceCheckUtils]: 102: Hoare triple {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:23:33,892 INFO L290 TraceCheckUtils]: 103: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:23:33,892 INFO L290 TraceCheckUtils]: 104: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:23:33,892 INFO L290 TraceCheckUtils]: 105: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:23:33,893 INFO L284 TraceCheckUtils]: 106: Hoare quadruple {20194#true} {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} #84#return; {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} is VALID [2022-04-28 04:23:33,894 INFO L272 TraceCheckUtils]: 107: Hoare triple {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20534#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:23:33,894 INFO L290 TraceCheckUtils]: 108: Hoare triple {20534#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20538#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:23:33,895 INFO L290 TraceCheckUtils]: 109: Hoare triple {20538#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20195#false} is VALID [2022-04-28 04:23:33,895 INFO L290 TraceCheckUtils]: 110: Hoare triple {20195#false} assume !false; {20195#false} is VALID [2022-04-28 04:23:33,895 INFO L134 CoverageAnalysis]: Checked inductivity of 396 backedges. 55 proven. 50 refuted. 0 times theorem prover too weak. 291 trivial. 0 not checked. [2022-04-28 04:23:33,895 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:24:02,029 INFO L290 TraceCheckUtils]: 110: Hoare triple {20195#false} assume !false; {20195#false} is VALID [2022-04-28 04:24:02,029 INFO L290 TraceCheckUtils]: 109: Hoare triple {20538#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20195#false} is VALID [2022-04-28 04:24:02,030 INFO L290 TraceCheckUtils]: 108: Hoare triple {20534#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20538#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:24:02,030 INFO L272 TraceCheckUtils]: 107: Hoare triple {20554#(= 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)); {20534#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:24:02,031 INFO L284 TraceCheckUtils]: 106: Hoare quadruple {20194#true} {20554#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #84#return; {20554#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:24:02,031 INFO L290 TraceCheckUtils]: 105: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:24:02,031 INFO L290 TraceCheckUtils]: 104: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:24:02,031 INFO L290 TraceCheckUtils]: 103: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:24:02,031 INFO L272 TraceCheckUtils]: 102: Hoare triple {20554#(= 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)); {20194#true} is VALID [2022-04-28 04:24:02,031 INFO L290 TraceCheckUtils]: 101: Hoare triple {20554#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {20554#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:24:02,032 INFO L290 TraceCheckUtils]: 100: Hoare triple {20554#(= 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; {20554#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:24:02,032 INFO L290 TraceCheckUtils]: 99: Hoare triple {20554#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {20554#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:24:02,032 INFO L290 TraceCheckUtils]: 98: Hoare triple {20582#(= 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; {20554#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:24:02,033 INFO L290 TraceCheckUtils]: 97: Hoare triple {20586#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {20582#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:24:02,033 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {20194#true} {20586#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} #90#return; {20586#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 04:24:02,033 INFO L290 TraceCheckUtils]: 95: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:24:02,034 INFO L290 TraceCheckUtils]: 94: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:24:02,034 INFO L290 TraceCheckUtils]: 93: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:24:02,034 INFO L272 TraceCheckUtils]: 92: Hoare triple {20586#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~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)); {20194#true} is VALID [2022-04-28 04:24:02,034 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {20476#(not (= |__VERIFIER_assert_#in~cond| 0))} {20194#true} #88#return; {20586#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 04:24:02,034 INFO L290 TraceCheckUtils]: 90: Hoare triple {20476#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:24:02,035 INFO L290 TraceCheckUtils]: 89: Hoare triple {20614#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {20476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:24:02,035 INFO L290 TraceCheckUtils]: 88: Hoare triple {20194#true} ~cond := #in~cond; {20614#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:24:02,035 INFO L272 TraceCheckUtils]: 87: Hoare triple {20194#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:24:02,035 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {20194#true} {20194#true} #86#return; {20194#true} is VALID [2022-04-28 04:24:02,035 INFO L290 TraceCheckUtils]: 85: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:24:02,035 INFO L290 TraceCheckUtils]: 84: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:24:02,035 INFO L290 TraceCheckUtils]: 83: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:24:02,035 INFO L272 TraceCheckUtils]: 82: Hoare triple {20194#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:24:02,035 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {20194#true} {20194#true} #84#return; {20194#true} is VALID [2022-04-28 04:24:02,036 INFO L290 TraceCheckUtils]: 80: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:24:02,036 INFO L290 TraceCheckUtils]: 79: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:24:02,036 INFO L290 TraceCheckUtils]: 78: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:24:02,036 INFO L272 TraceCheckUtils]: 77: Hoare triple {20194#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:24:02,036 INFO L290 TraceCheckUtils]: 76: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-28 04:24:02,036 INFO L290 TraceCheckUtils]: 75: Hoare triple {20194#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {20194#true} is VALID [2022-04-28 04:24:02,036 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {20194#true} {20194#true} #90#return; {20194#true} is VALID [2022-04-28 04:24:02,036 INFO L290 TraceCheckUtils]: 73: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:24:02,036 INFO L290 TraceCheckUtils]: 72: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:24:02,036 INFO L290 TraceCheckUtils]: 71: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:24:02,036 INFO L272 TraceCheckUtils]: 70: Hoare triple {20194#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)); {20194#true} is VALID [2022-04-28 04:24:02,036 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {20194#true} {20194#true} #88#return; {20194#true} is VALID [2022-04-28 04:24:02,036 INFO L290 TraceCheckUtils]: 68: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:24:02,036 INFO L290 TraceCheckUtils]: 67: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:24:02,036 INFO L290 TraceCheckUtils]: 66: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:24:02,036 INFO L272 TraceCheckUtils]: 65: Hoare triple {20194#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:24:02,036 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20194#true} {20194#true} #86#return; {20194#true} is VALID [2022-04-28 04:24:02,036 INFO L290 TraceCheckUtils]: 63: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:24:02,036 INFO L290 TraceCheckUtils]: 62: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:24:02,037 INFO L290 TraceCheckUtils]: 61: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:24:02,037 INFO L272 TraceCheckUtils]: 60: Hoare triple {20194#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:24:02,037 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {20194#true} {20194#true} #84#return; {20194#true} is VALID [2022-04-28 04:24:02,037 INFO L290 TraceCheckUtils]: 58: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:24:02,037 INFO L290 TraceCheckUtils]: 57: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:24:02,037 INFO L290 TraceCheckUtils]: 56: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:24:02,037 INFO L272 TraceCheckUtils]: 55: Hoare triple {20194#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:24:02,037 INFO L290 TraceCheckUtils]: 54: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-28 04:24:02,037 INFO L290 TraceCheckUtils]: 53: Hoare triple {20194#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20194#true} is VALID [2022-04-28 04:24:02,037 INFO L290 TraceCheckUtils]: 52: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-28 04:24:02,037 INFO L290 TraceCheckUtils]: 51: Hoare triple {20194#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; {20194#true} is VALID [2022-04-28 04:24:02,037 INFO L290 TraceCheckUtils]: 50: Hoare triple {20194#true} assume !(~c~0 >= ~b~0); {20194#true} is VALID [2022-04-28 04:24:02,037 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {20194#true} {20194#true} #90#return; {20194#true} is VALID [2022-04-28 04:24:02,037 INFO L290 TraceCheckUtils]: 48: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:24:02,037 INFO L290 TraceCheckUtils]: 47: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:24:02,037 INFO L290 TraceCheckUtils]: 46: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:24:02,037 INFO L272 TraceCheckUtils]: 45: Hoare triple {20194#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)); {20194#true} is VALID [2022-04-28 04:24:02,037 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {20194#true} {20194#true} #88#return; {20194#true} is VALID [2022-04-28 04:24:02,037 INFO L290 TraceCheckUtils]: 43: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:24:02,038 INFO L290 TraceCheckUtils]: 42: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:24:02,038 INFO L290 TraceCheckUtils]: 41: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:24:02,038 INFO L272 TraceCheckUtils]: 40: Hoare triple {20194#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:24:02,038 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {20194#true} {20194#true} #86#return; {20194#true} is VALID [2022-04-28 04:24:02,038 INFO L290 TraceCheckUtils]: 38: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:24:02,038 INFO L290 TraceCheckUtils]: 37: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:24:02,038 INFO L290 TraceCheckUtils]: 36: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:24:02,038 INFO L272 TraceCheckUtils]: 35: Hoare triple {20194#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:24:02,038 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {20194#true} {20194#true} #84#return; {20194#true} is VALID [2022-04-28 04:24:02,038 INFO L290 TraceCheckUtils]: 33: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:24:02,038 INFO L290 TraceCheckUtils]: 32: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:24:02,038 INFO L290 TraceCheckUtils]: 31: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:24:02,038 INFO L272 TraceCheckUtils]: 30: Hoare triple {20194#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:24:02,038 INFO L290 TraceCheckUtils]: 29: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-28 04:24:02,038 INFO L290 TraceCheckUtils]: 28: Hoare triple {20194#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20194#true} is VALID [2022-04-28 04:24:02,039 INFO L290 TraceCheckUtils]: 27: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-28 04:24:02,039 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20194#true} {20194#true} #82#return; {20194#true} is VALID [2022-04-28 04:24:02,039 INFO L290 TraceCheckUtils]: 25: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:24:02,039 INFO L290 TraceCheckUtils]: 24: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:24:02,039 INFO L290 TraceCheckUtils]: 23: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:24:02,039 INFO L272 TraceCheckUtils]: 22: Hoare triple {20194#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:24:02,039 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20194#true} {20194#true} #80#return; {20194#true} is VALID [2022-04-28 04:24:02,039 INFO L290 TraceCheckUtils]: 20: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:24:02,039 INFO L290 TraceCheckUtils]: 19: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:24:02,039 INFO L290 TraceCheckUtils]: 18: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:24:02,040 INFO L272 TraceCheckUtils]: 17: Hoare triple {20194#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:24:02,040 INFO L290 TraceCheckUtils]: 16: Hoare triple {20194#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; {20194#true} is VALID [2022-04-28 04:24:02,040 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20194#true} {20194#true} #78#return; {20194#true} is VALID [2022-04-28 04:24:02,040 INFO L290 TraceCheckUtils]: 14: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:24:02,040 INFO L290 TraceCheckUtils]: 13: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:24:02,040 INFO L290 TraceCheckUtils]: 12: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:24:02,040 INFO L272 TraceCheckUtils]: 11: Hoare triple {20194#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:24:02,040 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20194#true} {20194#true} #76#return; {20194#true} is VALID [2022-04-28 04:24:02,040 INFO L290 TraceCheckUtils]: 9: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:24:02,040 INFO L290 TraceCheckUtils]: 8: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 04:24:02,041 INFO L290 TraceCheckUtils]: 7: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 04:24:02,041 INFO L272 TraceCheckUtils]: 6: Hoare triple {20194#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20194#true} is VALID [2022-04-28 04:24:02,041 INFO L290 TraceCheckUtils]: 5: Hoare triple {20194#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20194#true} is VALID [2022-04-28 04:24:02,041 INFO L272 TraceCheckUtils]: 4: Hoare triple {20194#true} call #t~ret6 := main(); {20194#true} is VALID [2022-04-28 04:24:02,041 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20194#true} {20194#true} #96#return; {20194#true} is VALID [2022-04-28 04:24:02,041 INFO L290 TraceCheckUtils]: 2: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 04:24:02,041 INFO L290 TraceCheckUtils]: 1: Hoare triple {20194#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); {20194#true} is VALID [2022-04-28 04:24:02,041 INFO L272 TraceCheckUtils]: 0: Hoare triple {20194#true} call ULTIMATE.init(); {20194#true} is VALID [2022-04-28 04:24:02,042 INFO L134 CoverageAnalysis]: Checked inductivity of 396 backedges. 73 proven. 7 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2022-04-28 04:24:02,042 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:24:02,042 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1732593914] [2022-04-28 04:24:02,042 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:24:02,042 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [212479672] [2022-04-28 04:24:02,042 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [212479672] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:24:02,042 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:24:02,042 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 9] total 22 [2022-04-28 04:24:02,043 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:24:02,043 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [708683091] [2022-04-28 04:24:02,043 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [708683091] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:24:02,043 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:24:02,043 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 04:24:02,043 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1151411585] [2022-04-28 04:24:02,043 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:24:02,044 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 15 states have internal predecessors, (34), 8 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) Word has length 111 [2022-04-28 04:24:02,044 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:24:02,044 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 15 states have internal predecessors, (34), 8 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 04:24:02,112 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:24:02,112 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 04:24:02,112 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:24:02,112 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 04:24:02,112 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=399, Unknown=0, NotChecked=0, Total=462 [2022-04-28 04:24:02,112 INFO L87 Difference]: Start difference. First operand 230 states and 307 transitions. Second operand has 18 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 15 states have internal predecessors, (34), 8 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 04:24:13,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:24:13,991 INFO L93 Difference]: Finished difference Result 260 states and 350 transitions. [2022-04-28 04:24:13,991 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 04:24:13,991 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 15 states have internal predecessors, (34), 8 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) Word has length 111 [2022-04-28 04:24:13,992 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:24:13,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 15 states have internal predecessors, (34), 8 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 04:24:13,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 122 transitions. [2022-04-28 04:24:13,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 15 states have internal predecessors, (34), 8 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 04:24:13,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 122 transitions. [2022-04-28 04:24:13,997 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 122 transitions. [2022-04-28 04:24:14,162 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-28 04:24:14,169 INFO L225 Difference]: With dead ends: 260 [2022-04-28 04:24:14,169 INFO L226 Difference]: Without dead ends: 258 [2022-04-28 04:24:14,170 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 230 GetRequests, 200 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 167 ImplicationChecksByTransitivity, 2.8s TimeCoverageRelationStatistics Valid=123, Invalid=807, Unknown=0, NotChecked=0, Total=930 [2022-04-28 04:24:14,171 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 53 mSDsluCounter, 173 mSDsCounter, 0 mSdLazyCounter, 749 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 69 SdHoareTripleChecker+Valid, 217 SdHoareTripleChecker+Invalid, 805 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 56 IncrementalHoareTripleChecker+Valid, 749 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:24:14,171 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [69 Valid, 217 Invalid, 805 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [56 Valid, 749 Invalid, 0 Unknown, 0 Unchecked, 5.0s Time] [2022-04-28 04:24:14,171 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 258 states. [2022-04-28 04:24:14,843 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 258 to 255. [2022-04-28 04:24:14,844 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:24:14,844 INFO L82 GeneralOperation]: Start isEquivalent. First operand 258 states. Second operand has 255 states, 135 states have (on average 1.1407407407407408) internal successors, (154), 137 states have internal predecessors, (154), 97 states have call successors, (97), 23 states have call predecessors, (97), 22 states have return successors, (94), 94 states have call predecessors, (94), 94 states have call successors, (94) [2022-04-28 04:24:14,845 INFO L74 IsIncluded]: Start isIncluded. First operand 258 states. Second operand has 255 states, 135 states have (on average 1.1407407407407408) internal successors, (154), 137 states have internal predecessors, (154), 97 states have call successors, (97), 23 states have call predecessors, (97), 22 states have return successors, (94), 94 states have call predecessors, (94), 94 states have call successors, (94) [2022-04-28 04:24:14,845 INFO L87 Difference]: Start difference. First operand 258 states. Second operand has 255 states, 135 states have (on average 1.1407407407407408) internal successors, (154), 137 states have internal predecessors, (154), 97 states have call successors, (97), 23 states have call predecessors, (97), 22 states have return successors, (94), 94 states have call predecessors, (94), 94 states have call successors, (94) [2022-04-28 04:24:14,853 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:24:14,853 INFO L93 Difference]: Finished difference Result 258 states and 348 transitions. [2022-04-28 04:24:14,853 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 348 transitions. [2022-04-28 04:24:14,854 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:24:14,854 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:24:14,855 INFO L74 IsIncluded]: Start isIncluded. First operand has 255 states, 135 states have (on average 1.1407407407407408) internal successors, (154), 137 states have internal predecessors, (154), 97 states have call successors, (97), 23 states have call predecessors, (97), 22 states have return successors, (94), 94 states have call predecessors, (94), 94 states have call successors, (94) Second operand 258 states. [2022-04-28 04:24:14,855 INFO L87 Difference]: Start difference. First operand has 255 states, 135 states have (on average 1.1407407407407408) internal successors, (154), 137 states have internal predecessors, (154), 97 states have call successors, (97), 23 states have call predecessors, (97), 22 states have return successors, (94), 94 states have call predecessors, (94), 94 states have call successors, (94) Second operand 258 states. [2022-04-28 04:24:14,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:24:14,862 INFO L93 Difference]: Finished difference Result 258 states and 348 transitions. [2022-04-28 04:24:14,862 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 348 transitions. [2022-04-28 04:24:14,862 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:24:14,863 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:24:14,863 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:24:14,863 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:24:14,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 255 states, 135 states have (on average 1.1407407407407408) internal successors, (154), 137 states have internal predecessors, (154), 97 states have call successors, (97), 23 states have call predecessors, (97), 22 states have return successors, (94), 94 states have call predecessors, (94), 94 states have call successors, (94) [2022-04-28 04:24:14,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 255 states to 255 states and 345 transitions. [2022-04-28 04:24:14,871 INFO L78 Accepts]: Start accepts. Automaton has 255 states and 345 transitions. Word has length 111 [2022-04-28 04:24:14,871 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:24:14,871 INFO L495 AbstractCegarLoop]: Abstraction has 255 states and 345 transitions. [2022-04-28 04:24:14,871 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 15 states have internal predecessors, (34), 8 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 04:24:14,871 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 255 states and 345 transitions. [2022-04-28 04:24:15,612 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 345 edges. 345 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:24:15,612 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 345 transitions. [2022-04-28 04:24:15,616 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-28 04:24:15,616 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:24:15,616 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 4, 4, 4, 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] [2022-04-28 04:24:15,641 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 04:24:15,833 WARN L477 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-28 04:24:15,834 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:24:15,834 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:24:15,834 INFO L85 PathProgramCache]: Analyzing trace with hash -1295483154, now seen corresponding path program 5 times [2022-04-28 04:24:15,834 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:24:15,834 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [900461374] [2022-04-28 04:24:15,834 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:24:15,834 INFO L85 PathProgramCache]: Analyzing trace with hash -1295483154, now seen corresponding path program 6 times [2022-04-28 04:24:15,835 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:24:15,835 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [558831136] [2022-04-28 04:24:15,835 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:24:15,835 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:24:15,846 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:24:15,846 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1416769321] [2022-04-28 04:24:15,846 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:24:15,846 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:24:15,846 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:24:15,847 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:24:15,851 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 04:24:15,933 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 04:24:15,933 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:24:15,935 INFO L263 TraceCheckSpWp]: Trace formula consists of 259 conjuncts, 82 conjunts are in the unsatisfiable core [2022-04-28 04:24:15,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:24:15,956 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:24:31,573 INFO L272 TraceCheckUtils]: 0: Hoare triple {22445#true} call ULTIMATE.init(); {22445#true} is VALID [2022-04-28 04:24:31,573 INFO L290 TraceCheckUtils]: 1: Hoare triple {22445#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); {22445#true} is VALID [2022-04-28 04:24:31,573 INFO L290 TraceCheckUtils]: 2: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 04:24:31,573 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22445#true} {22445#true} #96#return; {22445#true} is VALID [2022-04-28 04:24:31,573 INFO L272 TraceCheckUtils]: 4: Hoare triple {22445#true} call #t~ret6 := main(); {22445#true} is VALID [2022-04-28 04:24:31,573 INFO L290 TraceCheckUtils]: 5: Hoare triple {22445#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22445#true} is VALID [2022-04-28 04:24:31,573 INFO L272 TraceCheckUtils]: 6: Hoare triple {22445#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22445#true} is VALID [2022-04-28 04:24:31,573 INFO L290 TraceCheckUtils]: 7: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 04:24:31,573 INFO L290 TraceCheckUtils]: 8: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 04:24:31,573 INFO L290 TraceCheckUtils]: 9: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 04:24:31,573 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22445#true} {22445#true} #76#return; {22445#true} is VALID [2022-04-28 04:24:31,573 INFO L272 TraceCheckUtils]: 11: Hoare triple {22445#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22445#true} is VALID [2022-04-28 04:24:31,573 INFO L290 TraceCheckUtils]: 12: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 04:24:31,573 INFO L290 TraceCheckUtils]: 13: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 04:24:31,574 INFO L290 TraceCheckUtils]: 14: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 04:24:31,574 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22445#true} {22445#true} #78#return; {22445#true} is VALID [2022-04-28 04:24:31,574 INFO L290 TraceCheckUtils]: 16: Hoare triple {22445#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; {22498#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:24:31,574 INFO L272 TraceCheckUtils]: 17: Hoare triple {22498#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {22445#true} is VALID [2022-04-28 04:24:31,574 INFO L290 TraceCheckUtils]: 18: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 04:24:31,574 INFO L290 TraceCheckUtils]: 19: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 04:24:31,574 INFO L290 TraceCheckUtils]: 20: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 04:24:31,575 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {22445#true} {22498#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #80#return; {22498#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:24:31,575 INFO L272 TraceCheckUtils]: 22: Hoare triple {22498#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {22445#true} is VALID [2022-04-28 04:24:31,575 INFO L290 TraceCheckUtils]: 23: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 04:24:31,575 INFO L290 TraceCheckUtils]: 24: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 04:24:31,575 INFO L290 TraceCheckUtils]: 25: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 04:24:31,576 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22445#true} {22498#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #82#return; {22498#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:24:31,576 INFO L290 TraceCheckUtils]: 27: Hoare triple {22498#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {22498#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:24:31,577 INFO L290 TraceCheckUtils]: 28: Hoare triple {22498#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22535#(and (= main_~r~0 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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 04:24:31,577 INFO L290 TraceCheckUtils]: 29: Hoare triple {22535#(and (= main_~r~0 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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {22535#(and (= main_~r~0 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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 04:24:31,577 INFO L272 TraceCheckUtils]: 30: Hoare triple {22535#(and (= main_~r~0 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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22445#true} is VALID [2022-04-28 04:24:31,577 INFO L290 TraceCheckUtils]: 31: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 04:24:31,577 INFO L290 TraceCheckUtils]: 32: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 04:24:31,577 INFO L290 TraceCheckUtils]: 33: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 04:24:31,578 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {22445#true} {22535#(and (= main_~r~0 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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #84#return; {22535#(and (= main_~r~0 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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 04:24:31,578 INFO L272 TraceCheckUtils]: 35: Hoare triple {22535#(and (= main_~r~0 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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22445#true} is VALID [2022-04-28 04:24:31,578 INFO L290 TraceCheckUtils]: 36: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 04:24:31,578 INFO L290 TraceCheckUtils]: 37: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 04:24:31,578 INFO L290 TraceCheckUtils]: 38: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 04:24:31,579 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {22445#true} {22535#(and (= main_~r~0 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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #86#return; {22535#(and (= main_~r~0 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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 04:24:31,579 INFO L272 TraceCheckUtils]: 40: Hoare triple {22535#(and (= main_~r~0 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_~p~0 1) (= main_~q~0 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)); {22445#true} is VALID [2022-04-28 04:24:31,579 INFO L290 TraceCheckUtils]: 41: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 04:24:31,579 INFO L290 TraceCheckUtils]: 42: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 04:24:31,579 INFO L290 TraceCheckUtils]: 43: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 04:24:31,580 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {22445#true} {22535#(and (= main_~r~0 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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #88#return; {22535#(and (= main_~r~0 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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 04:24:31,580 INFO L272 TraceCheckUtils]: 45: Hoare triple {22535#(and (= main_~r~0 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_~p~0 1) (= main_~q~0 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)); {22445#true} is VALID [2022-04-28 04:24:31,580 INFO L290 TraceCheckUtils]: 46: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 04:24:31,580 INFO L290 TraceCheckUtils]: 47: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 04:24:31,580 INFO L290 TraceCheckUtils]: 48: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 04:24:31,580 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {22445#true} {22535#(and (= main_~r~0 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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #90#return; {22535#(and (= main_~r~0 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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 04:24:31,581 INFO L290 TraceCheckUtils]: 50: Hoare triple {22535#(and (= main_~r~0 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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {22602#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 04:24:31,582 INFO L290 TraceCheckUtils]: 51: Hoare triple {22602#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22606#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)))} is VALID [2022-04-28 04:24:31,583 INFO L290 TraceCheckUtils]: 52: Hoare triple {22606#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)))} assume !false; {22606#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)))} is VALID [2022-04-28 04:24:31,583 INFO L290 TraceCheckUtils]: 53: Hoare triple {22606#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22613#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)))} is VALID [2022-04-28 04:24:31,583 INFO L290 TraceCheckUtils]: 54: Hoare triple {22613#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)))} assume !false; {22613#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)))} is VALID [2022-04-28 04:24:31,584 INFO L272 TraceCheckUtils]: 55: Hoare triple {22613#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22445#true} is VALID [2022-04-28 04:24:31,584 INFO L290 TraceCheckUtils]: 56: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 04:24:31,584 INFO L290 TraceCheckUtils]: 57: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 04:24:31,584 INFO L290 TraceCheckUtils]: 58: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 04:24:31,584 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {22445#true} {22613#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)))} #84#return; {22613#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)))} is VALID [2022-04-28 04:24:31,585 INFO L272 TraceCheckUtils]: 60: Hoare triple {22613#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22445#true} is VALID [2022-04-28 04:24:31,585 INFO L290 TraceCheckUtils]: 61: Hoare triple {22445#true} ~cond := #in~cond; {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:24:31,585 INFO L290 TraceCheckUtils]: 62: Hoare triple {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:24:31,585 INFO L290 TraceCheckUtils]: 63: Hoare triple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:24:31,586 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} {22613#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)))} #86#return; {22649#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 04:24:31,586 INFO L272 TraceCheckUtils]: 65: Hoare triple {22649#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= 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)); {22445#true} is VALID [2022-04-28 04:24:31,586 INFO L290 TraceCheckUtils]: 66: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 04:24:31,586 INFO L290 TraceCheckUtils]: 67: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 04:24:31,587 INFO L290 TraceCheckUtils]: 68: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 04:24:31,587 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {22445#true} {22649#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #88#return; {22649#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 04:24:31,587 INFO L272 TraceCheckUtils]: 70: Hoare triple {22649#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= 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)); {22445#true} is VALID [2022-04-28 04:24:31,587 INFO L290 TraceCheckUtils]: 71: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 04:24:31,587 INFO L290 TraceCheckUtils]: 72: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 04:24:31,587 INFO L290 TraceCheckUtils]: 73: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 04:24:31,588 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {22445#true} {22649#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #90#return; {22649#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 04:24:31,589 INFO L290 TraceCheckUtils]: 75: Hoare triple {22649#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= 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; {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 04:24:31,590 INFO L290 TraceCheckUtils]: 76: Hoare triple {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !false; {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 04:24:31,590 INFO L272 TraceCheckUtils]: 77: Hoare triple {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= 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)); {22445#true} is VALID [2022-04-28 04:24:31,590 INFO L290 TraceCheckUtils]: 78: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 04:24:31,590 INFO L290 TraceCheckUtils]: 79: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 04:24:31,590 INFO L290 TraceCheckUtils]: 80: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 04:24:31,590 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {22445#true} {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} #84#return; {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 04:24:31,591 INFO L272 TraceCheckUtils]: 82: Hoare triple {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= 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)); {22445#true} is VALID [2022-04-28 04:24:31,591 INFO L290 TraceCheckUtils]: 83: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 04:24:31,591 INFO L290 TraceCheckUtils]: 84: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 04:24:31,591 INFO L290 TraceCheckUtils]: 85: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 04:24:31,591 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {22445#true} {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} #86#return; {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 04:24:31,591 INFO L272 TraceCheckUtils]: 87: Hoare triple {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= 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)); {22445#true} is VALID [2022-04-28 04:24:31,592 INFO L290 TraceCheckUtils]: 88: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 04:24:31,592 INFO L290 TraceCheckUtils]: 89: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 04:24:31,592 INFO L290 TraceCheckUtils]: 90: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 04:24:31,592 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {22445#true} {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} #88#return; {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 04:24:31,592 INFO L272 TraceCheckUtils]: 92: Hoare triple {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= 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)); {22445#true} is VALID [2022-04-28 04:24:31,593 INFO L290 TraceCheckUtils]: 93: Hoare triple {22445#true} ~cond := #in~cond; {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:24:31,593 INFO L290 TraceCheckUtils]: 94: Hoare triple {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:24:31,593 INFO L290 TraceCheckUtils]: 95: Hoare triple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:24:33,597 WARN L284 TraceCheckUtils]: 96: Hoare quadruple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} #90#return; {22747#(and (or (and (not (= main_~q~0 0)) (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~y~0 main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~y~0 main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) 0)) (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is UNKNOWN [2022-04-28 04:24:33,599 INFO L290 TraceCheckUtils]: 97: Hoare triple {22747#(and (or (and (not (= main_~q~0 0)) (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~y~0 main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~y~0 main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) 0)) (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {22751#(and (= main_~s~0 0) (= main_~p~0 0) (not (= main_~q~0 0)) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (not (<= main_~b~0 main_~c~0)) (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~y~0 main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) main_~q~0) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 04:24:33,600 INFO L290 TraceCheckUtils]: 98: Hoare triple {22751#(and (= main_~s~0 0) (= main_~p~0 0) (not (= main_~q~0 0)) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (not (<= main_~b~0 main_~c~0)) (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~y~0 main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) main_~q~0) 0) (= 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; {22755#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 04:24:33,601 INFO L290 TraceCheckUtils]: 99: Hoare triple {22755#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {22755#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 04:24:33,602 INFO L290 TraceCheckUtils]: 100: Hoare triple {22755#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22762#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (= main_~k~0 0) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 04:24:33,602 INFO L290 TraceCheckUtils]: 101: Hoare triple {22762#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (= main_~k~0 0) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {22762#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (= main_~k~0 0) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 04:24:33,602 INFO L272 TraceCheckUtils]: 102: Hoare triple {22762#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (= main_~k~0 0) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22445#true} is VALID [2022-04-28 04:24:33,603 INFO L290 TraceCheckUtils]: 103: Hoare triple {22445#true} ~cond := #in~cond; {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:24:33,603 INFO L290 TraceCheckUtils]: 104: Hoare triple {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:24:33,603 INFO L290 TraceCheckUtils]: 105: Hoare triple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:24:33,615 INFO L284 TraceCheckUtils]: 106: Hoare quadruple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} {22762#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (= main_~k~0 0) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} #84#return; {22755#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 04:24:33,615 INFO L272 TraceCheckUtils]: 107: Hoare triple {22755#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22445#true} is VALID [2022-04-28 04:24:33,616 INFO L290 TraceCheckUtils]: 108: Hoare triple {22445#true} ~cond := #in~cond; {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:24:33,616 INFO L290 TraceCheckUtils]: 109: Hoare triple {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:24:33,616 INFO L290 TraceCheckUtils]: 110: Hoare triple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:24:33,620 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} {22755#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} #86#return; {22796#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (< (* main_~b~0 2) main_~y~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0))} is VALID [2022-04-28 04:24:33,621 INFO L272 TraceCheckUtils]: 112: Hoare triple {22796#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (< (* main_~b~0 2) main_~y~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22800#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:24:33,621 INFO L290 TraceCheckUtils]: 113: Hoare triple {22800#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22804#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:24:33,622 INFO L290 TraceCheckUtils]: 114: Hoare triple {22804#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22446#false} is VALID [2022-04-28 04:24:33,622 INFO L290 TraceCheckUtils]: 115: Hoare triple {22446#false} assume !false; {22446#false} is VALID [2022-04-28 04:24:33,622 INFO L134 CoverageAnalysis]: Checked inductivity of 453 backedges. 129 proven. 56 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-28 04:24:33,623 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:28:43,024 WARN L855 $PredicateComparison]: unable to prove that (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~q~0_BEFORE_CALL_128 Int) (v_main_~xy~0_BEFORE_CALL_31 Int) (v_main_~s~0_BEFORE_CALL_131 Int) (v_main_~yy~0_BEFORE_CALL_41 Int) (v_main_~x~0_BEFORE_CALL_166 Int) (v_main_~y~0_BEFORE_CALL_171 Int)) (let ((.cse1 (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131))))) (let ((.cse0 (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) .cse1))) (or (= (mod .cse0 v_main_~q~0_BEFORE_CALL_128) 0) (not (= (+ (* (- 1) .cse1) (* v_main_~xy~0_BEFORE_CALL_31 v_main_~q~0_BEFORE_CALL_128) (* v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131)) 0)) (= .cse0 0)))))) is different from true