/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench/egcd2-ll.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 10:46:01,743 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 10:46:01,744 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 10:46:01,787 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 10:46:01,787 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 10:46:01,788 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 10:46:01,790 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 10:46:01,792 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 10:46:01,793 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 10:46:01,796 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 10:46:01,797 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 10:46:01,798 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 10:46:01,798 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 10:46:01,799 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 10:46:01,800 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 10:46:01,802 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 10:46:01,803 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 10:46:01,803 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 10:46:01,805 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 10:46:01,808 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 10:46:01,810 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 10:46:01,811 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 10:46:01,811 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 10:46:01,812 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 10:46:01,813 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 10:46:01,822 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 10:46:01,823 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 10:46:01,823 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 10:46:01,823 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 10:46:01,824 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 10:46:01,825 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 10:46:01,825 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 10:46:01,826 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 10:46:01,826 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 10:46:01,827 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 10:46:01,827 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 10:46:01,827 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 10:46:01,828 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 10:46:01,828 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 10:46:01,828 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 10:46:01,828 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 10:46:01,829 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 10:46:01,830 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 10:46:01,840 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 10:46:01,840 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 10:46:01,841 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 10:46:01,841 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 10:46:01,841 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 10:46:01,841 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 10:46:01,841 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 10:46:01,841 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 10:46:01,841 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 10:46:01,842 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 10:46:01,842 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 10:46:01,842 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 10:46:01,842 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 10:46:01,842 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 10:46:01,842 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 10:46:01,843 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 10:46:01,843 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 10:46:01,843 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 10:46:01,843 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 10:46:01,843 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 10:46:01,843 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 10:46:01,843 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 10:46:01,843 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 10:46:02,031 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 10:46:02,056 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 10:46:02,057 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 10:46:02,058 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 10:46:02,059 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 10:46:02,060 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 10:46:02,130 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0f798cd24/01e003f3a97e4bb286effbacdd89e44d/FLAG7c036856e [2022-04-28 10:46:02,488 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 10:46:02,488 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/egcd2-ll.c [2022-04-28 10:46:02,493 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0f798cd24/01e003f3a97e4bb286effbacdd89e44d/FLAG7c036856e [2022-04-28 10:46:02,509 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0f798cd24/01e003f3a97e4bb286effbacdd89e44d [2022-04-28 10:46:02,514 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 10:46:02,514 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 10:46:02,522 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 10:46:02,522 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 10:46:02,525 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 10:46:02,526 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 10:46:02" (1/1) ... [2022-04-28 10:46:02,526 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3a322272 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:46:02, skipping insertion in model container [2022-04-28 10:46:02,526 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 10:46:02" (1/1) ... [2022-04-28 10:46:02,531 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 10:46:02,542 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 10:46:02,659 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 10:46:02,677 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 10:46:02,683 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 10:46:02,690 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 10:46:02,698 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 10:46:02,707 INFO L208 MainTranslator]: Completed translation [2022-04-28 10:46:02,707 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:46:02 WrapperNode [2022-04-28 10:46:02,707 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 10:46:02,708 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 10:46:02,708 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 10:46:02,708 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 10:46:02,715 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:46:02" (1/1) ... [2022-04-28 10:46:02,715 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:46:02" (1/1) ... [2022-04-28 10:46:02,719 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:46:02" (1/1) ... [2022-04-28 10:46:02,719 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:46:02" (1/1) ... [2022-04-28 10:46:02,724 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:46:02" (1/1) ... [2022-04-28 10:46:02,727 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:46:02" (1/1) ... [2022-04-28 10:46:02,728 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:46:02" (1/1) ... [2022-04-28 10:46:02,729 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 10:46:02,730 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 10:46:02,730 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 10:46:02,730 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 10:46:02,730 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:46:02" (1/1) ... [2022-04-28 10:46:02,740 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 10:46:02,746 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:46:02,785 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 10:46:02,828 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 10:46:02,845 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 10:46:02,845 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 10:46:02,845 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 10:46:02,846 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 10:46:02,846 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 10:46:02,846 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 10:46:02,846 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 10:46:02,847 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 10:46:02,847 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 10:46:02,847 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 10:46:02,847 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 10:46:02,847 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 10:46:02,847 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 10:46:02,847 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 10:46:02,848 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 10:46:02,849 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 10:46:02,850 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 10:46:02,850 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 10:46:02,850 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 10:46:02,850 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 10:46:02,899 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 10:46:02,900 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 10:46:03,041 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 10:46:03,054 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 10:46:03,055 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 10:46:03,056 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 10:46:03 BoogieIcfgContainer [2022-04-28 10:46:03,056 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 10:46:03,074 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 10:46:03,074 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 10:46:03,077 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 10:46:03,077 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 10:46:02" (1/3) ... [2022-04-28 10:46:03,077 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3b1268c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 10:46:03, skipping insertion in model container [2022-04-28 10:46:03,077 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:46:02" (2/3) ... [2022-04-28 10:46:03,078 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3b1268c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 10:46:03, skipping insertion in model container [2022-04-28 10:46:03,078 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 10:46:03" (3/3) ... [2022-04-28 10:46:03,079 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll.c [2022-04-28 10:46:03,088 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 10:46:03,088 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 10:46:03,118 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 10:46:03,122 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@4ef87ac5, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@c310b34 [2022-04-28 10:46:03,122 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 10:46:03,128 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 10:46:03,134 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 10:46:03,134 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:46:03,135 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 10:46:03,135 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:46:03,138 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:46:03,138 INFO L85 PathProgramCache]: Analyzing trace with hash 1872307417, now seen corresponding path program 1 times [2022-04-28 10:46:03,144 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:03,144 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1459108003] [2022-04-28 10:46:03,151 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:46:03,151 INFO L85 PathProgramCache]: Analyzing trace with hash 1872307417, now seen corresponding path program 2 times [2022-04-28 10:46:03,153 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:46:03,154 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [422974612] [2022-04-28 10:46:03,154 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:46:03,154 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:46:03,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:46:03,274 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:46:03,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:46:03,306 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 10:46:03,307 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 10:46:03,307 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-28 10:46:03,308 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 10:46:03,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:46:03,322 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 10:46:03,323 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 10:46:03,323 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 10:46:03,323 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #76#return; {41#false} is VALID [2022-04-28 10:46:03,323 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 10:46:03,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:46:03,328 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 10:46:03,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 10:46:03,329 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 10:46:03,329 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #78#return; {41#false} is VALID [2022-04-28 10:46:03,329 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 10:46:03,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:46:03,337 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 10:46:03,338 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 10:46:03,338 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 10:46:03,338 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #80#return; {41#false} is VALID [2022-04-28 10:46:03,338 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 10:46:03,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:46:03,346 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 10:46:03,347 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 10:46:03,347 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 10:46:03,347 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #82#return; {41#false} is VALID [2022-04-28 10:46:03,349 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 10:46:03,349 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 10:46:03,349 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 10:46:03,349 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-28 10:46:03,350 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-28 10:46:03,350 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 10:46:03,350 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 10:46:03,350 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 10:46:03,351 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 10:46:03,351 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 10:46:03,352 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #76#return; {41#false} is VALID [2022-04-28 10:46:03,352 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 10:46:03,352 INFO L290 TraceCheckUtils]: 12: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 10:46:03,352 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 10:46:03,352 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 10:46:03,353 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41#false} {41#false} #78#return; {41#false} is VALID [2022-04-28 10:46:03,353 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 10:46:03,353 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 10:46:03,353 INFO L290 TraceCheckUtils]: 18: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 10:46:03,354 INFO L290 TraceCheckUtils]: 19: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 10:46:03,354 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 10:46:03,355 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41#false} {41#false} #80#return; {41#false} is VALID [2022-04-28 10:46:03,355 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 10:46:03,355 INFO L290 TraceCheckUtils]: 23: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 10:46:03,356 INFO L290 TraceCheckUtils]: 24: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 10:46:03,356 INFO L290 TraceCheckUtils]: 25: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 10:46:03,357 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41#false} {41#false} #82#return; {41#false} is VALID [2022-04-28 10:46:03,357 INFO L290 TraceCheckUtils]: 27: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-28 10:46:03,357 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 10:46:03,360 INFO L290 TraceCheckUtils]: 29: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-28 10:46:03,360 INFO L290 TraceCheckUtils]: 30: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-28 10:46:03,360 INFO L290 TraceCheckUtils]: 31: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-28 10:46:03,360 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 10:46:03,361 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:46:03,361 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [422974612] [2022-04-28 10:46:03,362 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [422974612] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:46:03,362 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:46:03,362 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 10:46:03,364 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:46:03,364 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1459108003] [2022-04-28 10:46:03,364 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1459108003] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:46:03,364 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:46:03,364 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 10:46:03,364 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1893030916] [2022-04-28 10:46:03,365 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:46:03,368 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 10:46:03,369 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:46:03,373 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 10:46:03,407 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 10:46:03,408 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 10:46:03,409 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:03,431 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 10:46:03,432 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 10:46:03,435 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 10:46:03,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:03,630 INFO L93 Difference]: Finished difference Result 67 states and 106 transitions. [2022-04-28 10:46:03,631 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 10:46:03,631 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 10:46:03,631 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:46:03,632 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 10:46:03,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 106 transitions. [2022-04-28 10:46:03,640 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 10:46:03,645 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 106 transitions. [2022-04-28 10:46:03,645 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 106 transitions. [2022-04-28 10:46:03,753 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 10:46:03,760 INFO L225 Difference]: With dead ends: 67 [2022-04-28 10:46:03,760 INFO L226 Difference]: Without dead ends: 32 [2022-04-28 10:46:03,762 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 10:46:03,764 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 10:46:03,765 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 10:46:03,776 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-28 10:46:03,786 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-28 10:46:03,787 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:46:03,787 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 10:46:03,788 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 10:46:03,788 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 10:46:03,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:03,792 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-28 10:46:03,792 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 10:46:03,792 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:03,792 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:03,793 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 10:46:03,793 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 10:46:03,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:03,796 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-28 10:46:03,796 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 10:46:03,797 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:03,797 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:03,797 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:46:03,797 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:46:03,798 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 10:46:03,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-28 10:46:03,801 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 32 [2022-04-28 10:46:03,801 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:46:03,801 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-28 10:46:03,801 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 10:46:03,802 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 41 transitions. [2022-04-28 10:46:03,841 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 10:46:03,842 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 10:46:03,843 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 10:46:03,843 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:46:03,843 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 10:46:03,843 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 10:46:03,843 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:46:03,844 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:46:03,844 INFO L85 PathProgramCache]: Analyzing trace with hash 310247117, now seen corresponding path program 1 times [2022-04-28 10:46:03,844 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:03,844 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1811454037] [2022-04-28 10:46:03,845 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:46:03,845 INFO L85 PathProgramCache]: Analyzing trace with hash 310247117, now seen corresponding path program 2 times [2022-04-28 10:46:03,845 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:46:03,845 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1850284482] [2022-04-28 10:46:03,845 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:46:03,845 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:46:03,860 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:46:03,860 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1542069913] [2022-04-28 10:46:03,860 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:46:03,861 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:46:03,861 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:46:03,862 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 10:46:03,877 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 10:46:03,910 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:46:03,910 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:46:03,912 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 10:46:03,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:46:03,924 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:46:04,077 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-28 10:46:04,077 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 10:46:04,077 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 10:46:04,077 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #96#return; {326#true} is VALID [2022-04-28 10:46:04,078 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-28 10:46:04,078 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 10:46:04,078 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 10:46:04,078 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 10:46:04,078 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 10:46:04,078 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 10:46:04,078 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #76#return; {326#true} is VALID [2022-04-28 10:46:04,079 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 10:46:04,079 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 10:46:04,079 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 10:46:04,080 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 10:46:04,080 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 10:46:04,081 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 10:46:04,081 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 10:46:04,081 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 10:46:04,081 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 10:46:04,082 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 10:46:04,082 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 10:46:04,082 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 10:46:04,082 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 10:46:04,082 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 10:46:04,083 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 10:46:04,083 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 10:46:04,083 INFO L290 TraceCheckUtils]: 27: Hoare triple {382#(<= 1 main_~b~0)} assume !false; {382#(<= 1 main_~b~0)} is VALID [2022-04-28 10:46:04,084 INFO L290 TraceCheckUtils]: 28: Hoare triple {382#(<= 1 main_~b~0)} assume !(0 != ~b~0); {327#false} is VALID [2022-04-28 10:46:04,084 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 10:46:04,084 INFO L290 TraceCheckUtils]: 30: Hoare triple {327#false} ~cond := #in~cond; {327#false} is VALID [2022-04-28 10:46:04,084 INFO L290 TraceCheckUtils]: 31: Hoare triple {327#false} assume 0 == ~cond; {327#false} is VALID [2022-04-28 10:46:04,084 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-28 10:46:04,085 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 10:46:04,085 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:46:04,295 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-28 10:46:04,295 INFO L290 TraceCheckUtils]: 31: Hoare triple {327#false} assume 0 == ~cond; {327#false} is VALID [2022-04-28 10:46:04,295 INFO L290 TraceCheckUtils]: 30: Hoare triple {327#false} ~cond := #in~cond; {327#false} is VALID [2022-04-28 10:46:04,295 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 10:46:04,296 INFO L290 TraceCheckUtils]: 28: Hoare triple {382#(<= 1 main_~b~0)} assume !(0 != ~b~0); {327#false} is VALID [2022-04-28 10:46:04,296 INFO L290 TraceCheckUtils]: 27: Hoare triple {382#(<= 1 main_~b~0)} assume !false; {382#(<= 1 main_~b~0)} is VALID [2022-04-28 10:46:04,297 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 10:46:04,297 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 10:46:04,297 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 10:46:04,297 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 10:46:04,297 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 10:46:04,298 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 10:46:04,298 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 10:46:04,298 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 10:46:04,299 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 10:46:04,299 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 10:46:04,299 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 10:46:04,300 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 10:46:04,300 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 10:46:04,301 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 10:46:04,301 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 10:46:04,301 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 10:46:04,301 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #76#return; {326#true} is VALID [2022-04-28 10:46:04,302 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 10:46:04,302 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 10:46:04,302 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 10:46:04,302 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 10:46:04,302 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 10:46:04,302 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-28 10:46:04,302 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #96#return; {326#true} is VALID [2022-04-28 10:46:04,303 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 10:46:04,303 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 10:46:04,303 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-28 10:46:04,303 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 10:46:04,303 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:46:04,303 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1850284482] [2022-04-28 10:46:04,304 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:46:04,304 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1542069913] [2022-04-28 10:46:04,304 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1542069913] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:46:04,304 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:46:04,304 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-28 10:46:04,305 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:46:04,305 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1811454037] [2022-04-28 10:46:04,305 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1811454037] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:46:04,305 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:46:04,305 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 10:46:04,305 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [834005270] [2022-04-28 10:46:04,305 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:46:04,306 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 10:46:04,306 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:46:04,306 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 10:46:04,326 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 10:46:04,326 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 10:46:04,326 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:04,327 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 10:46:04,327 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 10:46:04,327 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 10:46:04,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:04,568 INFO L93 Difference]: Finished difference Result 49 states and 64 transitions. [2022-04-28 10:46:04,568 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 10:46:04,569 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 10:46:04,569 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:46:04,569 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 10:46:04,571 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-28 10:46:04,571 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 10:46:04,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-28 10:46:04,573 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 64 transitions. [2022-04-28 10:46:04,622 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 10:46:04,623 INFO L225 Difference]: With dead ends: 49 [2022-04-28 10:46:04,623 INFO L226 Difference]: Without dead ends: 41 [2022-04-28 10:46:04,624 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 10:46:04,624 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 10:46:04,625 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 10:46:04,625 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-28 10:46:04,642 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 34. [2022-04-28 10:46:04,643 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:46:04,643 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 10:46:04,643 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 10:46:04,644 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 10:46:04,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:04,646 INFO L93 Difference]: Finished difference Result 41 states and 55 transitions. [2022-04-28 10:46:04,646 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 55 transitions. [2022-04-28 10:46:04,647 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:04,647 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:04,647 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 10:46:04,647 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 10:46:04,650 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:04,650 INFO L93 Difference]: Finished difference Result 41 states and 55 transitions. [2022-04-28 10:46:04,650 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 55 transitions. [2022-04-28 10:46:04,650 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:04,650 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:04,650 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:46:04,651 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:46:04,651 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 10:46:04,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 43 transitions. [2022-04-28 10:46:04,653 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 43 transitions. Word has length 33 [2022-04-28 10:46:04,653 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:46:04,653 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 43 transitions. [2022-04-28 10:46:04,654 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 10:46:04,654 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 43 transitions. [2022-04-28 10:46:04,696 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 10:46:04,696 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-28 10:46:04,697 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 10:46:04,697 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:46:04,697 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 10:46:04,714 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 10:46:04,909 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 10:46:04,909 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:46:04,909 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:46:04,909 INFO L85 PathProgramCache]: Analyzing trace with hash 1036600877, now seen corresponding path program 1 times [2022-04-28 10:46:04,910 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:04,910 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [438854963] [2022-04-28 10:46:04,910 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:46:04,910 INFO L85 PathProgramCache]: Analyzing trace with hash 1036600877, now seen corresponding path program 2 times [2022-04-28 10:46:04,910 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:46:04,911 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1900235493] [2022-04-28 10:46:04,911 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:46:04,911 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:46:04,937 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:46:04,938 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1709346422] [2022-04-28 10:46:04,938 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:46:04,938 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:46:04,938 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:46:04,948 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 10:46:04,968 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 10:46:04,999 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 10:46:04,999 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:46:05,000 INFO L263 TraceCheckSpWp]: Trace formula consists of 72 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 10:46:05,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:46:05,008 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:46:05,129 INFO L272 TraceCheckUtils]: 0: Hoare triple {782#true} call ULTIMATE.init(); {782#true} is VALID [2022-04-28 10:46:05,129 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 10:46:05,129 INFO L290 TraceCheckUtils]: 2: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-28 10:46:05,129 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {782#true} {782#true} #96#return; {782#true} is VALID [2022-04-28 10:46:05,130 INFO L272 TraceCheckUtils]: 4: Hoare triple {782#true} call #t~ret6 := main(); {782#true} is VALID [2022-04-28 10:46:05,130 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 10:46:05,130 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 10:46:05,130 INFO L290 TraceCheckUtils]: 7: Hoare triple {782#true} ~cond := #in~cond; {782#true} is VALID [2022-04-28 10:46:05,130 INFO L290 TraceCheckUtils]: 8: Hoare triple {782#true} assume !(0 == ~cond); {782#true} is VALID [2022-04-28 10:46:05,130 INFO L290 TraceCheckUtils]: 9: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-28 10:46:05,130 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {782#true} {782#true} #76#return; {782#true} is VALID [2022-04-28 10:46:05,130 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 10:46:05,131 INFO L290 TraceCheckUtils]: 12: Hoare triple {782#true} ~cond := #in~cond; {782#true} is VALID [2022-04-28 10:46:05,131 INFO L290 TraceCheckUtils]: 13: Hoare triple {782#true} assume !(0 == ~cond); {782#true} is VALID [2022-04-28 10:46:05,131 INFO L290 TraceCheckUtils]: 14: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-28 10:46:05,131 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {782#true} {782#true} #78#return; {782#true} is VALID [2022-04-28 10:46:05,131 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 10:46:05,131 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 10:46:05,131 INFO L290 TraceCheckUtils]: 18: Hoare triple {782#true} ~cond := #in~cond; {782#true} is VALID [2022-04-28 10:46:05,131 INFO L290 TraceCheckUtils]: 19: Hoare triple {782#true} assume !(0 == ~cond); {782#true} is VALID [2022-04-28 10:46:05,132 INFO L290 TraceCheckUtils]: 20: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-28 10:46:05,132 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {782#true} {782#true} #80#return; {782#true} is VALID [2022-04-28 10:46:05,132 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 10:46:05,132 INFO L290 TraceCheckUtils]: 23: Hoare triple {782#true} ~cond := #in~cond; {782#true} is VALID [2022-04-28 10:46:05,132 INFO L290 TraceCheckUtils]: 24: Hoare triple {782#true} assume !(0 == ~cond); {782#true} is VALID [2022-04-28 10:46:05,132 INFO L290 TraceCheckUtils]: 25: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-28 10:46:05,132 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {782#true} {782#true} #82#return; {782#true} is VALID [2022-04-28 10:46:05,132 INFO L290 TraceCheckUtils]: 27: Hoare triple {782#true} assume !false; {782#true} is VALID [2022-04-28 10:46:05,138 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 10:46:05,139 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 10:46:05,139 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 10:46:05,140 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 10:46:05,141 INFO L290 TraceCheckUtils]: 32: Hoare triple {882#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {783#false} is VALID [2022-04-28 10:46:05,141 INFO L290 TraceCheckUtils]: 33: Hoare triple {783#false} assume !false; {783#false} is VALID [2022-04-28 10:46:05,141 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 10:46:05,141 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 10:46:05,141 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:46:05,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1900235493] [2022-04-28 10:46:05,142 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:46:05,142 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1709346422] [2022-04-28 10:46:05,142 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1709346422] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:46:05,142 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:46:05,142 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:46:05,142 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:46:05,142 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [438854963] [2022-04-28 10:46:05,142 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [438854963] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:46:05,142 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:46:05,142 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:46:05,143 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [34626345] [2022-04-28 10:46:05,143 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:46:05,143 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 10:46:05,143 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:46:05,143 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 10:46:05,159 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 10:46:05,159 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 10:46:05,159 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:05,160 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 10:46:05,160 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 10:46:05,160 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 10:46:05,360 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:05,360 INFO L93 Difference]: Finished difference Result 47 states and 60 transitions. [2022-04-28 10:46:05,360 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 10:46:05,360 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 10:46:05,360 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:46:05,361 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 10:46:05,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-28 10:46:05,362 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 10:46:05,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-28 10:46:05,363 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-28 10:46:05,424 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 10:46:05,425 INFO L225 Difference]: With dead ends: 47 [2022-04-28 10:46:05,425 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 10:46:05,426 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 10:46:05,426 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 10:46:05,427 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 10:46:05,427 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 10:46:05,448 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 40. [2022-04-28 10:46:05,448 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:46:05,448 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 10:46:05,448 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 10:46:05,449 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 10:46:05,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:05,450 INFO L93 Difference]: Finished difference Result 45 states and 58 transitions. [2022-04-28 10:46:05,451 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 58 transitions. [2022-04-28 10:46:05,451 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:05,451 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:05,451 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 10:46:05,452 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 10:46:05,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:05,453 INFO L93 Difference]: Finished difference Result 45 states and 58 transitions. [2022-04-28 10:46:05,453 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 58 transitions. [2022-04-28 10:46:05,454 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:05,454 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:05,454 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:46:05,454 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:46:05,454 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 10:46:05,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 49 transitions. [2022-04-28 10:46:05,456 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 49 transitions. Word has length 34 [2022-04-28 10:46:05,456 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:46:05,456 INFO L495 AbstractCegarLoop]: Abstraction has 40 states and 49 transitions. [2022-04-28 10:46:05,456 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 10:46:05,456 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 49 transitions. [2022-04-28 10:46:05,504 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 10:46:05,504 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 49 transitions. [2022-04-28 10:46:05,505 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 10:46:05,505 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:46:05,505 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 10:46:05,530 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 10:46:05,724 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 10:46:05,724 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:46:05,724 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:46:05,725 INFO L85 PathProgramCache]: Analyzing trace with hash -844413996, now seen corresponding path program 1 times [2022-04-28 10:46:05,725 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:05,725 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1637058213] [2022-04-28 10:46:05,725 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:46:05,725 INFO L85 PathProgramCache]: Analyzing trace with hash -844413996, now seen corresponding path program 2 times [2022-04-28 10:46:05,725 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:46:05,725 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2057377750] [2022-04-28 10:46:05,726 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:46:05,726 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:46:05,740 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:46:05,740 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1496446055] [2022-04-28 10:46:05,740 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:46:05,740 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:46:05,741 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:46:05,741 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 10:46:05,742 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 10:46:05,777 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:46:05,778 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:46:05,778 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 10:46:05,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:46:05,788 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:46:05,981 INFO L272 TraceCheckUtils]: 0: Hoare triple {1154#true} call ULTIMATE.init(); {1154#true} is VALID [2022-04-28 10:46:05,982 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 10:46:05,982 INFO L290 TraceCheckUtils]: 2: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 10:46:05,982 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1154#true} {1154#true} #96#return; {1154#true} is VALID [2022-04-28 10:46:05,982 INFO L272 TraceCheckUtils]: 4: Hoare triple {1154#true} call #t~ret6 := main(); {1154#true} is VALID [2022-04-28 10:46:05,982 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 10:46:05,982 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 10:46:05,982 INFO L290 TraceCheckUtils]: 7: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-28 10:46:05,982 INFO L290 TraceCheckUtils]: 8: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-28 10:46:05,982 INFO L290 TraceCheckUtils]: 9: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 10:46:05,983 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1154#true} {1154#true} #76#return; {1154#true} is VALID [2022-04-28 10:46:05,983 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 10:46:05,983 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 10:46:05,983 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 10:46:05,984 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 10:46:05,984 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 10:46:05,985 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 10:46:05,985 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 10:46:05,985 INFO L290 TraceCheckUtils]: 18: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-28 10:46:05,985 INFO L290 TraceCheckUtils]: 19: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-28 10:46:05,985 INFO L290 TraceCheckUtils]: 20: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 10:46:05,989 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 10:46:05,990 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 10:46:05,990 INFO L290 TraceCheckUtils]: 23: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-28 10:46:05,990 INFO L290 TraceCheckUtils]: 24: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-28 10:46:05,990 INFO L290 TraceCheckUtils]: 25: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 10:46:05,990 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 10:46:05,991 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 10:46:05,993 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 10:46:05,993 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 10:46:05,993 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 10:46:05,993 INFO L290 TraceCheckUtils]: 31: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-28 10:46:05,993 INFO L290 TraceCheckUtils]: 32: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-28 10:46:05,993 INFO L290 TraceCheckUtils]: 33: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 10:46:05,996 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 10:46:05,996 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 10:46:05,997 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 10:46:05,997 INFO L290 TraceCheckUtils]: 37: Hoare triple {1272#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1155#false} is VALID [2022-04-28 10:46:05,997 INFO L290 TraceCheckUtils]: 38: Hoare triple {1155#false} assume !false; {1155#false} is VALID [2022-04-28 10:46:05,997 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 10:46:05,997 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:46:06,174 INFO L290 TraceCheckUtils]: 38: Hoare triple {1155#false} assume !false; {1155#false} is VALID [2022-04-28 10:46:06,175 INFO L290 TraceCheckUtils]: 37: Hoare triple {1272#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1155#false} is VALID [2022-04-28 10:46:06,176 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 10:46:06,176 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 10:46:06,177 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 10:46:06,177 INFO L290 TraceCheckUtils]: 33: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 10:46:06,177 INFO L290 TraceCheckUtils]: 32: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-28 10:46:06,177 INFO L290 TraceCheckUtils]: 31: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-28 10:46:06,177 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 10:46:06,178 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 10:46:06,178 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 10:46:06,178 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 10:46:06,179 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 10:46:06,179 INFO L290 TraceCheckUtils]: 25: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 10:46:06,179 INFO L290 TraceCheckUtils]: 24: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-28 10:46:06,179 INFO L290 TraceCheckUtils]: 23: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-28 10:46:06,179 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 10:46:06,180 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 10:46:06,180 INFO L290 TraceCheckUtils]: 20: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 10:46:06,180 INFO L290 TraceCheckUtils]: 19: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-28 10:46:06,180 INFO L290 TraceCheckUtils]: 18: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-28 10:46:06,180 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 10:46:06,181 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 10:46:06,181 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1154#true} {1154#true} #78#return; {1154#true} is VALID [2022-04-28 10:46:06,181 INFO L290 TraceCheckUtils]: 14: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 10:46:06,181 INFO L290 TraceCheckUtils]: 13: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-28 10:46:06,181 INFO L290 TraceCheckUtils]: 12: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-28 10:46:06,181 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 10:46:06,181 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1154#true} {1154#true} #76#return; {1154#true} is VALID [2022-04-28 10:46:06,182 INFO L290 TraceCheckUtils]: 9: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 10:46:06,182 INFO L290 TraceCheckUtils]: 8: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-28 10:46:06,182 INFO L290 TraceCheckUtils]: 7: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-28 10:46:06,182 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 10:46:06,182 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 10:46:06,182 INFO L272 TraceCheckUtils]: 4: Hoare triple {1154#true} call #t~ret6 := main(); {1154#true} is VALID [2022-04-28 10:46:06,182 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1154#true} {1154#true} #96#return; {1154#true} is VALID [2022-04-28 10:46:06,182 INFO L290 TraceCheckUtils]: 2: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-28 10:46:06,182 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 10:46:06,183 INFO L272 TraceCheckUtils]: 0: Hoare triple {1154#true} call ULTIMATE.init(); {1154#true} is VALID [2022-04-28 10:46:06,183 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 10:46:06,183 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:46:06,183 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2057377750] [2022-04-28 10:46:06,183 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:46:06,183 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1496446055] [2022-04-28 10:46:06,183 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1496446055] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 10:46:06,183 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 10:46:06,183 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-28 10:46:06,184 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:46:06,184 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1637058213] [2022-04-28 10:46:06,184 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1637058213] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:46:06,184 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:46:06,184 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:46:06,184 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1279241822] [2022-04-28 10:46:06,184 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:46:06,184 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 10:46:06,185 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:46:06,185 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 10:46:06,204 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 10:46:06,204 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 10:46:06,204 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:06,204 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 10:46:06,204 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 10:46:06,205 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 10:46:06,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:06,373 INFO L93 Difference]: Finished difference Result 55 states and 69 transitions. [2022-04-28 10:46:06,373 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 10:46:06,373 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 10:46:06,373 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:46:06,373 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 10:46:06,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 10:46:06,374 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 10:46:06,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 10:46:06,376 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-28 10:46:06,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 10:46:06,414 INFO L225 Difference]: With dead ends: 55 [2022-04-28 10:46:06,414 INFO L226 Difference]: Without dead ends: 53 [2022-04-28 10:46:06,414 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 10:46:06,415 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 10:46:06,415 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 10:46:06,416 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-28 10:46:06,446 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 52. [2022-04-28 10:46:06,447 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:46:06,447 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 10:46:06,447 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 10:46:06,447 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 10:46:06,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:06,449 INFO L93 Difference]: Finished difference Result 53 states and 67 transitions. [2022-04-28 10:46:06,449 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 67 transitions. [2022-04-28 10:46:06,450 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:06,450 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:06,450 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 10:46:06,450 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 10:46:06,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:06,452 INFO L93 Difference]: Finished difference Result 53 states and 67 transitions. [2022-04-28 10:46:06,452 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 67 transitions. [2022-04-28 10:46:06,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:06,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:06,453 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:46:06,453 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:46:06,453 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 10:46:06,454 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 66 transitions. [2022-04-28 10:46:06,455 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 66 transitions. Word has length 39 [2022-04-28 10:46:06,455 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:46:06,455 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 66 transitions. [2022-04-28 10:46:06,455 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 10:46:06,455 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 66 transitions. [2022-04-28 10:46:06,518 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 10:46:06,518 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-28 10:46:06,519 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 10:46:06,519 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:46:06,519 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 10:46:06,537 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 10:46:06,735 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 10:46:06,735 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:46:06,735 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:46:06,736 INFO L85 PathProgramCache]: Analyzing trace with hash -644493747, now seen corresponding path program 1 times [2022-04-28 10:46:06,736 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:06,736 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1106412687] [2022-04-28 10:46:06,736 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:46:06,736 INFO L85 PathProgramCache]: Analyzing trace with hash -644493747, now seen corresponding path program 2 times [2022-04-28 10:46:06,736 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:46:06,736 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1732644992] [2022-04-28 10:46:06,736 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:46:06,737 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:46:06,754 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:46:06,754 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [381669319] [2022-04-28 10:46:06,754 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:46:06,754 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:46:06,754 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:46:06,755 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 10:46:06,756 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 10:46:06,793 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:46:06,793 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:46:06,794 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 10:46:06,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:46:06,804 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:46:07,027 INFO L272 TraceCheckUtils]: 0: Hoare triple {1718#true} call ULTIMATE.init(); {1718#true} is VALID [2022-04-28 10:46:07,028 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 10:46:07,028 INFO L290 TraceCheckUtils]: 2: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 10:46:07,028 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1718#true} {1718#true} #96#return; {1718#true} is VALID [2022-04-28 10:46:07,028 INFO L272 TraceCheckUtils]: 4: Hoare triple {1718#true} call #t~ret6 := main(); {1718#true} is VALID [2022-04-28 10:46:07,028 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 10:46:07,028 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 10:46:07,029 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 10:46:07,029 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 10:46:07,029 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 10:46:07,030 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 10:46:07,030 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 10:46:07,030 INFO L290 TraceCheckUtils]: 12: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 10:46:07,030 INFO L290 TraceCheckUtils]: 13: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 10:46:07,030 INFO L290 TraceCheckUtils]: 14: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 10:46:07,034 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 10:46:07,035 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 10:46:07,035 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 10:46:07,035 INFO L290 TraceCheckUtils]: 18: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 10:46:07,036 INFO L290 TraceCheckUtils]: 19: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 10:46:07,036 INFO L290 TraceCheckUtils]: 20: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 10:46:07,036 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 10:46:07,036 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 10:46:07,036 INFO L290 TraceCheckUtils]: 23: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 10:46:07,037 INFO L290 TraceCheckUtils]: 24: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 10:46:07,037 INFO L290 TraceCheckUtils]: 25: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 10:46:07,037 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 10:46:07,038 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 10:46:07,038 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 10:46:07,038 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 10:46:07,039 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 10:46:07,039 INFO L290 TraceCheckUtils]: 31: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 10:46:07,039 INFO L290 TraceCheckUtils]: 32: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 10:46:07,039 INFO L290 TraceCheckUtils]: 33: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 10:46:07,040 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 10:46:07,040 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 10:46:07,040 INFO L290 TraceCheckUtils]: 36: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 10:46:07,040 INFO L290 TraceCheckUtils]: 37: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 10:46:07,040 INFO L290 TraceCheckUtils]: 38: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 10:46:07,041 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 10:46:07,041 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 10:46:07,042 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 10:46:07,042 INFO L290 TraceCheckUtils]: 42: Hoare triple {1851#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1719#false} is VALID [2022-04-28 10:46:07,042 INFO L290 TraceCheckUtils]: 43: Hoare triple {1719#false} assume !false; {1719#false} is VALID [2022-04-28 10:46:07,042 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 10:46:07,042 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:46:07,247 INFO L290 TraceCheckUtils]: 43: Hoare triple {1719#false} assume !false; {1719#false} is VALID [2022-04-28 10:46:07,247 INFO L290 TraceCheckUtils]: 42: Hoare triple {1851#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1719#false} is VALID [2022-04-28 10:46:07,248 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 10:46:07,248 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 10:46:07,249 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 10:46:07,249 INFO L290 TraceCheckUtils]: 38: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 10:46:07,249 INFO L290 TraceCheckUtils]: 37: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 10:46:07,249 INFO L290 TraceCheckUtils]: 36: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 10:46:07,249 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 10:46:07,250 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 10:46:07,250 INFO L290 TraceCheckUtils]: 33: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 10:46:07,250 INFO L290 TraceCheckUtils]: 32: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 10:46:07,250 INFO L290 TraceCheckUtils]: 31: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 10:46:07,250 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 10:46:07,251 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 10:46:07,251 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 10:46:07,251 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 10:46:07,252 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 10:46:07,252 INFO L290 TraceCheckUtils]: 25: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 10:46:07,252 INFO L290 TraceCheckUtils]: 24: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 10:46:07,252 INFO L290 TraceCheckUtils]: 23: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 10:46:07,252 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 10:46:07,253 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 10:46:07,253 INFO L290 TraceCheckUtils]: 20: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 10:46:07,253 INFO L290 TraceCheckUtils]: 19: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 10:46:07,253 INFO L290 TraceCheckUtils]: 18: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 10:46:07,253 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 10:46:07,254 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 10:46:07,254 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1718#true} {1718#true} #78#return; {1718#true} is VALID [2022-04-28 10:46:07,254 INFO L290 TraceCheckUtils]: 14: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 10:46:07,254 INFO L290 TraceCheckUtils]: 13: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 10:46:07,255 INFO L290 TraceCheckUtils]: 12: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 10:46:07,255 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 10:46:07,255 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1718#true} {1718#true} #76#return; {1718#true} is VALID [2022-04-28 10:46:07,255 INFO L290 TraceCheckUtils]: 9: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 10:46:07,255 INFO L290 TraceCheckUtils]: 8: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-28 10:46:07,255 INFO L290 TraceCheckUtils]: 7: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-28 10:46:07,255 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 10:46:07,255 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 10:46:07,255 INFO L272 TraceCheckUtils]: 4: Hoare triple {1718#true} call #t~ret6 := main(); {1718#true} is VALID [2022-04-28 10:46:07,255 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1718#true} {1718#true} #96#return; {1718#true} is VALID [2022-04-28 10:46:07,256 INFO L290 TraceCheckUtils]: 2: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-28 10:46:07,256 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 10:46:07,256 INFO L272 TraceCheckUtils]: 0: Hoare triple {1718#true} call ULTIMATE.init(); {1718#true} is VALID [2022-04-28 10:46:07,256 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 10:46:07,256 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:46:07,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1732644992] [2022-04-28 10:46:07,256 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:46:07,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [381669319] [2022-04-28 10:46:07,256 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [381669319] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 10:46:07,257 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 10:46:07,257 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-28 10:46:07,257 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:46:07,257 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1106412687] [2022-04-28 10:46:07,257 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1106412687] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:46:07,257 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:46:07,257 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:46:07,257 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1123536759] [2022-04-28 10:46:07,257 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:46:07,258 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 10:46:07,258 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:46:07,258 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 10:46:07,279 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 10:46:07,279 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 10:46:07,279 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:07,280 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 10:46:07,280 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 10:46:07,280 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 10:46:07,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:07,474 INFO L93 Difference]: Finished difference Result 59 states and 72 transitions. [2022-04-28 10:46:07,474 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 10:46:07,475 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 10:46:07,475 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:46:07,475 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 10:46:07,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 10:46:07,476 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 10:46:07,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 10:46:07,477 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-28 10:46:07,522 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 10:46:07,523 INFO L225 Difference]: With dead ends: 59 [2022-04-28 10:46:07,523 INFO L226 Difference]: Without dead ends: 57 [2022-04-28 10:46:07,524 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 10:46:07,524 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 10:46:07,524 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 10:46:07,525 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-28 10:46:07,563 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 56. [2022-04-28 10:46:07,563 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:46:07,564 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 10:46:07,564 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 10:46:07,564 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 10:46:07,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:07,566 INFO L93 Difference]: Finished difference Result 57 states and 70 transitions. [2022-04-28 10:46:07,566 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 70 transitions. [2022-04-28 10:46:07,566 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:07,566 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:07,566 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 10:46:07,567 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 10:46:07,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:07,568 INFO L93 Difference]: Finished difference Result 57 states and 70 transitions. [2022-04-28 10:46:07,568 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 70 transitions. [2022-04-28 10:46:07,569 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:07,569 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:07,569 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:46:07,569 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:46:07,569 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 10:46:07,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 69 transitions. [2022-04-28 10:46:07,570 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 69 transitions. Word has length 44 [2022-04-28 10:46:07,571 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:46:07,571 INFO L495 AbstractCegarLoop]: Abstraction has 56 states and 69 transitions. [2022-04-28 10:46:07,571 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 10:46:07,571 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 69 transitions. [2022-04-28 10:46:07,632 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 10:46:07,632 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 69 transitions. [2022-04-28 10:46:07,633 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 10:46:07,633 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:46:07,633 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 10:46:07,651 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 10:46:07,840 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 10:46:07,840 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:46:07,841 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:46:07,841 INFO L85 PathProgramCache]: Analyzing trace with hash -79102156, now seen corresponding path program 1 times [2022-04-28 10:46:07,841 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:07,841 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1092829318] [2022-04-28 10:46:07,841 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:46:07,841 INFO L85 PathProgramCache]: Analyzing trace with hash -79102156, now seen corresponding path program 2 times [2022-04-28 10:46:07,841 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:46:07,841 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1823463259] [2022-04-28 10:46:07,842 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:46:07,842 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:46:07,854 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:46:07,854 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [739243396] [2022-04-28 10:46:07,854 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:46:07,854 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:46:07,855 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:46:07,858 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 10:46:07,858 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 10:46:07,897 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:46:07,897 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:46:07,898 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 10:46:07,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:46:07,914 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:46:12,072 INFO L272 TraceCheckUtils]: 0: Hoare triple {2336#true} call ULTIMATE.init(); {2336#true} is VALID [2022-04-28 10:46:12,073 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 10:46:12,073 INFO L290 TraceCheckUtils]: 2: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-28 10:46:12,073 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2336#true} {2336#true} #96#return; {2336#true} is VALID [2022-04-28 10:46:12,073 INFO L272 TraceCheckUtils]: 4: Hoare triple {2336#true} call #t~ret6 := main(); {2336#true} is VALID [2022-04-28 10:46:12,073 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 10:46:12,073 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 10:46:12,073 INFO L290 TraceCheckUtils]: 7: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-28 10:46:12,073 INFO L290 TraceCheckUtils]: 8: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-28 10:46:12,073 INFO L290 TraceCheckUtils]: 9: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-28 10:46:12,073 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2336#true} {2336#true} #76#return; {2336#true} is VALID [2022-04-28 10:46:12,074 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 10:46:12,074 INFO L290 TraceCheckUtils]: 12: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-28 10:46:12,074 INFO L290 TraceCheckUtils]: 13: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-28 10:46:12,074 INFO L290 TraceCheckUtils]: 14: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-28 10:46:12,074 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2336#true} {2336#true} #78#return; {2336#true} is VALID [2022-04-28 10:46:12,074 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 10:46:12,075 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 10:46:12,075 INFO L290 TraceCheckUtils]: 18: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-28 10:46:12,075 INFO L290 TraceCheckUtils]: 19: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-28 10:46:12,075 INFO L290 TraceCheckUtils]: 20: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-28 10:46:12,076 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 10:46:12,076 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 10:46:12,076 INFO L290 TraceCheckUtils]: 23: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-28 10:46:12,076 INFO L290 TraceCheckUtils]: 24: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-28 10:46:12,076 INFO L290 TraceCheckUtils]: 25: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-28 10:46:12,076 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 10:46:12,077 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 10:46:12,077 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 10:46:12,078 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 10:46:12,078 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 10:46:12,078 INFO L290 TraceCheckUtils]: 31: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-28 10:46:12,078 INFO L290 TraceCheckUtils]: 32: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-28 10:46:12,078 INFO L290 TraceCheckUtils]: 33: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-28 10:46:12,079 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 10:46:12,079 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 10:46:12,079 INFO L290 TraceCheckUtils]: 36: Hoare triple {2336#true} ~cond := #in~cond; {2450#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:46:12,079 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 10:46:12,080 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 10:46:12,081 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 10:46:12,081 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 10:46:12,081 INFO L290 TraceCheckUtils]: 41: Hoare triple {2336#true} ~cond := #in~cond; {2450#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:46:12,081 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 10:46:12,082 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 10:46:12,082 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 10:46:12,083 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 10:46:12,083 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 10:46:12,084 INFO L290 TraceCheckUtils]: 47: Hoare triple {2483#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2337#false} is VALID [2022-04-28 10:46:12,084 INFO L290 TraceCheckUtils]: 48: Hoare triple {2337#false} assume !false; {2337#false} is VALID [2022-04-28 10:46:12,084 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 10:46:12,084 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:47:10,635 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:47:10,635 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1823463259] [2022-04-28 10:47:10,636 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:47:10,636 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [739243396] [2022-04-28 10:47:10,636 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [739243396] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:47:10,636 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 10:47:10,636 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2022-04-28 10:47:10,636 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:47:10,636 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1092829318] [2022-04-28 10:47:10,636 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1092829318] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:47:10,636 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:47:10,636 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 10:47:10,636 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [109580273] [2022-04-28 10:47:10,636 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:47:10,637 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 10:47:10,637 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:47:10,637 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 10:47:10,665 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 10:47:10,665 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 10:47:10,665 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:10,666 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 10:47:10,666 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 10:47:10,666 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 10:47:11,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:11,014 INFO L93 Difference]: Finished difference Result 63 states and 75 transitions. [2022-04-28 10:47:11,014 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 10:47:11,014 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 10:47:11,014 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:47:11,014 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 10:47:11,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 10:47:11,016 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 10:47:11,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 10:47:11,016 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-28 10:47:11,064 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 10:47:11,065 INFO L225 Difference]: With dead ends: 63 [2022-04-28 10:47:11,065 INFO L226 Difference]: Without dead ends: 61 [2022-04-28 10:47:11,065 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 10:47:11,066 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 10:47:11,066 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 10:47:11,066 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-28 10:47:11,111 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 60. [2022-04-28 10:47:11,111 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:47:11,112 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 10:47:11,112 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 10:47:11,112 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 10:47:11,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:11,115 INFO L93 Difference]: Finished difference Result 61 states and 73 transitions. [2022-04-28 10:47:11,116 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 73 transitions. [2022-04-28 10:47:11,116 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:11,116 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:11,116 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 10:47:11,116 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 10:47:11,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:11,118 INFO L93 Difference]: Finished difference Result 61 states and 73 transitions. [2022-04-28 10:47:11,118 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 73 transitions. [2022-04-28 10:47:11,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:11,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:11,118 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:47:11,118 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:47:11,118 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 10:47:11,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 72 transitions. [2022-04-28 10:47:11,120 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 72 transitions. Word has length 49 [2022-04-28 10:47:11,120 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:47:11,120 INFO L495 AbstractCegarLoop]: Abstraction has 60 states and 72 transitions. [2022-04-28 10:47:11,120 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 10:47:11,120 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 60 states and 72 transitions. [2022-04-28 10:47:11,207 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 10:47:11,207 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 72 transitions. [2022-04-28 10:47:11,208 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-28 10:47:11,208 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:47:11,208 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 10:47:11,227 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 10:47:11,415 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 10:47:11,415 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:47:11,416 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:47:11,416 INFO L85 PathProgramCache]: Analyzing trace with hash -2126113716, now seen corresponding path program 1 times [2022-04-28 10:47:11,416 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:11,416 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [453519917] [2022-04-28 10:47:11,416 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:47:11,416 INFO L85 PathProgramCache]: Analyzing trace with hash -2126113716, now seen corresponding path program 2 times [2022-04-28 10:47:11,416 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:47:11,416 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1147575635] [2022-04-28 10:47:11,417 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:47:11,417 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:47:11,427 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:47:11,427 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [100686456] [2022-04-28 10:47:11,428 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:47:11,428 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:47:11,428 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:47:11,431 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 10:47:11,432 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 10:47:11,487 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:47:11,488 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:47:11,488 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 10:47:11,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:47:11,498 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:47:11,661 INFO L272 TraceCheckUtils]: 0: Hoare triple {2878#true} call ULTIMATE.init(); {2878#true} is VALID [2022-04-28 10:47:11,662 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 10:47:11,662 INFO L290 TraceCheckUtils]: 2: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 10:47:11,662 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2878#true} {2878#true} #96#return; {2878#true} is VALID [2022-04-28 10:47:11,662 INFO L272 TraceCheckUtils]: 4: Hoare triple {2878#true} call #t~ret6 := main(); {2878#true} is VALID [2022-04-28 10:47:11,662 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 10:47:11,662 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 10:47:11,662 INFO L290 TraceCheckUtils]: 7: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 10:47:11,662 INFO L290 TraceCheckUtils]: 8: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 10:47:11,662 INFO L290 TraceCheckUtils]: 9: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 10:47:11,662 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2878#true} {2878#true} #76#return; {2878#true} is VALID [2022-04-28 10:47:11,663 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 10:47:11,663 INFO L290 TraceCheckUtils]: 12: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 10:47:11,663 INFO L290 TraceCheckUtils]: 13: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 10:47:11,663 INFO L290 TraceCheckUtils]: 14: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 10:47:11,663 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2878#true} {2878#true} #78#return; {2878#true} is VALID [2022-04-28 10:47:11,663 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 10:47:11,663 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 10:47:11,663 INFO L290 TraceCheckUtils]: 18: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 10:47:11,663 INFO L290 TraceCheckUtils]: 19: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 10:47:11,663 INFO L290 TraceCheckUtils]: 20: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 10:47:11,663 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2878#true} {2878#true} #80#return; {2878#true} is VALID [2022-04-28 10:47:11,664 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 10:47:11,664 INFO L290 TraceCheckUtils]: 23: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 10:47:11,672 INFO L290 TraceCheckUtils]: 24: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 10:47:11,673 INFO L290 TraceCheckUtils]: 25: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 10:47:11,673 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2878#true} {2878#true} #82#return; {2878#true} is VALID [2022-04-28 10:47:11,673 INFO L290 TraceCheckUtils]: 27: Hoare triple {2878#true} assume !false; {2878#true} is VALID [2022-04-28 10:47:11,673 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 10:47:11,674 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 10:47:11,675 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 10:47:11,675 INFO L290 TraceCheckUtils]: 31: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 10:47:11,675 INFO L290 TraceCheckUtils]: 32: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 10:47:11,675 INFO L290 TraceCheckUtils]: 33: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 10:47:11,676 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 10:47:11,676 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 10:47:11,676 INFO L290 TraceCheckUtils]: 36: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 10:47:11,676 INFO L290 TraceCheckUtils]: 37: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 10:47:11,676 INFO L290 TraceCheckUtils]: 38: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 10:47:11,677 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 10:47:11,677 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 10:47:11,677 INFO L290 TraceCheckUtils]: 41: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 10:47:11,677 INFO L290 TraceCheckUtils]: 42: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 10:47:11,677 INFO L290 TraceCheckUtils]: 43: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 10:47:11,678 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 10:47:11,678 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 10:47:11,678 INFO L290 TraceCheckUtils]: 46: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 10:47:11,678 INFO L290 TraceCheckUtils]: 47: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 10:47:11,678 INFO L290 TraceCheckUtils]: 48: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 10:47:11,679 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 10:47:11,680 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 10:47:11,680 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 10:47:11,681 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 10:47:11,681 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 10:47:11,681 INFO L290 TraceCheckUtils]: 54: Hoare triple {3045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2879#false} is VALID [2022-04-28 10:47:11,681 INFO L290 TraceCheckUtils]: 55: Hoare triple {2879#false} assume !false; {2879#false} is VALID [2022-04-28 10:47:11,682 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 10:47:11,682 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:47:26,014 INFO L290 TraceCheckUtils]: 55: Hoare triple {2879#false} assume !false; {2879#false} is VALID [2022-04-28 10:47:26,015 INFO L290 TraceCheckUtils]: 54: Hoare triple {3045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2879#false} is VALID [2022-04-28 10:47:26,015 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 10:47:26,016 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 10:47:26,016 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 10:47:26,017 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 10:47:26,017 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 10:47:26,018 INFO L290 TraceCheckUtils]: 48: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 10:47:26,018 INFO L290 TraceCheckUtils]: 47: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 10:47:26,018 INFO L290 TraceCheckUtils]: 46: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 10:47:26,018 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 10:47:26,019 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 10:47:26,019 INFO L290 TraceCheckUtils]: 43: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 10:47:26,020 INFO L290 TraceCheckUtils]: 42: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 10:47:26,020 INFO L290 TraceCheckUtils]: 41: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 10:47:26,020 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 10:47:26,023 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 10:47:26,023 INFO L290 TraceCheckUtils]: 38: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 10:47:26,023 INFO L290 TraceCheckUtils]: 37: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 10:47:26,024 INFO L290 TraceCheckUtils]: 36: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 10:47:26,024 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 10:47:26,024 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 10:47:26,024 INFO L290 TraceCheckUtils]: 33: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 10:47:26,024 INFO L290 TraceCheckUtils]: 32: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 10:47:26,024 INFO L290 TraceCheckUtils]: 31: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 10:47:26,024 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 10:47:26,025 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 10:47:26,025 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 10:47:26,025 INFO L290 TraceCheckUtils]: 27: Hoare triple {2878#true} assume !false; {2878#true} is VALID [2022-04-28 10:47:26,025 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2878#true} {2878#true} #82#return; {2878#true} is VALID [2022-04-28 10:47:26,025 INFO L290 TraceCheckUtils]: 25: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 10:47:26,025 INFO L290 TraceCheckUtils]: 24: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 10:47:26,025 INFO L290 TraceCheckUtils]: 23: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 10:47:26,026 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 10:47:26,026 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2878#true} {2878#true} #80#return; {2878#true} is VALID [2022-04-28 10:47:26,026 INFO L290 TraceCheckUtils]: 20: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 10:47:26,026 INFO L290 TraceCheckUtils]: 19: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 10:47:26,026 INFO L290 TraceCheckUtils]: 18: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 10:47:26,026 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 10:47:26,026 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 10:47:26,026 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2878#true} {2878#true} #78#return; {2878#true} is VALID [2022-04-28 10:47:26,026 INFO L290 TraceCheckUtils]: 14: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 10:47:26,026 INFO L290 TraceCheckUtils]: 13: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 10:47:26,026 INFO L290 TraceCheckUtils]: 12: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 10:47:26,026 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 10:47:26,027 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2878#true} {2878#true} #76#return; {2878#true} is VALID [2022-04-28 10:47:26,027 INFO L290 TraceCheckUtils]: 9: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 10:47:26,027 INFO L290 TraceCheckUtils]: 8: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-28 10:47:26,027 INFO L290 TraceCheckUtils]: 7: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-28 10:47:26,027 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 10:47:26,027 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 10:47:26,027 INFO L272 TraceCheckUtils]: 4: Hoare triple {2878#true} call #t~ret6 := main(); {2878#true} is VALID [2022-04-28 10:47:26,027 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2878#true} {2878#true} #96#return; {2878#true} is VALID [2022-04-28 10:47:26,027 INFO L290 TraceCheckUtils]: 2: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-28 10:47:26,027 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 10:47:26,027 INFO L272 TraceCheckUtils]: 0: Hoare triple {2878#true} call ULTIMATE.init(); {2878#true} is VALID [2022-04-28 10:47:26,027 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 10:47:26,028 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:47:26,028 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1147575635] [2022-04-28 10:47:26,028 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:47:26,028 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [100686456] [2022-04-28 10:47:26,028 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [100686456] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:47:26,028 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:47:26,028 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-28 10:47:26,028 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:47:26,028 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [453519917] [2022-04-28 10:47:26,028 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [453519917] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:47:26,028 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:47:26,028 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 10:47:26,029 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1316458252] [2022-04-28 10:47:26,029 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:47:26,029 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 10:47:26,029 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:47:26,029 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 10:47:26,056 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 10:47:26,057 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 10:47:26,057 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:26,057 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 10:47:26,057 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 10:47:26,057 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 10:47:26,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:26,378 INFO L93 Difference]: Finished difference Result 88 states and 117 transitions. [2022-04-28 10:47:26,378 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 10:47:26,378 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 10:47:26,379 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:47:26,379 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 10:47:26,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-28 10:47:26,380 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 10:47:26,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-28 10:47:26,381 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 70 transitions. [2022-04-28 10:47:26,436 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 10:47:26,437 INFO L225 Difference]: With dead ends: 88 [2022-04-28 10:47:26,438 INFO L226 Difference]: Without dead ends: 86 [2022-04-28 10:47:26,438 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 10:47:26,439 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 10:47:26,439 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 10:47:26,439 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-28 10:47:26,510 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 76. [2022-04-28 10:47:26,510 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:47:26,510 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 10:47:26,510 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 10:47:26,510 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 10:47:26,514 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:26,514 INFO L93 Difference]: Finished difference Result 86 states and 115 transitions. [2022-04-28 10:47:26,514 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 115 transitions. [2022-04-28 10:47:26,516 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:26,516 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:26,516 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 10:47:26,516 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 10:47:26,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:26,518 INFO L93 Difference]: Finished difference Result 86 states and 115 transitions. [2022-04-28 10:47:26,519 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 115 transitions. [2022-04-28 10:47:26,519 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:26,519 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:26,519 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:47:26,519 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:47:26,519 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 10:47:26,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 97 transitions. [2022-04-28 10:47:26,523 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 97 transitions. Word has length 56 [2022-04-28 10:47:26,523 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:47:26,523 INFO L495 AbstractCegarLoop]: Abstraction has 76 states and 97 transitions. [2022-04-28 10:47:26,523 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 10:47:26,523 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 97 transitions. [2022-04-28 10:47:26,649 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 10:47:26,649 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 97 transitions. [2022-04-28 10:47:26,649 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-28 10:47:26,649 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:47:26,649 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 10:47:26,668 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 10:47:26,865 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 10:47:26,865 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:47:26,866 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:47:26,866 INFO L85 PathProgramCache]: Analyzing trace with hash -1051433450, now seen corresponding path program 1 times [2022-04-28 10:47:26,866 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:26,866 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [427668596] [2022-04-28 10:47:26,866 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:47:26,866 INFO L85 PathProgramCache]: Analyzing trace with hash -1051433450, now seen corresponding path program 2 times [2022-04-28 10:47:26,866 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:47:26,866 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [333381186] [2022-04-28 10:47:26,866 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:47:26,867 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:47:26,878 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:47:26,878 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1750565381] [2022-04-28 10:47:26,878 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:47:26,878 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:47:26,878 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:47:26,898 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 10:47:26,899 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 10:47:26,954 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:47:26,954 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:47:26,954 INFO L263 TraceCheckSpWp]: Trace formula consists of 173 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 10:47:26,963 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:47:26,966 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:47:27,173 INFO L272 TraceCheckUtils]: 0: Hoare triple {3722#true} call ULTIMATE.init(); {3722#true} is VALID [2022-04-28 10:47:27,174 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 10:47:27,174 INFO L290 TraceCheckUtils]: 2: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 10:47:27,174 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3722#true} {3722#true} #96#return; {3722#true} is VALID [2022-04-28 10:47:27,174 INFO L272 TraceCheckUtils]: 4: Hoare triple {3722#true} call #t~ret6 := main(); {3722#true} is VALID [2022-04-28 10:47:27,174 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 10:47:27,174 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 10:47:27,174 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 10:47:27,175 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 10:47:27,175 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 10:47:27,175 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 10:47:27,175 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 10:47:27,175 INFO L290 TraceCheckUtils]: 12: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 10:47:27,175 INFO L290 TraceCheckUtils]: 13: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 10:47:27,175 INFO L290 TraceCheckUtils]: 14: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 10:47:27,176 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 10:47:27,176 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 10:47:27,176 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 10:47:27,176 INFO L290 TraceCheckUtils]: 18: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 10:47:27,176 INFO L290 TraceCheckUtils]: 19: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 10:47:27,177 INFO L290 TraceCheckUtils]: 20: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 10:47:27,177 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 10:47:27,177 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 10:47:27,177 INFO L290 TraceCheckUtils]: 23: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 10:47:27,179 INFO L290 TraceCheckUtils]: 24: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 10:47:27,179 INFO L290 TraceCheckUtils]: 25: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 10:47:27,179 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 10:47:27,179 INFO L290 TraceCheckUtils]: 27: Hoare triple {3778#(<= 1 main_~a~0)} assume !false; {3778#(<= 1 main_~a~0)} is VALID [2022-04-28 10:47:27,181 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 10:47:27,181 INFO L290 TraceCheckUtils]: 29: Hoare triple {3815#(<= 1 main_~c~0)} assume !false; {3815#(<= 1 main_~c~0)} is VALID [2022-04-28 10:47:27,181 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 10:47:27,181 INFO L290 TraceCheckUtils]: 31: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 10:47:27,181 INFO L290 TraceCheckUtils]: 32: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 10:47:27,181 INFO L290 TraceCheckUtils]: 33: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 10:47:27,182 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 10:47:27,182 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 10:47:27,184 INFO L290 TraceCheckUtils]: 36: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 10:47:27,184 INFO L290 TraceCheckUtils]: 37: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 10:47:27,184 INFO L290 TraceCheckUtils]: 38: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 10:47:27,184 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 10:47:27,184 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 10:47:27,184 INFO L290 TraceCheckUtils]: 41: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 10:47:27,184 INFO L290 TraceCheckUtils]: 42: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 10:47:27,185 INFO L290 TraceCheckUtils]: 43: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 10:47:27,185 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 10:47:27,185 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 10:47:27,185 INFO L290 TraceCheckUtils]: 46: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 10:47:27,185 INFO L290 TraceCheckUtils]: 47: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 10:47:27,185 INFO L290 TraceCheckUtils]: 48: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 10:47:27,186 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 10:47:27,186 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 10:47:27,186 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 10:47:27,187 INFO L290 TraceCheckUtils]: 52: Hoare triple {3885#(<= 1 main_~b~0)} assume !false; {3885#(<= 1 main_~b~0)} is VALID [2022-04-28 10:47:27,187 INFO L290 TraceCheckUtils]: 53: Hoare triple {3885#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3723#false} is VALID [2022-04-28 10:47:27,187 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 10:47:27,187 INFO L290 TraceCheckUtils]: 55: Hoare triple {3723#false} ~cond := #in~cond; {3723#false} is VALID [2022-04-28 10:47:27,187 INFO L290 TraceCheckUtils]: 56: Hoare triple {3723#false} assume 0 == ~cond; {3723#false} is VALID [2022-04-28 10:47:27,187 INFO L290 TraceCheckUtils]: 57: Hoare triple {3723#false} assume !false; {3723#false} is VALID [2022-04-28 10:47:27,187 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 10:47:27,187 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:47:27,455 INFO L290 TraceCheckUtils]: 57: Hoare triple {3723#false} assume !false; {3723#false} is VALID [2022-04-28 10:47:27,456 INFO L290 TraceCheckUtils]: 56: Hoare triple {3723#false} assume 0 == ~cond; {3723#false} is VALID [2022-04-28 10:47:27,456 INFO L290 TraceCheckUtils]: 55: Hoare triple {3723#false} ~cond := #in~cond; {3723#false} is VALID [2022-04-28 10:47:27,456 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 10:47:27,456 INFO L290 TraceCheckUtils]: 53: Hoare triple {3885#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3723#false} is VALID [2022-04-28 10:47:27,456 INFO L290 TraceCheckUtils]: 52: Hoare triple {3885#(<= 1 main_~b~0)} assume !false; {3885#(<= 1 main_~b~0)} is VALID [2022-04-28 10:47:27,457 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 10:47:27,457 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 10:47:27,458 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 10:47:27,458 INFO L290 TraceCheckUtils]: 48: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 10:47:27,458 INFO L290 TraceCheckUtils]: 47: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 10:47:27,458 INFO L290 TraceCheckUtils]: 46: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 10:47:27,458 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 10:47:27,459 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 10:47:27,459 INFO L290 TraceCheckUtils]: 43: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 10:47:27,459 INFO L290 TraceCheckUtils]: 42: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 10:47:27,459 INFO L290 TraceCheckUtils]: 41: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 10:47:27,459 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 10:47:27,460 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 10:47:27,460 INFO L290 TraceCheckUtils]: 38: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 10:47:27,460 INFO L290 TraceCheckUtils]: 37: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 10:47:27,460 INFO L290 TraceCheckUtils]: 36: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 10:47:27,460 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 10:47:27,461 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 10:47:27,461 INFO L290 TraceCheckUtils]: 33: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 10:47:27,461 INFO L290 TraceCheckUtils]: 32: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 10:47:27,461 INFO L290 TraceCheckUtils]: 31: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 10:47:27,461 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 10:47:27,461 INFO L290 TraceCheckUtils]: 29: Hoare triple {3815#(<= 1 main_~c~0)} assume !false; {3815#(<= 1 main_~c~0)} is VALID [2022-04-28 10:47:27,461 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 10:47:27,462 INFO L290 TraceCheckUtils]: 27: Hoare triple {3778#(<= 1 main_~a~0)} assume !false; {3778#(<= 1 main_~a~0)} is VALID [2022-04-28 10:47:27,462 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 10:47:27,462 INFO L290 TraceCheckUtils]: 25: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 10:47:27,462 INFO L290 TraceCheckUtils]: 24: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 10:47:27,462 INFO L290 TraceCheckUtils]: 23: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 10:47:27,463 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 10:47:27,463 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 10:47:27,463 INFO L290 TraceCheckUtils]: 20: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 10:47:27,463 INFO L290 TraceCheckUtils]: 19: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 10:47:27,463 INFO L290 TraceCheckUtils]: 18: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 10:47:27,463 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 10:47:27,464 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 10:47:27,464 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 10:47:27,464 INFO L290 TraceCheckUtils]: 14: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 10:47:27,464 INFO L290 TraceCheckUtils]: 13: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-28 10:47:27,464 INFO L290 TraceCheckUtils]: 12: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-28 10:47:27,464 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 10:47:27,465 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 10:47:27,465 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 10:47:27,466 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 10:47:27,466 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 10:47:27,466 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 10:47:27,466 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 10:47:27,466 INFO L272 TraceCheckUtils]: 4: Hoare triple {3722#true} call #t~ret6 := main(); {3722#true} is VALID [2022-04-28 10:47:27,466 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3722#true} {3722#true} #96#return; {3722#true} is VALID [2022-04-28 10:47:27,466 INFO L290 TraceCheckUtils]: 2: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-28 10:47:27,466 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 10:47:27,466 INFO L272 TraceCheckUtils]: 0: Hoare triple {3722#true} call ULTIMATE.init(); {3722#true} is VALID [2022-04-28 10:47:27,467 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 10:47:27,467 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:47:27,467 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [333381186] [2022-04-28 10:47:27,467 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:47:27,467 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1750565381] [2022-04-28 10:47:27,467 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1750565381] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:47:27,467 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:47:27,467 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 10:47:27,467 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:47:27,467 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [427668596] [2022-04-28 10:47:27,467 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [427668596] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:47:27,468 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:47:27,468 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 10:47:27,468 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [395130897] [2022-04-28 10:47:27,468 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:47:27,468 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 10:47:27,468 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:47:27,468 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 10:47:27,499 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 10:47:27,499 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 10:47:27,499 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:27,499 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 10:47:27,499 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 10:47:27,500 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 10:47:28,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:28,223 INFO L93 Difference]: Finished difference Result 121 states and 167 transitions. [2022-04-28 10:47:28,223 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 10:47:28,224 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 10:47:28,224 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:47:28,224 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 10:47:28,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 105 transitions. [2022-04-28 10:47:28,226 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 10:47:28,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 105 transitions. [2022-04-28 10:47:28,229 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 105 transitions. [2022-04-28 10:47:28,311 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 10:47:28,320 INFO L225 Difference]: With dead ends: 121 [2022-04-28 10:47:28,320 INFO L226 Difference]: Without dead ends: 113 [2022-04-28 10:47:28,320 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 10:47:28,321 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 10:47:28,321 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 10:47:28,321 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2022-04-28 10:47:28,463 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 102. [2022-04-28 10:47:28,463 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:47:28,464 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 10:47:28,470 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 10:47:28,471 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 10:47:28,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:28,490 INFO L93 Difference]: Finished difference Result 113 states and 158 transitions. [2022-04-28 10:47:28,490 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 158 transitions. [2022-04-28 10:47:28,490 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:28,490 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:28,491 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 10:47:28,491 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 10:47:28,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:28,494 INFO L93 Difference]: Finished difference Result 113 states and 158 transitions. [2022-04-28 10:47:28,494 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 158 transitions. [2022-04-28 10:47:28,495 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:28,495 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:28,495 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:47:28,495 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:47:28,495 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 10:47:28,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 140 transitions. [2022-04-28 10:47:28,498 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 140 transitions. Word has length 58 [2022-04-28 10:47:28,498 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:47:28,498 INFO L495 AbstractCegarLoop]: Abstraction has 102 states and 140 transitions. [2022-04-28 10:47:28,498 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 10:47:28,498 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 102 states and 140 transitions. [2022-04-28 10:47:28,690 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 10:47:28,690 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 140 transitions. [2022-04-28 10:47:28,691 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-28 10:47:28,691 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:47:28,691 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 10:47:28,709 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 10:47:28,899 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 10:47:28,900 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:47:28,900 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:47:28,900 INFO L85 PathProgramCache]: Analyzing trace with hash 998199389, now seen corresponding path program 1 times [2022-04-28 10:47:28,900 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:28,900 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [788440538] [2022-04-28 10:47:28,900 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:47:28,901 INFO L85 PathProgramCache]: Analyzing trace with hash 998199389, now seen corresponding path program 2 times [2022-04-28 10:47:28,901 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:47:28,901 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [667598546] [2022-04-28 10:47:28,901 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:47:28,901 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:47:28,916 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:47:28,917 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [643414540] [2022-04-28 10:47:28,917 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:47:28,917 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:47:28,917 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:47:28,918 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 10:47:28,919 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 10:47:28,959 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:47:28,959 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:47:28,960 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 10:47:28,969 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:47:28,970 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:47:31,991 INFO L272 TraceCheckUtils]: 0: Hoare triple {4760#true} call ULTIMATE.init(); {4760#true} is VALID [2022-04-28 10:47:31,991 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 10:47:31,991 INFO L290 TraceCheckUtils]: 2: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 10:47:31,992 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4760#true} {4760#true} #96#return; {4760#true} is VALID [2022-04-28 10:47:31,992 INFO L272 TraceCheckUtils]: 4: Hoare triple {4760#true} call #t~ret6 := main(); {4760#true} is VALID [2022-04-28 10:47:31,992 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 10:47:31,992 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 10:47:31,992 INFO L290 TraceCheckUtils]: 7: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 10:47:31,992 INFO L290 TraceCheckUtils]: 8: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 10:47:31,992 INFO L290 TraceCheckUtils]: 9: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 10:47:31,992 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4760#true} {4760#true} #76#return; {4760#true} is VALID [2022-04-28 10:47:31,992 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 10:47:31,992 INFO L290 TraceCheckUtils]: 12: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 10:47:31,992 INFO L290 TraceCheckUtils]: 13: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 10:47:31,992 INFO L290 TraceCheckUtils]: 14: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 10:47:31,992 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4760#true} {4760#true} #78#return; {4760#true} is VALID [2022-04-28 10:47:31,993 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 10:47:31,993 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 10:47:31,993 INFO L290 TraceCheckUtils]: 18: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 10:47:31,993 INFO L290 TraceCheckUtils]: 19: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 10:47:31,993 INFO L290 TraceCheckUtils]: 20: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 10:47:31,994 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 10:47:31,994 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 10:47:31,994 INFO L290 TraceCheckUtils]: 23: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 10:47:31,994 INFO L290 TraceCheckUtils]: 24: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 10:47:31,994 INFO L290 TraceCheckUtils]: 25: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 10:47:31,995 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 10:47:31,995 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 10:47:31,995 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 10:47:31,996 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 10:47:31,996 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 10:47:31,996 INFO L290 TraceCheckUtils]: 31: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 10:47:31,996 INFO L290 TraceCheckUtils]: 32: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 10:47:31,996 INFO L290 TraceCheckUtils]: 33: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 10:47:31,996 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 10:47:31,997 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 10:47:31,997 INFO L290 TraceCheckUtils]: 36: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 10:47:31,997 INFO L290 TraceCheckUtils]: 37: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 10:47:31,997 INFO L290 TraceCheckUtils]: 38: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 10:47:31,997 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 10:47:31,997 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 10:47:31,998 INFO L290 TraceCheckUtils]: 41: Hoare triple {4760#true} ~cond := #in~cond; {4889#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:47:31,998 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 10:47:31,998 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 10:47:31,999 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 10:47:31,999 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 10:47:31,999 INFO L290 TraceCheckUtils]: 46: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 10:47:31,999 INFO L290 TraceCheckUtils]: 47: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 10:47:31,999 INFO L290 TraceCheckUtils]: 48: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 10:47:32,000 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 10:47:32,000 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 10:47:32,001 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 10:47:32,001 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 10:47:32,001 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 10:47:32,002 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 10:47:32,002 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 10:47:32,002 INFO L290 TraceCheckUtils]: 56: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 10:47:32,002 INFO L290 TraceCheckUtils]: 57: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 10:47:32,002 INFO L290 TraceCheckUtils]: 58: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 10:47:32,003 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 10:47:32,003 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 10:47:32,004 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 10:47:32,004 INFO L290 TraceCheckUtils]: 62: Hoare triple {4953#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4761#false} is VALID [2022-04-28 10:47:32,004 INFO L290 TraceCheckUtils]: 63: Hoare triple {4761#false} assume !false; {4761#false} is VALID [2022-04-28 10:47:32,004 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 10:47:32,004 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:47:51,733 INFO L290 TraceCheckUtils]: 63: Hoare triple {4761#false} assume !false; {4761#false} is VALID [2022-04-28 10:47:51,733 INFO L290 TraceCheckUtils]: 62: Hoare triple {4953#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4761#false} is VALID [2022-04-28 10:47:51,734 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 10:47:51,734 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 10:47:51,735 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 10:47:51,735 INFO L290 TraceCheckUtils]: 58: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 10:47:51,735 INFO L290 TraceCheckUtils]: 57: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 10:47:51,735 INFO L290 TraceCheckUtils]: 56: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 10:47:51,735 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 10:47:51,736 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 10:47:51,736 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 10:47:51,736 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 10:47:51,737 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 10:47:51,737 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 10:47:51,738 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 10:47:51,738 INFO L290 TraceCheckUtils]: 48: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 10:47:51,738 INFO L290 TraceCheckUtils]: 47: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 10:47:51,738 INFO L290 TraceCheckUtils]: 46: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 10:47:51,738 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 10:47:51,739 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 10:47:51,739 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 10:47:51,739 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 10:47:51,740 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 10:47:51,740 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 10:47:51,740 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4760#true} {4760#true} #86#return; {4760#true} is VALID [2022-04-28 10:47:51,740 INFO L290 TraceCheckUtils]: 38: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 10:47:51,740 INFO L290 TraceCheckUtils]: 37: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 10:47:51,740 INFO L290 TraceCheckUtils]: 36: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 10:47:51,740 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 10:47:51,740 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4760#true} {4760#true} #84#return; {4760#true} is VALID [2022-04-28 10:47:51,740 INFO L290 TraceCheckUtils]: 33: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 10:47:51,740 INFO L290 TraceCheckUtils]: 32: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 10:47:51,741 INFO L290 TraceCheckUtils]: 31: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 10:47:51,741 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 10:47:51,741 INFO L290 TraceCheckUtils]: 29: Hoare triple {4760#true} assume !false; {4760#true} is VALID [2022-04-28 10:47:51,741 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 10:47:51,741 INFO L290 TraceCheckUtils]: 27: Hoare triple {4760#true} assume !false; {4760#true} is VALID [2022-04-28 10:47:51,741 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4760#true} {4760#true} #82#return; {4760#true} is VALID [2022-04-28 10:47:51,741 INFO L290 TraceCheckUtils]: 25: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 10:47:51,741 INFO L290 TraceCheckUtils]: 24: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 10:47:51,741 INFO L290 TraceCheckUtils]: 23: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 10:47:51,741 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 10:47:51,741 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4760#true} {4760#true} #80#return; {4760#true} is VALID [2022-04-28 10:47:51,741 INFO L290 TraceCheckUtils]: 20: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 10:47:51,741 INFO L290 TraceCheckUtils]: 19: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 10:47:51,741 INFO L290 TraceCheckUtils]: 18: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 10:47:51,742 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 10:47:51,742 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 10:47:51,742 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4760#true} {4760#true} #78#return; {4760#true} is VALID [2022-04-28 10:47:51,742 INFO L290 TraceCheckUtils]: 14: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 10:47:51,742 INFO L290 TraceCheckUtils]: 13: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 10:47:51,742 INFO L290 TraceCheckUtils]: 12: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 10:47:51,742 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 10:47:51,742 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4760#true} {4760#true} #76#return; {4760#true} is VALID [2022-04-28 10:47:51,742 INFO L290 TraceCheckUtils]: 9: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 10:47:51,742 INFO L290 TraceCheckUtils]: 8: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-28 10:47:51,742 INFO L290 TraceCheckUtils]: 7: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-28 10:47:51,742 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 10:47:51,742 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 10:47:51,742 INFO L272 TraceCheckUtils]: 4: Hoare triple {4760#true} call #t~ret6 := main(); {4760#true} is VALID [2022-04-28 10:47:51,743 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4760#true} {4760#true} #96#return; {4760#true} is VALID [2022-04-28 10:47:51,743 INFO L290 TraceCheckUtils]: 2: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-28 10:47:51,743 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 10:47:51,743 INFO L272 TraceCheckUtils]: 0: Hoare triple {4760#true} call ULTIMATE.init(); {4760#true} is VALID [2022-04-28 10:47:51,743 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 10:47:51,743 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:47:51,743 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [667598546] [2022-04-28 10:47:51,743 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:47:51,743 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [643414540] [2022-04-28 10:47:51,743 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [643414540] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:47:51,743 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:47:51,744 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-28 10:47:51,744 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:47:51,744 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [788440538] [2022-04-28 10:47:51,744 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [788440538] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:47:51,744 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:47:51,744 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 10:47:51,744 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [408280121] [2022-04-28 10:47:51,744 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:47:51,745 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 10:47:51,745 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:47:51,745 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 10:47:51,794 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 10:47:51,794 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 10:47:51,794 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:51,794 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 10:47:51,794 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-28 10:47:51,795 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 10:47:52,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:52,428 INFO L93 Difference]: Finished difference Result 147 states and 208 transitions. [2022-04-28 10:47:52,428 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 10:47:52,428 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 10:47:52,428 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:47:52,428 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 10:47:52,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2022-04-28 10:47:52,430 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 10:47:52,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2022-04-28 10:47:52,437 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 78 transitions. [2022-04-28 10:47:52,503 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 10:47:52,506 INFO L225 Difference]: With dead ends: 147 [2022-04-28 10:47:52,506 INFO L226 Difference]: Without dead ends: 144 [2022-04-28 10:47:52,506 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 10:47:52,508 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 10:47:52,508 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 10:47:52,509 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2022-04-28 10:47:52,693 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 141. [2022-04-28 10:47:52,693 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:47:52,693 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 10:47:52,695 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 10:47:52,695 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 10:47:52,699 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:52,699 INFO L93 Difference]: Finished difference Result 144 states and 204 transitions. [2022-04-28 10:47:52,699 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 204 transitions. [2022-04-28 10:47:52,700 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:52,700 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:52,700 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 10:47:52,700 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 10:47:52,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:52,709 INFO L93 Difference]: Finished difference Result 144 states and 204 transitions. [2022-04-28 10:47:52,709 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 204 transitions. [2022-04-28 10:47:52,710 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:52,710 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:52,710 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:47:52,710 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:47:52,710 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 10:47:52,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 141 states to 141 states and 201 transitions. [2022-04-28 10:47:52,714 INFO L78 Accepts]: Start accepts. Automaton has 141 states and 201 transitions. Word has length 64 [2022-04-28 10:47:52,714 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:47:52,714 INFO L495 AbstractCegarLoop]: Abstraction has 141 states and 201 transitions. [2022-04-28 10:47:52,715 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 10:47:52,715 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 141 states and 201 transitions. [2022-04-28 10:47:52,987 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 10:47:52,987 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 201 transitions. [2022-04-28 10:47:52,988 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 10:47:52,988 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:47:52,988 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 10:47:53,005 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-28 10:47:53,205 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 10:47:53,205 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:47:53,205 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:47:53,206 INFO L85 PathProgramCache]: Analyzing trace with hash 1412509540, now seen corresponding path program 3 times [2022-04-28 10:47:53,206 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:53,206 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1113071613] [2022-04-28 10:47:53,207 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:47:53,207 INFO L85 PathProgramCache]: Analyzing trace with hash 1412509540, now seen corresponding path program 4 times [2022-04-28 10:47:53,207 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:47:53,207 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [818336239] [2022-04-28 10:47:53,207 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:47:53,207 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:47:53,238 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:47:53,238 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [114034698] [2022-04-28 10:47:53,238 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:47:53,239 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:47:53,239 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:47:53,242 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 10:47:53,269 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 10:47:53,311 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:47:53,311 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:47:53,312 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 10:47:53,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:47:53,327 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:47:53,928 INFO L272 TraceCheckUtils]: 0: Hoare triple {6022#true} call ULTIMATE.init(); {6022#true} is VALID [2022-04-28 10:47:53,928 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 10:47:53,928 INFO L290 TraceCheckUtils]: 2: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:53,928 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6022#true} {6022#true} #96#return; {6022#true} is VALID [2022-04-28 10:47:53,929 INFO L272 TraceCheckUtils]: 4: Hoare triple {6022#true} call #t~ret6 := main(); {6022#true} is VALID [2022-04-28 10:47:53,929 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 10:47:53,929 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 10:47:53,939 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 10:47:53,940 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 10:47:53,940 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 10:47:53,940 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 10:47:53,940 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 10:47:53,941 INFO L290 TraceCheckUtils]: 12: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 10:47:53,941 INFO L290 TraceCheckUtils]: 13: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 10:47:53,941 INFO L290 TraceCheckUtils]: 14: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:53,941 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 10:47:53,942 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 10:47:53,942 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 10:47:53,942 INFO L290 TraceCheckUtils]: 18: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 10:47:53,942 INFO L290 TraceCheckUtils]: 19: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 10:47:53,942 INFO L290 TraceCheckUtils]: 20: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:53,942 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 10:47:53,943 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 10:47:53,943 INFO L290 TraceCheckUtils]: 23: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 10:47:53,943 INFO L290 TraceCheckUtils]: 24: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 10:47:53,943 INFO L290 TraceCheckUtils]: 25: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:53,943 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 10:47:53,944 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 10:47:53,944 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 10:47:53,945 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 10:47:53,945 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 10:47:53,945 INFO L290 TraceCheckUtils]: 31: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 10:47:53,945 INFO L290 TraceCheckUtils]: 32: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 10:47:53,945 INFO L290 TraceCheckUtils]: 33: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:53,946 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 10:47:53,946 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 10:47:53,946 INFO L290 TraceCheckUtils]: 36: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 10:47:53,946 INFO L290 TraceCheckUtils]: 37: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 10:47:53,946 INFO L290 TraceCheckUtils]: 38: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:53,947 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 10:47:53,947 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 10:47:53,947 INFO L290 TraceCheckUtils]: 41: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 10:47:53,947 INFO L290 TraceCheckUtils]: 42: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 10:47:53,947 INFO L290 TraceCheckUtils]: 43: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:53,947 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 10:47:53,948 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 10:47:53,948 INFO L290 TraceCheckUtils]: 46: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 10:47:53,948 INFO L290 TraceCheckUtils]: 47: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 10:47:53,948 INFO L290 TraceCheckUtils]: 48: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:53,948 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 10:47:53,949 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 10:47:53,949 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 10:47:53,950 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 10:47:53,950 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 10:47:53,950 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 10:47:53,950 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 10:47:53,951 INFO L290 TraceCheckUtils]: 56: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 10:47:53,951 INFO L290 TraceCheckUtils]: 57: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 10:47:53,951 INFO L290 TraceCheckUtils]: 58: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:53,951 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 10:47:53,951 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 10:47:53,951 INFO L290 TraceCheckUtils]: 61: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 10:47:53,952 INFO L290 TraceCheckUtils]: 62: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 10:47:53,952 INFO L290 TraceCheckUtils]: 63: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:53,952 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 10:47:53,953 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 10:47:53,953 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 10:47:53,953 INFO L290 TraceCheckUtils]: 67: Hoare triple {6233#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6023#false} is VALID [2022-04-28 10:47:53,953 INFO L290 TraceCheckUtils]: 68: Hoare triple {6023#false} assume !false; {6023#false} is VALID [2022-04-28 10:47:53,954 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 10:47:53,954 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:47:54,514 INFO L290 TraceCheckUtils]: 68: Hoare triple {6023#false} assume !false; {6023#false} is VALID [2022-04-28 10:47:54,515 INFO L290 TraceCheckUtils]: 67: Hoare triple {6233#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6023#false} is VALID [2022-04-28 10:47:54,515 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 10:47:54,515 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 10:47:54,516 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 10:47:54,516 INFO L290 TraceCheckUtils]: 63: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:54,516 INFO L290 TraceCheckUtils]: 62: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 10:47:54,516 INFO L290 TraceCheckUtils]: 61: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 10:47:54,516 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 10:47:54,517 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 10:47:54,517 INFO L290 TraceCheckUtils]: 58: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:54,517 INFO L290 TraceCheckUtils]: 57: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 10:47:54,517 INFO L290 TraceCheckUtils]: 56: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 10:47:54,517 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 10:47:54,519 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 10:47:54,519 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 10:47:54,520 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 10:47:55,182 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 10:47:55,183 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 10:47:55,184 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 10:47:55,185 INFO L290 TraceCheckUtils]: 48: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:55,185 INFO L290 TraceCheckUtils]: 47: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 10:47:55,185 INFO L290 TraceCheckUtils]: 46: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 10:47:55,185 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 10:47:55,186 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 10:47:55,186 INFO L290 TraceCheckUtils]: 43: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:55,186 INFO L290 TraceCheckUtils]: 42: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 10:47:55,186 INFO L290 TraceCheckUtils]: 41: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 10:47:55,186 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 10:47:55,187 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 10:47:55,187 INFO L290 TraceCheckUtils]: 38: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:55,187 INFO L290 TraceCheckUtils]: 37: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 10:47:55,187 INFO L290 TraceCheckUtils]: 36: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 10:47:55,188 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 10:47:55,189 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 10:47:55,189 INFO L290 TraceCheckUtils]: 33: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:55,189 INFO L290 TraceCheckUtils]: 32: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 10:47:55,189 INFO L290 TraceCheckUtils]: 31: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 10:47:55,189 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 10:47:55,189 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 10:47:55,190 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 10:47:55,190 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 10:47:55,191 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 10:47:55,191 INFO L290 TraceCheckUtils]: 25: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:55,191 INFO L290 TraceCheckUtils]: 24: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 10:47:55,192 INFO L290 TraceCheckUtils]: 23: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 10:47:55,192 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 10:47:55,192 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 10:47:55,193 INFO L290 TraceCheckUtils]: 20: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:55,193 INFO L290 TraceCheckUtils]: 19: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 10:47:55,193 INFO L290 TraceCheckUtils]: 18: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 10:47:55,193 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 10:47:55,193 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 10:47:55,193 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6022#true} {6022#true} #78#return; {6022#true} is VALID [2022-04-28 10:47:55,194 INFO L290 TraceCheckUtils]: 14: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:55,194 INFO L290 TraceCheckUtils]: 13: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 10:47:55,194 INFO L290 TraceCheckUtils]: 12: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 10:47:55,194 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 10:47:55,194 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6022#true} {6022#true} #76#return; {6022#true} is VALID [2022-04-28 10:47:55,194 INFO L290 TraceCheckUtils]: 9: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:55,194 INFO L290 TraceCheckUtils]: 8: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-28 10:47:55,194 INFO L290 TraceCheckUtils]: 7: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-28 10:47:55,194 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 10:47:55,194 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 10:47:55,194 INFO L272 TraceCheckUtils]: 4: Hoare triple {6022#true} call #t~ret6 := main(); {6022#true} is VALID [2022-04-28 10:47:55,194 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6022#true} {6022#true} #96#return; {6022#true} is VALID [2022-04-28 10:47:55,194 INFO L290 TraceCheckUtils]: 2: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-28 10:47:55,194 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 10:47:55,195 INFO L272 TraceCheckUtils]: 0: Hoare triple {6022#true} call ULTIMATE.init(); {6022#true} is VALID [2022-04-28 10:47:55,195 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 10:47:55,195 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:47:55,195 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [818336239] [2022-04-28 10:47:55,195 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:47:55,195 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [114034698] [2022-04-28 10:47:55,195 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [114034698] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:47:55,195 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:47:55,195 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-28 10:47:55,196 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:47:55,196 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1113071613] [2022-04-28 10:47:55,196 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1113071613] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:47:55,196 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:47:55,196 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 10:47:55,196 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [405186362] [2022-04-28 10:47:55,196 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:47:55,196 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 10:47:55,196 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:47:55,197 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 10:47:55,236 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 10:47:55,236 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 10:47:55,236 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:55,237 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 10:47:55,237 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-28 10:47:55,237 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 10:47:56,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:56,471 INFO L93 Difference]: Finished difference Result 153 states and 211 transitions. [2022-04-28 10:47:56,471 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 10:47:56,471 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 10:47:56,472 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:47:56,472 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 10:47:56,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 86 transitions. [2022-04-28 10:47:56,473 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 10:47:56,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 86 transitions. [2022-04-28 10:47:56,474 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 86 transitions. [2022-04-28 10:47:56,548 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 10:47:56,550 INFO L225 Difference]: With dead ends: 153 [2022-04-28 10:47:56,551 INFO L226 Difference]: Without dead ends: 151 [2022-04-28 10:47:56,551 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 10:47:56,551 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 33 mSDsluCounter, 174 mSDsCounter, 0 mSdLazyCounter, 315 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-28 10:47:56,551 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.3s Time] [2022-04-28 10:47:56,552 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2022-04-28 10:47:56,751 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 149. [2022-04-28 10:47:56,751 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:47:56,752 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 10:47:56,752 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 10:47:56,752 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 10:47:56,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:56,755 INFO L93 Difference]: Finished difference Result 151 states and 209 transitions. [2022-04-28 10:47:56,756 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 209 transitions. [2022-04-28 10:47:56,756 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:56,756 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:56,756 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 10:47:56,757 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 10:47:56,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:56,760 INFO L93 Difference]: Finished difference Result 151 states and 209 transitions. [2022-04-28 10:47:56,760 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 209 transitions. [2022-04-28 10:47:56,767 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:56,767 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:56,767 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:47:56,767 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:47:56,767 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 10:47:56,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 149 states to 149 states and 207 transitions. [2022-04-28 10:47:56,785 INFO L78 Accepts]: Start accepts. Automaton has 149 states and 207 transitions. Word has length 69 [2022-04-28 10:47:56,785 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:47:56,785 INFO L495 AbstractCegarLoop]: Abstraction has 149 states and 207 transitions. [2022-04-28 10:47:56,785 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 10:47:56,785 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 149 states and 207 transitions. [2022-04-28 10:47:57,029 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 10:47:57,029 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 207 transitions. [2022-04-28 10:47:57,030 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-28 10:47:57,030 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:47:57,030 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 10:47:57,048 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 10:47:57,230 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 10:47:57,231 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:47:57,231 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:47:57,231 INFO L85 PathProgramCache]: Analyzing trace with hash -1763593091, now seen corresponding path program 5 times [2022-04-28 10:47:57,231 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:57,231 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1708350901] [2022-04-28 10:47:57,232 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:47:57,232 INFO L85 PathProgramCache]: Analyzing trace with hash -1763593091, now seen corresponding path program 6 times [2022-04-28 10:47:57,232 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:47:57,232 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2056957931] [2022-04-28 10:47:57,232 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:47:57,232 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:47:57,241 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:47:57,241 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1710528986] [2022-04-28 10:47:57,241 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:47:57,241 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:47:57,241 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:47:57,242 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 10:47:57,274 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 10:47:57,322 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 10:47:57,322 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:47:57,323 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-28 10:47:57,336 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:47:57,337 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:48:01,336 INFO L272 TraceCheckUtils]: 0: Hoare triple {7364#true} call ULTIMATE.init(); {7364#true} is VALID [2022-04-28 10:48:01,336 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 10:48:01,336 INFO L290 TraceCheckUtils]: 2: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-28 10:48:01,336 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7364#true} {7364#true} #96#return; {7364#true} is VALID [2022-04-28 10:48:01,336 INFO L272 TraceCheckUtils]: 4: Hoare triple {7364#true} call #t~ret6 := main(); {7364#true} is VALID [2022-04-28 10:48:01,336 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 10:48:01,336 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 10:48:01,336 INFO L290 TraceCheckUtils]: 7: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-28 10:48:01,336 INFO L290 TraceCheckUtils]: 8: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-28 10:48:01,336 INFO L290 TraceCheckUtils]: 9: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-28 10:48:01,336 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7364#true} {7364#true} #76#return; {7364#true} is VALID [2022-04-28 10:48:01,337 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 10:48:01,337 INFO L290 TraceCheckUtils]: 12: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-28 10:48:01,337 INFO L290 TraceCheckUtils]: 13: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-28 10:48:01,337 INFO L290 TraceCheckUtils]: 14: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-28 10:48:01,337 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7364#true} {7364#true} #78#return; {7364#true} is VALID [2022-04-28 10:48:01,337 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 10:48:01,337 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 10:48:01,337 INFO L290 TraceCheckUtils]: 18: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-28 10:48:01,337 INFO L290 TraceCheckUtils]: 19: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-28 10:48:01,338 INFO L290 TraceCheckUtils]: 20: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-28 10:48:01,338 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 10:48:01,338 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 10:48:01,338 INFO L290 TraceCheckUtils]: 23: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-28 10:48:01,338 INFO L290 TraceCheckUtils]: 24: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-28 10:48:01,338 INFO L290 TraceCheckUtils]: 25: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-28 10:48:01,339 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 10:48:01,339 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 10:48:01,340 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 10:48:01,340 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 10:48:01,340 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 10:48:01,341 INFO L290 TraceCheckUtils]: 31: Hoare triple {7364#true} ~cond := #in~cond; {7464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:48:01,341 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 10:48:01,341 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 10:48:01,342 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 10:48:01,342 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 10:48:01,342 INFO L290 TraceCheckUtils]: 36: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-28 10:48:01,342 INFO L290 TraceCheckUtils]: 37: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-28 10:48:01,343 INFO L290 TraceCheckUtils]: 38: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-28 10:48:01,343 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 10:48:01,343 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 10:48:01,344 INFO L290 TraceCheckUtils]: 41: Hoare triple {7364#true} ~cond := #in~cond; {7464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:48:01,344 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 10:48:01,344 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 10:48:01,345 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 10:48:01,345 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 10:48:01,345 INFO L290 TraceCheckUtils]: 46: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-28 10:48:01,345 INFO L290 TraceCheckUtils]: 47: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-28 10:48:01,345 INFO L290 TraceCheckUtils]: 48: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-28 10:48:01,346 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 10:48:01,346 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 10:48:01,347 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 10:48:01,347 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 10:48:01,347 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 10:48:01,348 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 10:48:01,348 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 10:48:01,348 INFO L290 TraceCheckUtils]: 56: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-28 10:48:01,348 INFO L290 TraceCheckUtils]: 57: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-28 10:48:01,348 INFO L290 TraceCheckUtils]: 58: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-28 10:48:01,349 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 10:48:01,349 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 10:48:01,349 INFO L290 TraceCheckUtils]: 61: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-28 10:48:01,349 INFO L290 TraceCheckUtils]: 62: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-28 10:48:01,349 INFO L290 TraceCheckUtils]: 63: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-28 10:48:01,350 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 10:48:01,350 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 10:48:01,350 INFO L290 TraceCheckUtils]: 66: Hoare triple {7364#true} ~cond := #in~cond; {7464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:48:01,350 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 10:48:01,351 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 10:48:01,351 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 10:48:01,354 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 10:48:01,354 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 10:48:01,354 INFO L290 TraceCheckUtils]: 72: Hoare triple {7590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7365#false} is VALID [2022-04-28 10:48:01,354 INFO L290 TraceCheckUtils]: 73: Hoare triple {7365#false} assume !false; {7365#false} is VALID [2022-04-28 10:48:01,355 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 10:48:01,355 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:48:55,432 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:48:55,432 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2056957931] [2022-04-28 10:48:55,432 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:48:55,433 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1710528986] [2022-04-28 10:48:55,433 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1710528986] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:48:55,433 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 10:48:55,433 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-28 10:48:55,433 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:48:55,433 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1708350901] [2022-04-28 10:48:55,433 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1708350901] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:48:55,433 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:48:55,433 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 10:48:55,433 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1861795716] [2022-04-28 10:48:55,433 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:48:55,434 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 10:48:55,434 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:48:55,434 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 10:48:55,475 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 10:48:55,476 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 10:48:55,476 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:48:55,476 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 10:48:55,476 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-28 10:48:55,476 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 10:48:56,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:48:56,639 INFO L93 Difference]: Finished difference Result 161 states and 217 transitions. [2022-04-28 10:48:56,639 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 10:48:56,639 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 10:48:56,639 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:48:56,639 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 10:48:56,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 93 transitions. [2022-04-28 10:48:56,640 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 10:48:56,642 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 93 transitions. [2022-04-28 10:48:56,642 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 93 transitions. [2022-04-28 10:48:56,728 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 10:48:56,731 INFO L225 Difference]: With dead ends: 161 [2022-04-28 10:48:56,731 INFO L226 Difference]: Without dead ends: 159 [2022-04-28 10:48:56,731 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 10:48:56,732 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 10:48:56,732 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 10:48:56,732 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2022-04-28 10:48:56,952 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 157. [2022-04-28 10:48:56,952 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:48:56,952 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 10:48:56,953 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 10:48:56,953 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 10:48:56,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:48:56,956 INFO L93 Difference]: Finished difference Result 159 states and 215 transitions. [2022-04-28 10:48:56,956 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 215 transitions. [2022-04-28 10:48:56,957 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:48:56,957 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:48:56,958 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 10:48:56,958 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 10:48:56,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:48:56,966 INFO L93 Difference]: Finished difference Result 159 states and 215 transitions. [2022-04-28 10:48:56,966 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 215 transitions. [2022-04-28 10:48:56,966 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:48:56,966 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:48:56,966 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:48:56,966 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:48:56,967 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 10:48:56,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 213 transitions. [2022-04-28 10:48:56,973 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 213 transitions. Word has length 74 [2022-04-28 10:48:56,974 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:48:56,974 INFO L495 AbstractCegarLoop]: Abstraction has 157 states and 213 transitions. [2022-04-28 10:48:56,974 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 10:48:56,974 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 157 states and 213 transitions. [2022-04-28 10:48:57,268 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 10:48:57,268 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 213 transitions. [2022-04-28 10:48:57,268 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2022-04-28 10:48:57,268 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:48:57,269 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 10:48:57,285 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 10:48:57,469 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 10:48:57,469 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:48:57,469 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:48:57,470 INFO L85 PathProgramCache]: Analyzing trace with hash -1525288661, now seen corresponding path program 3 times [2022-04-28 10:48:57,470 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:48:57,470 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [457139220] [2022-04-28 10:48:57,470 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:48:57,470 INFO L85 PathProgramCache]: Analyzing trace with hash -1525288661, now seen corresponding path program 4 times [2022-04-28 10:48:57,470 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:48:57,470 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1678285279] [2022-04-28 10:48:57,470 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:48:57,470 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:48:57,491 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:48:57,492 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1167526521] [2022-04-28 10:48:57,492 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:48:57,492 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:48:57,492 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:48:57,495 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 10:48:57,496 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 10:48:57,540 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:48:57,540 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:48:57,541 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 10:48:57,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:48:57,555 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:48:58,211 INFO L272 TraceCheckUtils]: 0: Hoare triple {8571#true} call ULTIMATE.init(); {8571#true} is VALID [2022-04-28 10:48:58,211 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 10:48:58,211 INFO L290 TraceCheckUtils]: 2: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:48:58,211 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8571#true} {8571#true} #96#return; {8571#true} is VALID [2022-04-28 10:48:58,212 INFO L272 TraceCheckUtils]: 4: Hoare triple {8571#true} call #t~ret6 := main(); {8571#true} is VALID [2022-04-28 10:48:58,212 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 10:48:58,212 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 10:48:58,212 INFO L290 TraceCheckUtils]: 7: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:48:58,212 INFO L290 TraceCheckUtils]: 8: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:48:58,212 INFO L290 TraceCheckUtils]: 9: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:48:58,212 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8571#true} {8571#true} #76#return; {8571#true} is VALID [2022-04-28 10:48:58,212 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 10:48:58,212 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 10:48:58,213 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 10:48:58,213 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 10:48:58,214 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 10:48:58,214 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 10:48:58,214 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 10:48:58,214 INFO L290 TraceCheckUtils]: 18: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:48:58,215 INFO L290 TraceCheckUtils]: 19: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:48:58,215 INFO L290 TraceCheckUtils]: 20: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:48:58,215 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 10:48:58,215 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 10:48:58,215 INFO L290 TraceCheckUtils]: 23: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:48:58,215 INFO L290 TraceCheckUtils]: 24: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:48:58,215 INFO L290 TraceCheckUtils]: 25: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:48:58,216 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 10:48:58,216 INFO L290 TraceCheckUtils]: 27: Hoare triple {8627#(<= 1 main_~b~0)} assume !false; {8627#(<= 1 main_~b~0)} is VALID [2022-04-28 10:48:58,216 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 10:48:58,217 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 10:48:58,217 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 10:48:58,217 INFO L290 TraceCheckUtils]: 31: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:48:58,217 INFO L290 TraceCheckUtils]: 32: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:48:58,217 INFO L290 TraceCheckUtils]: 33: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:48:58,218 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 10:48:58,218 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 10:48:58,218 INFO L290 TraceCheckUtils]: 36: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:48:58,218 INFO L290 TraceCheckUtils]: 37: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:48:58,218 INFO L290 TraceCheckUtils]: 38: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:48:58,219 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 10:48:58,219 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 10:48:58,219 INFO L290 TraceCheckUtils]: 41: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:48:58,219 INFO L290 TraceCheckUtils]: 42: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:48:58,219 INFO L290 TraceCheckUtils]: 43: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:48:58,220 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 10:48:58,220 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 10:48:58,220 INFO L290 TraceCheckUtils]: 46: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:48:58,220 INFO L290 TraceCheckUtils]: 47: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:48:58,220 INFO L290 TraceCheckUtils]: 48: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:48:58,244 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 10:48:58,247 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 10:48:58,247 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 10:48:58,247 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 10:48:58,247 INFO L290 TraceCheckUtils]: 53: Hoare triple {8571#true} ~cond := #in~cond; {8741#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:48:58,248 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 10:48:58,248 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 10:48:58,249 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 10:48:58,249 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 10:48:58,249 INFO L290 TraceCheckUtils]: 58: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:48:58,249 INFO L290 TraceCheckUtils]: 59: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:48:58,249 INFO L290 TraceCheckUtils]: 60: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:48:58,250 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 10:48:58,250 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 10:48:58,250 INFO L290 TraceCheckUtils]: 63: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:48:58,250 INFO L290 TraceCheckUtils]: 64: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:48:58,250 INFO L290 TraceCheckUtils]: 65: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:48:58,250 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 10:48:58,251 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 10:48:58,251 INFO L290 TraceCheckUtils]: 68: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:48:58,251 INFO L290 TraceCheckUtils]: 69: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:48:58,251 INFO L290 TraceCheckUtils]: 70: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:48:58,251 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 10:48:58,253 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 10:48:58,253 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 10:48:58,254 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 10:48:58,255 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 10:48:58,255 INFO L290 TraceCheckUtils]: 76: Hoare triple {8812#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8572#false} is VALID [2022-04-28 10:48:58,255 INFO L290 TraceCheckUtils]: 77: Hoare triple {8572#false} assume !false; {8572#false} is VALID [2022-04-28 10:48:58,255 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 10:48:58,255 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:49:04,413 INFO L290 TraceCheckUtils]: 77: Hoare triple {8572#false} assume !false; {8572#false} is VALID [2022-04-28 10:49:04,414 INFO L290 TraceCheckUtils]: 76: Hoare triple {8812#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8572#false} is VALID [2022-04-28 10:49:04,414 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 10:49:04,415 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 10:49:04,417 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 10:49:04,419 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 10:49:04,421 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 10:49:04,421 INFO L290 TraceCheckUtils]: 70: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:49:04,421 INFO L290 TraceCheckUtils]: 69: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:49:04,421 INFO L290 TraceCheckUtils]: 68: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:49:04,421 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 10:49:04,422 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 10:49:04,422 INFO L290 TraceCheckUtils]: 65: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:49:04,422 INFO L290 TraceCheckUtils]: 64: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:49:04,422 INFO L290 TraceCheckUtils]: 63: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:49:04,423 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 10:49:04,423 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 10:49:04,423 INFO L290 TraceCheckUtils]: 60: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:49:04,423 INFO L290 TraceCheckUtils]: 59: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:49:04,423 INFO L290 TraceCheckUtils]: 58: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:49:04,424 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 10:49:04,424 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 10:49:04,425 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 10:49:04,425 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 10:49:04,425 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 10:49:04,425 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 10:49:04,425 INFO L290 TraceCheckUtils]: 51: Hoare triple {8571#true} assume !false; {8571#true} is VALID [2022-04-28 10:49:04,434 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 10:49:04,434 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {8571#true} {8571#true} #90#return; {8571#true} is VALID [2022-04-28 10:49:04,435 INFO L290 TraceCheckUtils]: 48: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:49:04,435 INFO L290 TraceCheckUtils]: 47: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:49:04,435 INFO L290 TraceCheckUtils]: 46: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:49:04,435 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 10:49:04,435 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {8571#true} {8571#true} #88#return; {8571#true} is VALID [2022-04-28 10:49:04,435 INFO L290 TraceCheckUtils]: 43: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:49:04,435 INFO L290 TraceCheckUtils]: 42: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:49:04,435 INFO L290 TraceCheckUtils]: 41: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:49:04,435 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 10:49:04,435 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8571#true} {8571#true} #86#return; {8571#true} is VALID [2022-04-28 10:49:04,435 INFO L290 TraceCheckUtils]: 38: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:49:04,435 INFO L290 TraceCheckUtils]: 37: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:49:04,435 INFO L290 TraceCheckUtils]: 36: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:49:04,435 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 10:49:04,436 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {8571#true} {8571#true} #84#return; {8571#true} is VALID [2022-04-28 10:49:04,436 INFO L290 TraceCheckUtils]: 33: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:49:04,436 INFO L290 TraceCheckUtils]: 32: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:49:04,436 INFO L290 TraceCheckUtils]: 31: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:49:04,436 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 10:49:04,436 INFO L290 TraceCheckUtils]: 29: Hoare triple {8571#true} assume !false; {8571#true} is VALID [2022-04-28 10:49:04,436 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 10:49:04,436 INFO L290 TraceCheckUtils]: 27: Hoare triple {8571#true} assume !false; {8571#true} is VALID [2022-04-28 10:49:04,436 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8571#true} {8571#true} #82#return; {8571#true} is VALID [2022-04-28 10:49:04,436 INFO L290 TraceCheckUtils]: 25: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:49:04,436 INFO L290 TraceCheckUtils]: 24: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:49:04,436 INFO L290 TraceCheckUtils]: 23: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:49:04,436 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 10:49:04,436 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8571#true} {8571#true} #80#return; {8571#true} is VALID [2022-04-28 10:49:04,436 INFO L290 TraceCheckUtils]: 20: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:49:04,437 INFO L290 TraceCheckUtils]: 19: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:49:04,437 INFO L290 TraceCheckUtils]: 18: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:49:04,437 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 10:49:04,437 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 10:49:04,437 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8571#true} {8571#true} #78#return; {8571#true} is VALID [2022-04-28 10:49:04,437 INFO L290 TraceCheckUtils]: 14: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:49:04,437 INFO L290 TraceCheckUtils]: 13: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:49:04,437 INFO L290 TraceCheckUtils]: 12: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:49:04,437 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 10:49:04,437 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8571#true} {8571#true} #76#return; {8571#true} is VALID [2022-04-28 10:49:04,437 INFO L290 TraceCheckUtils]: 9: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:49:04,437 INFO L290 TraceCheckUtils]: 8: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-28 10:49:04,437 INFO L290 TraceCheckUtils]: 7: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-28 10:49:04,437 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 10:49:04,438 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 10:49:04,438 INFO L272 TraceCheckUtils]: 4: Hoare triple {8571#true} call #t~ret6 := main(); {8571#true} is VALID [2022-04-28 10:49:04,438 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8571#true} {8571#true} #96#return; {8571#true} is VALID [2022-04-28 10:49:04,438 INFO L290 TraceCheckUtils]: 2: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-28 10:49:04,438 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 10:49:04,438 INFO L272 TraceCheckUtils]: 0: Hoare triple {8571#true} call ULTIMATE.init(); {8571#true} is VALID [2022-04-28 10:49:04,438 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 10:49:04,438 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:49:04,438 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1678285279] [2022-04-28 10:49:04,438 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:49:04,438 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1167526521] [2022-04-28 10:49:04,439 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1167526521] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:49:04,439 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:49:04,439 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 7] total 16 [2022-04-28 10:49:04,439 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:49:04,439 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [457139220] [2022-04-28 10:49:04,439 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [457139220] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:49:04,439 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:49:04,439 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 10:49:04,439 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [310850166] [2022-04-28 10:49:04,439 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:49:04,440 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 10:49:04,442 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:49:04,442 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 10:49:04,487 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 10:49:04,487 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 10:49:04,487 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:49:04,487 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 10:49:04,487 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=199, Unknown=0, NotChecked=0, Total=240 [2022-04-28 10:49:04,488 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 10:49:06,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:49:06,929 INFO L93 Difference]: Finished difference Result 179 states and 242 transitions. [2022-04-28 10:49:06,929 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 10:49:06,930 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 10:49:06,930 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:49:06,930 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 10:49:06,947 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 96 transitions. [2022-04-28 10:49:06,948 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 10:49:06,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 96 transitions. [2022-04-28 10:49:06,949 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 96 transitions. [2022-04-28 10:49:07,027 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 10:49:07,030 INFO L225 Difference]: With dead ends: 179 [2022-04-28 10:49:07,030 INFO L226 Difference]: Without dead ends: 177 [2022-04-28 10:49:07,031 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 10:49:07,031 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 42 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 427 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-28 10:49:07,031 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.0s Time] [2022-04-28 10:49:07,032 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 177 states. [2022-04-28 10:49:07,253 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 177 to 171. [2022-04-28 10:49:07,253 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:49:07,253 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 10:49:07,254 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 10:49:07,254 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 10:49:07,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:49:07,257 INFO L93 Difference]: Finished difference Result 177 states and 240 transitions. [2022-04-28 10:49:07,257 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 240 transitions. [2022-04-28 10:49:07,258 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:49:07,258 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:49:07,258 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 10:49:07,259 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 10:49:07,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:49:07,262 INFO L93 Difference]: Finished difference Result 177 states and 240 transitions. [2022-04-28 10:49:07,262 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 240 transitions. [2022-04-28 10:49:07,263 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:49:07,263 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:49:07,263 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:49:07,263 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:49:07,263 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 10:49:07,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 171 states to 171 states and 230 transitions. [2022-04-28 10:49:07,267 INFO L78 Accepts]: Start accepts. Automaton has 171 states and 230 transitions. Word has length 78 [2022-04-28 10:49:07,267 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:49:07,267 INFO L495 AbstractCegarLoop]: Abstraction has 171 states and 230 transitions. [2022-04-28 10:49:07,267 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 10:49:07,267 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 171 states and 230 transitions. [2022-04-28 10:49:07,557 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 10:49:07,558 INFO L276 IsEmpty]: Start isEmpty. Operand 171 states and 230 transitions. [2022-04-28 10:49:07,558 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-28 10:49:07,558 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:49:07,558 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 10:49:07,575 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 10:49:07,758 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 10:49:07,759 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:49:07,759 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:49:07,759 INFO L85 PathProgramCache]: Analyzing trace with hash 815826741, now seen corresponding path program 1 times [2022-04-28 10:49:07,759 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:49:07,759 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2032925083] [2022-04-28 10:49:07,760 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:49:07,760 INFO L85 PathProgramCache]: Analyzing trace with hash 815826741, now seen corresponding path program 2 times [2022-04-28 10:49:07,760 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:49:07,760 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1631628974] [2022-04-28 10:49:07,760 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:49:07,760 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:49:07,768 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:49:07,769 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [811739469] [2022-04-28 10:49:07,769 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:49:07,769 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:49:07,769 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:49:07,770 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 10:49:07,771 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 10:49:07,813 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:49:07,813 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:49:07,814 INFO L263 TraceCheckSpWp]: Trace formula consists of 215 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-28 10:49:07,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:49:07,825 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:49:08,412 INFO L272 TraceCheckUtils]: 0: Hoare triple {10122#true} call ULTIMATE.init(); {10122#true} is VALID [2022-04-28 10:49:08,412 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 10:49:08,412 INFO L290 TraceCheckUtils]: 2: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:49:08,412 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10122#true} {10122#true} #96#return; {10122#true} is VALID [2022-04-28 10:49:08,412 INFO L272 TraceCheckUtils]: 4: Hoare triple {10122#true} call #t~ret6 := main(); {10122#true} is VALID [2022-04-28 10:49:08,412 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 10:49:08,412 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 10:49:08,412 INFO L290 TraceCheckUtils]: 7: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:49:08,413 INFO L290 TraceCheckUtils]: 8: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:49:08,413 INFO L290 TraceCheckUtils]: 9: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:49:08,413 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10122#true} {10122#true} #76#return; {10122#true} is VALID [2022-04-28 10:49:08,413 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 10:49:08,413 INFO L290 TraceCheckUtils]: 12: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:49:08,413 INFO L290 TraceCheckUtils]: 13: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:49:08,413 INFO L290 TraceCheckUtils]: 14: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:49:08,413 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10122#true} {10122#true} #78#return; {10122#true} is VALID [2022-04-28 10:49:08,413 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 10:49:08,414 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 10:49:08,414 INFO L290 TraceCheckUtils]: 18: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:49:08,414 INFO L290 TraceCheckUtils]: 19: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:49:08,414 INFO L290 TraceCheckUtils]: 20: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:49:08,414 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 10:49:08,414 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 10:49:08,415 INFO L290 TraceCheckUtils]: 23: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:49:08,415 INFO L290 TraceCheckUtils]: 24: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:49:08,415 INFO L290 TraceCheckUtils]: 25: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:49:08,415 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 10:49:08,416 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 10:49:08,416 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 10:49:08,416 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 10:49:08,417 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 10:49:08,417 INFO L290 TraceCheckUtils]: 31: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:49:08,417 INFO L290 TraceCheckUtils]: 32: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:49:08,417 INFO L290 TraceCheckUtils]: 33: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:49:08,417 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 10:49:08,417 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 10:49:08,418 INFO L290 TraceCheckUtils]: 36: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:49:08,418 INFO L290 TraceCheckUtils]: 37: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:49:08,418 INFO L290 TraceCheckUtils]: 38: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:49:08,418 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 10:49:08,418 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 10:49:08,419 INFO L290 TraceCheckUtils]: 41: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:49:08,419 INFO L290 TraceCheckUtils]: 42: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:49:08,419 INFO L290 TraceCheckUtils]: 43: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:49:08,419 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 10:49:08,419 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 10:49:08,419 INFO L290 TraceCheckUtils]: 46: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:49:08,420 INFO L290 TraceCheckUtils]: 47: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:49:08,420 INFO L290 TraceCheckUtils]: 48: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:49:08,420 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 10:49:08,421 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 10:49:08,421 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 10:49:08,421 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 10:49:08,421 INFO L290 TraceCheckUtils]: 53: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:49:08,422 INFO L290 TraceCheckUtils]: 54: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:49:08,422 INFO L290 TraceCheckUtils]: 55: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:49:08,422 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 10:49:08,422 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 10:49:08,423 INFO L290 TraceCheckUtils]: 58: Hoare triple {10122#true} ~cond := #in~cond; {10304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:49:08,423 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 10:49:08,423 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 10:49:08,424 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 10:49:08,425 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 10:49:08,425 INFO L290 TraceCheckUtils]: 63: Hoare triple {10122#true} ~cond := #in~cond; {10304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:49:08,425 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 10:49:08,425 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 10:49:08,426 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 10:49:08,426 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 10:49:08,426 INFO L290 TraceCheckUtils]: 68: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:49:08,426 INFO L290 TraceCheckUtils]: 69: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:49:08,426 INFO L290 TraceCheckUtils]: 70: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:49:08,427 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 10:49:08,428 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 10:49:08,429 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 10:49:08,429 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 10:49:08,429 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 10:49:08,430 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 10:49:08,430 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 10:49:08,431 INFO L290 TraceCheckUtils]: 78: Hoare triple {10368#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10123#false} is VALID [2022-04-28 10:49:08,431 INFO L290 TraceCheckUtils]: 79: Hoare triple {10123#false} assume !false; {10123#false} is VALID [2022-04-28 10:49:08,431 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 10:49:08,431 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:50:39,396 INFO L290 TraceCheckUtils]: 79: Hoare triple {10123#false} assume !false; {10123#false} is VALID [2022-04-28 10:50:39,397 INFO L290 TraceCheckUtils]: 78: Hoare triple {10368#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10123#false} is VALID [2022-04-28 10:50:39,397 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 10:50:39,398 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 10:50:39,398 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 10:50:39,398 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 10:50:41,400 WARN 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 UNKNOWN [2022-04-28 10:50:41,400 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 10:50:41,401 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 10:50:41,401 INFO L290 TraceCheckUtils]: 70: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:50:41,401 INFO L290 TraceCheckUtils]: 69: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:50:41,401 INFO L290 TraceCheckUtils]: 68: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:50:41,402 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 10:50:41,402 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 10:50:41,403 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 10:50:41,403 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 10:50:41,403 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 10:50:41,404 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 10:50:41,404 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 10:50:41,405 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 10:50:41,405 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 10:50:41,405 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 10:50:41,405 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 10:50:41,406 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 10:50:41,406 INFO L290 TraceCheckUtils]: 55: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:50:41,406 INFO L290 TraceCheckUtils]: 54: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:50:41,406 INFO L290 TraceCheckUtils]: 53: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:50:41,406 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 10:50:41,407 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 10:50:42,897 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 10:50:42,898 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 10:50:42,898 INFO L290 TraceCheckUtils]: 48: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:50:42,898 INFO L290 TraceCheckUtils]: 47: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:50:42,898 INFO L290 TraceCheckUtils]: 46: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:50:42,898 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 10:50:42,899 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 10:50:42,899 INFO L290 TraceCheckUtils]: 43: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:50:42,899 INFO L290 TraceCheckUtils]: 42: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:50:42,899 INFO L290 TraceCheckUtils]: 41: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:50:42,899 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 10:50:42,900 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 10:50:42,900 INFO L290 TraceCheckUtils]: 38: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:50:42,900 INFO L290 TraceCheckUtils]: 37: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:50:42,900 INFO L290 TraceCheckUtils]: 36: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:50:42,900 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 10:50:42,901 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 10:50:42,901 INFO L290 TraceCheckUtils]: 33: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:50:42,901 INFO L290 TraceCheckUtils]: 32: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:50:42,901 INFO L290 TraceCheckUtils]: 31: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:50:42,901 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 10:50:42,902 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 10:50:42,902 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 10:50:42,903 INFO L290 TraceCheckUtils]: 27: Hoare triple {10122#true} assume !false; {10122#true} is VALID [2022-04-28 10:50:42,903 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10122#true} {10122#true} #82#return; {10122#true} is VALID [2022-04-28 10:50:42,903 INFO L290 TraceCheckUtils]: 25: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:50:42,903 INFO L290 TraceCheckUtils]: 24: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:50:42,903 INFO L290 TraceCheckUtils]: 23: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:50:42,903 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 10:50:42,903 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10122#true} {10122#true} #80#return; {10122#true} is VALID [2022-04-28 10:50:42,903 INFO L290 TraceCheckUtils]: 20: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:50:42,903 INFO L290 TraceCheckUtils]: 19: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:50:42,903 INFO L290 TraceCheckUtils]: 18: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:50:42,903 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 10:50:42,903 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 10:50:42,903 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10122#true} {10122#true} #78#return; {10122#true} is VALID [2022-04-28 10:50:42,903 INFO L290 TraceCheckUtils]: 14: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:50:42,904 INFO L290 TraceCheckUtils]: 13: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:50:42,904 INFO L290 TraceCheckUtils]: 12: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:50:42,904 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 10:50:42,904 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10122#true} {10122#true} #76#return; {10122#true} is VALID [2022-04-28 10:50:42,904 INFO L290 TraceCheckUtils]: 9: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:50:42,904 INFO L290 TraceCheckUtils]: 8: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-28 10:50:42,904 INFO L290 TraceCheckUtils]: 7: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-28 10:50:42,904 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 10:50:42,904 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 10:50:42,904 INFO L272 TraceCheckUtils]: 4: Hoare triple {10122#true} call #t~ret6 := main(); {10122#true} is VALID [2022-04-28 10:50:42,904 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10122#true} {10122#true} #96#return; {10122#true} is VALID [2022-04-28 10:50:42,904 INFO L290 TraceCheckUtils]: 2: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-28 10:50:42,904 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 10:50:42,904 INFO L272 TraceCheckUtils]: 0: Hoare triple {10122#true} call ULTIMATE.init(); {10122#true} is VALID [2022-04-28 10:50:42,905 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 10:50:42,905 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:50:42,905 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1631628974] [2022-04-28 10:50:42,905 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:50:42,905 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [811739469] [2022-04-28 10:50:42,905 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [811739469] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:50:42,905 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:50:42,905 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 21 [2022-04-28 10:50:42,906 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:50:42,906 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2032925083] [2022-04-28 10:50:42,906 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2032925083] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:50:42,906 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:50:42,906 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 10:50:42,906 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [148463396] [2022-04-28 10:50:42,906 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:50:42,906 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 10:50:42,906 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:50:42,906 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 10:50:42,951 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 10:50:42,952 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 10:50:42,952 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:50:42,952 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 10:50:42,952 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=334, Unknown=0, NotChecked=0, Total=420 [2022-04-28 10:50:42,952 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 10:50:44,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:50:44,690 INFO L93 Difference]: Finished difference Result 196 states and 266 transitions. [2022-04-28 10:50:44,690 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 10:50:44,690 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 10:50:44,691 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:50:44,691 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 10:50:44,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-28 10:50:44,692 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 10:50:44,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-28 10:50:44,693 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 100 transitions. [2022-04-28 10:50:44,790 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 10:50:44,794 INFO L225 Difference]: With dead ends: 196 [2022-04-28 10:50:44,794 INFO L226 Difference]: Without dead ends: 193 [2022-04-28 10:50:44,794 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 139 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 86 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=121, Invalid=479, Unknown=0, NotChecked=0, Total=600 [2022-04-28 10:50:44,794 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 27 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 489 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s 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.6s IncrementalHoareTripleChecker+Time [2022-04-28 10:50:44,795 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.6s Time] [2022-04-28 10:50:44,795 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 193 states. [2022-04-28 10:50:45,052 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 193 to 192. [2022-04-28 10:50:45,052 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:50:45,053 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 10:50:45,053 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 10:50:45,053 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 10:50:45,057 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:50:45,057 INFO L93 Difference]: Finished difference Result 193 states and 262 transitions. [2022-04-28 10:50:45,057 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 262 transitions. [2022-04-28 10:50:45,058 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:50:45,058 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:50:45,059 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 10:50:45,059 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 10:50:45,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:50:45,064 INFO L93 Difference]: Finished difference Result 193 states and 262 transitions. [2022-04-28 10:50:45,064 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 262 transitions. [2022-04-28 10:50:45,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:50:45,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:50:45,065 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:50:45,065 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:50:45,065 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 10:50:45,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 192 states to 192 states and 261 transitions. [2022-04-28 10:50:45,069 INFO L78 Accepts]: Start accepts. Automaton has 192 states and 261 transitions. Word has length 80 [2022-04-28 10:50:45,071 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:50:45,071 INFO L495 AbstractCegarLoop]: Abstraction has 192 states and 261 transitions. [2022-04-28 10:50:45,071 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 10:50:45,071 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 192 states and 261 transitions. [2022-04-28 10:50:45,413 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 10:50:45,413 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 261 transitions. [2022-04-28 10:50:45,414 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-28 10:50:45,414 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:50:45,414 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 10:50:45,431 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 10:50:45,614 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 10:50:45,614 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:50:45,615 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:50:45,615 INFO L85 PathProgramCache]: Analyzing trace with hash 1902002164, now seen corresponding path program 7 times [2022-04-28 10:50:45,615 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:50:45,615 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [180586747] [2022-04-28 10:50:45,615 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:50:45,615 INFO L85 PathProgramCache]: Analyzing trace with hash 1902002164, now seen corresponding path program 8 times [2022-04-28 10:50:45,615 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:50:45,616 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1967330537] [2022-04-28 10:50:45,616 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:50:45,616 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:50:45,626 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:50:45,626 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2024270442] [2022-04-28 10:50:45,626 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:50:45,626 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:50:45,626 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:50:45,627 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 10:50:45,630 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 10:50:45,691 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:50:45,691 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:50:45,692 INFO L263 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 10:50:45,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:50:45,704 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:50:45,903 INFO L272 TraceCheckUtils]: 0: Hoare triple {11792#true} call ULTIMATE.init(); {11792#true} is VALID [2022-04-28 10:50:45,903 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 10:50:45,903 INFO L290 TraceCheckUtils]: 2: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 10:50:45,903 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11792#true} {11792#true} #96#return; {11792#true} is VALID [2022-04-28 10:50:45,903 INFO L272 TraceCheckUtils]: 4: Hoare triple {11792#true} call #t~ret6 := main(); {11792#true} is VALID [2022-04-28 10:50:45,903 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 10:50:45,903 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 10:50:45,904 INFO L290 TraceCheckUtils]: 7: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 10:50:45,904 INFO L290 TraceCheckUtils]: 8: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 10:50:45,904 INFO L290 TraceCheckUtils]: 9: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 10:50:45,904 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11792#true} {11792#true} #76#return; {11792#true} is VALID [2022-04-28 10:50:45,904 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 10:50:45,904 INFO L290 TraceCheckUtils]: 12: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 10:50:45,904 INFO L290 TraceCheckUtils]: 13: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 10:50:45,904 INFO L290 TraceCheckUtils]: 14: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 10:50:45,904 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11792#true} {11792#true} #78#return; {11792#true} is VALID [2022-04-28 10:50:45,904 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 10:50:45,904 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 10:50:45,904 INFO L290 TraceCheckUtils]: 18: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 10:50:45,904 INFO L290 TraceCheckUtils]: 19: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 10:50:45,904 INFO L290 TraceCheckUtils]: 20: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 10:50:45,905 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11792#true} {11792#true} #80#return; {11792#true} is VALID [2022-04-28 10:50:45,905 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 10:50:45,905 INFO L290 TraceCheckUtils]: 23: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 10:50:45,905 INFO L290 TraceCheckUtils]: 24: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 10:50:45,905 INFO L290 TraceCheckUtils]: 25: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 10:50:45,905 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11792#true} {11792#true} #82#return; {11792#true} is VALID [2022-04-28 10:50:45,905 INFO L290 TraceCheckUtils]: 27: Hoare triple {11792#true} assume !false; {11792#true} is VALID [2022-04-28 10:50:45,905 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 10:50:45,905 INFO L290 TraceCheckUtils]: 29: Hoare triple {11792#true} assume !false; {11792#true} is VALID [2022-04-28 10:50:45,905 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 10:50:45,905 INFO L290 TraceCheckUtils]: 31: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 10:50:45,905 INFO L290 TraceCheckUtils]: 32: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 10:50:45,905 INFO L290 TraceCheckUtils]: 33: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 10:50:45,905 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {11792#true} {11792#true} #84#return; {11792#true} is VALID [2022-04-28 10:50:45,905 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 10:50:45,906 INFO L290 TraceCheckUtils]: 36: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 10:50:45,906 INFO L290 TraceCheckUtils]: 37: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 10:50:45,906 INFO L290 TraceCheckUtils]: 38: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 10:50:45,906 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {11792#true} {11792#true} #86#return; {11792#true} is VALID [2022-04-28 10:50:45,906 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 10:50:45,906 INFO L290 TraceCheckUtils]: 41: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 10:50:45,906 INFO L290 TraceCheckUtils]: 42: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 10:50:45,906 INFO L290 TraceCheckUtils]: 43: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 10:50:45,906 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {11792#true} {11792#true} #88#return; {11792#true} is VALID [2022-04-28 10:50:45,906 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 10:50:45,906 INFO L290 TraceCheckUtils]: 46: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 10:50:45,906 INFO L290 TraceCheckUtils]: 47: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 10:50:45,906 INFO L290 TraceCheckUtils]: 48: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 10:50:45,906 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {11792#true} {11792#true} #90#return; {11792#true} is VALID [2022-04-28 10:50:45,907 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 10:50:45,907 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 10:50:45,907 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 10:50:45,908 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 10:50:45,908 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 10:50:45,908 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 10:50:45,908 INFO L290 TraceCheckUtils]: 56: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 10:50:45,908 INFO L290 TraceCheckUtils]: 57: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 10:50:45,908 INFO L290 TraceCheckUtils]: 58: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 10:50:45,909 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 10:50:45,909 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 10:50:45,909 INFO L290 TraceCheckUtils]: 61: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 10:50:45,914 INFO L290 TraceCheckUtils]: 62: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 10:50:45,914 INFO L290 TraceCheckUtils]: 63: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 10:50:45,916 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 10:50:45,916 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 10:50:45,916 INFO L290 TraceCheckUtils]: 66: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 10:50:45,916 INFO L290 TraceCheckUtils]: 67: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 10:50:45,916 INFO L290 TraceCheckUtils]: 68: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 10:50:45,917 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 10:50:45,917 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 10:50:45,917 INFO L290 TraceCheckUtils]: 71: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-28 10:50:45,917 INFO L290 TraceCheckUtils]: 72: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-28 10:50:45,917 INFO L290 TraceCheckUtils]: 73: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-28 10:50:45,918 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 10:50:45,919 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 10:50:45,919 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 10:50:45,919 INFO L290 TraceCheckUtils]: 77: Hoare triple {11793#false} assume !false; {11793#false} is VALID [2022-04-28 10:50:45,919 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 10:50:45,919 INFO L290 TraceCheckUtils]: 79: Hoare triple {11793#false} assume !false; {11793#false} is VALID [2022-04-28 10:50:45,919 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 10:50:45,919 INFO L290 TraceCheckUtils]: 81: Hoare triple {11793#false} ~cond := #in~cond; {11793#false} is VALID [2022-04-28 10:50:45,919 INFO L290 TraceCheckUtils]: 82: Hoare triple {11793#false} assume !(0 == ~cond); {11793#false} is VALID [2022-04-28 10:50:45,919 INFO L290 TraceCheckUtils]: 83: Hoare triple {11793#false} assume true; {11793#false} is VALID [2022-04-28 10:50:45,919 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {11793#false} {11793#false} #84#return; {11793#false} is VALID [2022-04-28 10:50:45,919 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 10:50:45,919 INFO L290 TraceCheckUtils]: 86: Hoare triple {11793#false} ~cond := #in~cond; {11793#false} is VALID [2022-04-28 10:50:45,919 INFO L290 TraceCheckUtils]: 87: Hoare triple {11793#false} assume 0 == ~cond; {11793#false} is VALID [2022-04-28 10:50:45,919 INFO L290 TraceCheckUtils]: 88: Hoare triple {11793#false} assume !false; {11793#false} is VALID [2022-04-28 10:50:45,920 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 10:50:45,920 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 10:50:45,920 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:50:45,920 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1967330537] [2022-04-28 10:50:45,920 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:50:45,920 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2024270442] [2022-04-28 10:50:45,920 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2024270442] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:50:45,920 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:50:45,920 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:50:45,920 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:50:45,921 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [180586747] [2022-04-28 10:50:45,921 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [180586747] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:50:45,921 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:50:45,921 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:50:45,921 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1763751278] [2022-04-28 10:50:45,921 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:50:45,921 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 10:50:45,921 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:50:45,921 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 10:50:45,965 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 10:50:45,966 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 10:50:45,966 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:50:45,966 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 10:50:45,966 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 10:50:45,966 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 10:50:46,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:50:46,442 INFO L93 Difference]: Finished difference Result 234 states and 319 transitions. [2022-04-28 10:50:46,442 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 10:50:46,442 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 10:50:46,443 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:50:46,443 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 10:50:46,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 89 transitions. [2022-04-28 10:50:46,444 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 10:50:46,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 89 transitions. [2022-04-28 10:50:46,444 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 89 transitions. [2022-04-28 10:50:46,509 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 10:50:46,511 INFO L225 Difference]: With dead ends: 234 [2022-04-28 10:50:46,511 INFO L226 Difference]: Without dead ends: 175 [2022-04-28 10:50:46,512 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 10:50:46,512 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 10:50:46,513 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 10:50:46,513 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 175 states. [2022-04-28 10:50:46,767 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 175 to 166. [2022-04-28 10:50:46,767 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:50:46,767 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 10:50:46,767 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 10:50:46,768 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 10:50:46,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:50:46,771 INFO L93 Difference]: Finished difference Result 175 states and 228 transitions. [2022-04-28 10:50:46,771 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 228 transitions. [2022-04-28 10:50:46,771 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:50:46,771 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:50:46,772 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 10:50:46,772 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 10:50:46,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:50:46,775 INFO L93 Difference]: Finished difference Result 175 states and 228 transitions. [2022-04-28 10:50:46,775 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 228 transitions. [2022-04-28 10:50:46,776 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:50:46,776 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:50:46,776 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:50:46,776 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:50:46,776 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 10:50:46,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 214 transitions. [2022-04-28 10:50:46,779 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 214 transitions. Word has length 89 [2022-04-28 10:50:46,779 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:50:46,779 INFO L495 AbstractCegarLoop]: Abstraction has 166 states and 214 transitions. [2022-04-28 10:50:46,780 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 10:50:46,780 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 166 states and 214 transitions. [2022-04-28 10:50:47,077 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 10:50:47,077 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 214 transitions. [2022-04-28 10:50:47,078 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2022-04-28 10:50:47,078 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:50:47,078 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 10:50:47,094 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 10:50:47,278 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 10:50:47,279 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:50:47,279 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:50:47,279 INFO L85 PathProgramCache]: Analyzing trace with hash -1738688612, now seen corresponding path program 1 times [2022-04-28 10:50:47,279 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:50:47,279 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1014908363] [2022-04-28 10:50:47,280 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:50:47,280 INFO L85 PathProgramCache]: Analyzing trace with hash -1738688612, now seen corresponding path program 2 times [2022-04-28 10:50:47,280 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:50:47,280 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [381203925] [2022-04-28 10:50:47,280 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:50:47,280 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:50:47,291 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:50:47,291 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1984505438] [2022-04-28 10:50:47,291 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:50:47,291 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:50:47,291 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:50:47,305 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 10:50:47,306 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 10:50:47,359 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:50:47,359 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:50:47,361 INFO L263 TraceCheckSpWp]: Trace formula consists of 246 conjuncts, 61 conjunts are in the unsatisfiable core [2022-04-28 10:50:47,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:50:47,431 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:50:55,075 INFO L272 TraceCheckUtils]: 0: Hoare triple {13217#true} call ULTIMATE.init(); {13217#true} is VALID [2022-04-28 10:50:55,075 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 10:50:55,075 INFO L290 TraceCheckUtils]: 2: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 10:50:55,075 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13217#true} {13217#true} #96#return; {13217#true} is VALID [2022-04-28 10:50:55,075 INFO L272 TraceCheckUtils]: 4: Hoare triple {13217#true} call #t~ret6 := main(); {13217#true} is VALID [2022-04-28 10:50:55,075 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 10:50:55,075 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 10:50:55,075 INFO L290 TraceCheckUtils]: 7: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 10:50:55,076 INFO L290 TraceCheckUtils]: 8: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 10:50:55,076 INFO L290 TraceCheckUtils]: 9: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 10:50:55,076 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13217#true} {13217#true} #76#return; {13217#true} is VALID [2022-04-28 10:50:55,076 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 10:50:55,076 INFO L290 TraceCheckUtils]: 12: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 10:50:55,076 INFO L290 TraceCheckUtils]: 13: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 10:50:55,076 INFO L290 TraceCheckUtils]: 14: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 10:50:55,076 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13217#true} {13217#true} #78#return; {13217#true} is VALID [2022-04-28 10:50:55,076 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 10:50:55,077 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 10:50:55,077 INFO L290 TraceCheckUtils]: 18: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 10:50:55,077 INFO L290 TraceCheckUtils]: 19: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 10:50:55,077 INFO L290 TraceCheckUtils]: 20: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 10:50:55,077 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 10:50:55,077 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 10:50:55,077 INFO L290 TraceCheckUtils]: 23: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 10:50:55,078 INFO L290 TraceCheckUtils]: 24: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 10:50:55,078 INFO L290 TraceCheckUtils]: 25: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 10:50:55,078 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 10:50:55,078 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 10:50:55,079 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 10:50:55,093 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 10:50:55,093 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 10:50:55,093 INFO L290 TraceCheckUtils]: 31: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 10:50:55,093 INFO L290 TraceCheckUtils]: 32: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 10:50:55,093 INFO L290 TraceCheckUtils]: 33: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 10:50:55,094 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 10:50:55,094 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 10:50:55,094 INFO L290 TraceCheckUtils]: 36: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 10:50:55,094 INFO L290 TraceCheckUtils]: 37: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 10:50:55,094 INFO L290 TraceCheckUtils]: 38: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 10:50:55,095 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 10:50:55,095 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 10:50:55,095 INFO L290 TraceCheckUtils]: 41: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 10:50:55,095 INFO L290 TraceCheckUtils]: 42: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 10:50:55,095 INFO L290 TraceCheckUtils]: 43: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 10:50:55,096 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 10:50:55,096 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 10:50:55,096 INFO L290 TraceCheckUtils]: 46: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 10:50:55,096 INFO L290 TraceCheckUtils]: 47: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 10:50:55,096 INFO L290 TraceCheckUtils]: 48: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 10:50:55,097 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 10:50:55,097 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 10:50:55,098 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 10:50:55,098 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 10:50:55,098 INFO L290 TraceCheckUtils]: 53: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 10:50:55,098 INFO L290 TraceCheckUtils]: 54: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 10:50:55,098 INFO L290 TraceCheckUtils]: 55: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 10:50:55,098 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 10:50:55,098 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 10:50:55,099 INFO L290 TraceCheckUtils]: 58: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 10:50:55,099 INFO L290 TraceCheckUtils]: 59: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 10:50:55,099 INFO L290 TraceCheckUtils]: 60: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 10:50:55,099 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 10:50:55,099 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 10:50:55,100 INFO L290 TraceCheckUtils]: 63: Hoare triple {13217#true} ~cond := #in~cond; {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:50:55,100 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 10:50:55,100 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 10:50:55,101 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 10:50:55,101 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 10:50:55,101 INFO L290 TraceCheckUtils]: 68: Hoare triple {13217#true} ~cond := #in~cond; {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:50:55,101 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 10:50:55,102 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 10:50:55,102 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 10:50:55,103 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 10:50:55,103 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 10:50:55,103 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 10:50:55,104 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 10:50:55,104 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 10:50:55,104 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 10:50:55,104 INFO L290 TraceCheckUtils]: 78: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-28 10:50:55,104 INFO L290 TraceCheckUtils]: 79: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-28 10:50:55,105 INFO L290 TraceCheckUtils]: 80: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-28 10:50:55,105 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 10:50:55,105 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 10:50:55,105 INFO L290 TraceCheckUtils]: 83: Hoare triple {13217#true} ~cond := #in~cond; {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:50:55,106 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 10:50:55,106 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 10:50:55,107 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 10:50:55,107 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 10:50:55,107 INFO L290 TraceCheckUtils]: 88: Hoare triple {13217#true} ~cond := #in~cond; {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:50:55,107 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 10:50:55,108 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 10:50:55,108 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 10:50:55,222 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 10:50:55,222 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 10:50:55,223 INFO L290 TraceCheckUtils]: 94: Hoare triple {13510#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13218#false} is VALID [2022-04-28 10:50:55,223 INFO L290 TraceCheckUtils]: 95: Hoare triple {13218#false} assume !false; {13218#false} is VALID [2022-04-28 10:50:55,223 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 10:50:55,223 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:52:27,101 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:52:27,101 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [381203925] [2022-04-28 10:52:27,101 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:52:27,101 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1984505438] [2022-04-28 10:52:27,102 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1984505438] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:52:27,102 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 10:52:27,102 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2022-04-28 10:52:27,102 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:52:27,102 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1014908363] [2022-04-28 10:52:27,102 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1014908363] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:52:27,102 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:52:27,102 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 10:52:27,102 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [913271461] [2022-04-28 10:52:27,102 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:52:27,103 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 10:52:27,103 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:52:27,103 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 10:52:27,229 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 10:52:27,229 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 10:52:27,229 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:52:27,229 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 10:52:27,229 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=235, Unknown=0, NotChecked=0, Total=306 [2022-04-28 10:52:27,229 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 10:52:38,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:52:38,662 INFO L93 Difference]: Finished difference Result 181 states and 226 transitions. [2022-04-28 10:52:38,662 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 10:52:38,663 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 10:52:38,663 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:52:38,663 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 10:52:38,664 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 105 transitions. [2022-04-28 10:52:38,664 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 10:52:38,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 105 transitions. [2022-04-28 10:52:38,665 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 105 transitions. [2022-04-28 10:52:38,844 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 10:52:38,847 INFO L225 Difference]: With dead ends: 181 [2022-04-28 10:52:38,847 INFO L226 Difference]: Without dead ends: 179 [2022-04-28 10:52:38,849 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 103 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 10.0s TimeCoverageRelationStatistics Valid=112, Invalid=394, Unknown=0, NotChecked=0, Total=506 [2022-04-28 10:52:38,851 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 27 mSDsluCounter, 185 mSDsCounter, 0 mSdLazyCounter, 534 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:52:38,851 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.4s Time] [2022-04-28 10:52:38,851 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 179 states. [2022-04-28 10:52:39,123 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 179 to 178. [2022-04-28 10:52:39,123 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:52:39,123 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 10:52:39,123 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 10:52:39,124 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 10:52:39,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:52:39,128 INFO L93 Difference]: Finished difference Result 179 states and 224 transitions. [2022-04-28 10:52:39,128 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 224 transitions. [2022-04-28 10:52:39,128 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:52:39,128 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:52:39,129 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 10:52:39,129 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 10:52:39,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:52:39,132 INFO L93 Difference]: Finished difference Result 179 states and 224 transitions. [2022-04-28 10:52:39,132 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 224 transitions. [2022-04-28 10:52:39,133 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:52:39,133 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:52:39,133 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:52:39,133 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:52:39,134 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 10:52:39,137 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 178 states to 178 states and 223 transitions. [2022-04-28 10:52:39,138 INFO L78 Accepts]: Start accepts. Automaton has 178 states and 223 transitions. Word has length 96 [2022-04-28 10:52:39,138 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:52:39,138 INFO L495 AbstractCegarLoop]: Abstraction has 178 states and 223 transitions. [2022-04-28 10:52:39,138 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 10:52:39,138 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 178 states and 223 transitions. [2022-04-28 10:52:39,492 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 10:52:39,493 INFO L276 IsEmpty]: Start isEmpty. Operand 178 states and 223 transitions. [2022-04-28 10:52:39,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-28 10:52:39,495 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:52:39,495 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 10:52:39,512 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 10:52:39,712 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 10:52:39,712 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:52:39,713 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:52:39,713 INFO L85 PathProgramCache]: Analyzing trace with hash -1265808182, now seen corresponding path program 5 times [2022-04-28 10:52:39,713 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:52:39,713 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1165459282] [2022-04-28 10:52:39,713 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:52:39,713 INFO L85 PathProgramCache]: Analyzing trace with hash -1265808182, now seen corresponding path program 6 times [2022-04-28 10:52:39,713 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:52:39,714 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2064518128] [2022-04-28 10:52:39,714 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:52:39,715 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:52:39,725 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:52:39,725 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [625402017] [2022-04-28 10:52:39,725 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:52:39,725 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:52:39,725 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:52:39,726 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 10:52:39,727 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 10:52:39,782 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-28 10:52:39,782 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:52:39,783 INFO L263 TraceCheckSpWp]: Trace formula consists of 182 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 10:52:39,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:52:39,797 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:52:40,196 INFO L272 TraceCheckUtils]: 0: Hoare triple {14683#true} call ULTIMATE.init(); {14683#true} is VALID [2022-04-28 10:52:40,196 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 10:52:40,196 INFO L290 TraceCheckUtils]: 2: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,196 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14683#true} {14683#true} #96#return; {14683#true} is VALID [2022-04-28 10:52:40,196 INFO L272 TraceCheckUtils]: 4: Hoare triple {14683#true} call #t~ret6 := main(); {14683#true} is VALID [2022-04-28 10:52:40,196 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 10:52:40,196 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 10:52:40,196 INFO L290 TraceCheckUtils]: 7: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,197 INFO L290 TraceCheckUtils]: 8: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,197 INFO L290 TraceCheckUtils]: 9: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,197 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14683#true} {14683#true} #76#return; {14683#true} is VALID [2022-04-28 10:52:40,197 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 10:52:40,197 INFO L290 TraceCheckUtils]: 12: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,197 INFO L290 TraceCheckUtils]: 13: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,197 INFO L290 TraceCheckUtils]: 14: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,197 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14683#true} {14683#true} #78#return; {14683#true} is VALID [2022-04-28 10:52:40,197 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 10:52:40,197 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 10:52:40,197 INFO L290 TraceCheckUtils]: 18: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,197 INFO L290 TraceCheckUtils]: 19: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,197 INFO L290 TraceCheckUtils]: 20: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,197 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14683#true} {14683#true} #80#return; {14683#true} is VALID [2022-04-28 10:52:40,197 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 10:52:40,198 INFO L290 TraceCheckUtils]: 23: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,198 INFO L290 TraceCheckUtils]: 24: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,198 INFO L290 TraceCheckUtils]: 25: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,198 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14683#true} {14683#true} #82#return; {14683#true} is VALID [2022-04-28 10:52:40,198 INFO L290 TraceCheckUtils]: 27: Hoare triple {14683#true} assume !false; {14683#true} is VALID [2022-04-28 10:52:40,208 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 10:52:40,208 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 10:52:40,208 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 10:52:40,208 INFO L290 TraceCheckUtils]: 31: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,208 INFO L290 TraceCheckUtils]: 32: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,208 INFO L290 TraceCheckUtils]: 33: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,209 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 10:52:40,209 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 10:52:40,209 INFO L290 TraceCheckUtils]: 36: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,209 INFO L290 TraceCheckUtils]: 37: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,209 INFO L290 TraceCheckUtils]: 38: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,210 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 10:52:40,210 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 10:52:40,210 INFO L290 TraceCheckUtils]: 41: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,210 INFO L290 TraceCheckUtils]: 42: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,210 INFO L290 TraceCheckUtils]: 43: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,210 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 10:52:40,211 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 10:52:40,211 INFO L290 TraceCheckUtils]: 46: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,211 INFO L290 TraceCheckUtils]: 47: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,211 INFO L290 TraceCheckUtils]: 48: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,211 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 10:52:40,212 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 10:52:40,212 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 10:52:40,212 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 10:52:40,212 INFO L290 TraceCheckUtils]: 53: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,212 INFO L290 TraceCheckUtils]: 54: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,213 INFO L290 TraceCheckUtils]: 55: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,213 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 10:52:40,213 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 10:52:40,213 INFO L290 TraceCheckUtils]: 58: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,213 INFO L290 TraceCheckUtils]: 59: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,213 INFO L290 TraceCheckUtils]: 60: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,214 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 10:52:40,214 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 10:52:40,214 INFO L290 TraceCheckUtils]: 63: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,214 INFO L290 TraceCheckUtils]: 64: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,214 INFO L290 TraceCheckUtils]: 65: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,215 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 10:52:40,215 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 10:52:40,215 INFO L290 TraceCheckUtils]: 68: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,215 INFO L290 TraceCheckUtils]: 69: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,215 INFO L290 TraceCheckUtils]: 70: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,216 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 10:52:40,218 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 10:52:40,219 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 10:52:40,219 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 10:52:40,219 INFO L290 TraceCheckUtils]: 75: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,219 INFO L290 TraceCheckUtils]: 76: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,219 INFO L290 TraceCheckUtils]: 77: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,220 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 10:52:40,220 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 10:52:40,220 INFO L290 TraceCheckUtils]: 80: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,220 INFO L290 TraceCheckUtils]: 81: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,220 INFO L290 TraceCheckUtils]: 82: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,220 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 10:52:40,221 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 10:52:40,221 INFO L290 TraceCheckUtils]: 85: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,221 INFO L290 TraceCheckUtils]: 86: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,221 INFO L290 TraceCheckUtils]: 87: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,221 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 10:52:40,221 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 10:52:40,222 INFO L290 TraceCheckUtils]: 90: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,222 INFO L290 TraceCheckUtils]: 91: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,222 INFO L290 TraceCheckUtils]: 92: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,222 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 10:52:40,223 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 10:52:40,223 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 10:52:40,224 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 10:52:40,224 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 10:52:40,225 INFO L290 TraceCheckUtils]: 98: Hoare triple {14984#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14684#false} is VALID [2022-04-28 10:52:40,225 INFO L290 TraceCheckUtils]: 99: Hoare triple {14684#false} assume !false; {14684#false} is VALID [2022-04-28 10:52:40,225 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 10:52:40,225 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:52:40,421 INFO L290 TraceCheckUtils]: 99: Hoare triple {14684#false} assume !false; {14684#false} is VALID [2022-04-28 10:52:40,421 INFO L290 TraceCheckUtils]: 98: Hoare triple {14984#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14684#false} is VALID [2022-04-28 10:52:40,422 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 10:52:40,422 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 10:52:40,422 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 10:52:40,424 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 10:52:40,424 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 10:52:40,425 INFO L290 TraceCheckUtils]: 92: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,425 INFO L290 TraceCheckUtils]: 91: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,425 INFO L290 TraceCheckUtils]: 90: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,425 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 10:52:40,425 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 10:52:40,425 INFO L290 TraceCheckUtils]: 87: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,425 INFO L290 TraceCheckUtils]: 86: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,425 INFO L290 TraceCheckUtils]: 85: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,425 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 10:52:40,426 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 10:52:40,426 INFO L290 TraceCheckUtils]: 82: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,426 INFO L290 TraceCheckUtils]: 81: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,426 INFO L290 TraceCheckUtils]: 80: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,426 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 10:52:40,426 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 10:52:40,426 INFO L290 TraceCheckUtils]: 77: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,427 INFO L290 TraceCheckUtils]: 76: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,427 INFO L290 TraceCheckUtils]: 75: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,427 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 10:52:40,427 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 10:52:40,428 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 10:52:40,429 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 10:52:40,429 INFO L290 TraceCheckUtils]: 70: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,429 INFO L290 TraceCheckUtils]: 69: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,429 INFO L290 TraceCheckUtils]: 68: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,429 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 10:52:40,429 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 10:52:40,429 INFO L290 TraceCheckUtils]: 65: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,429 INFO L290 TraceCheckUtils]: 64: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,429 INFO L290 TraceCheckUtils]: 63: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,430 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 10:52:40,430 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 10:52:40,430 INFO L290 TraceCheckUtils]: 60: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,430 INFO L290 TraceCheckUtils]: 59: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,430 INFO L290 TraceCheckUtils]: 58: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,430 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 10:52:40,430 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 10:52:40,431 INFO L290 TraceCheckUtils]: 55: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,431 INFO L290 TraceCheckUtils]: 54: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,431 INFO L290 TraceCheckUtils]: 53: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,431 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 10:52:40,432 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 10:52:40,433 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 10:52:40,433 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 10:52:40,433 INFO L290 TraceCheckUtils]: 48: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,433 INFO L290 TraceCheckUtils]: 47: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,434 INFO L290 TraceCheckUtils]: 46: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,434 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 10:52:40,434 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 10:52:40,434 INFO L290 TraceCheckUtils]: 43: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,434 INFO L290 TraceCheckUtils]: 42: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,434 INFO L290 TraceCheckUtils]: 41: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,434 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 10:52:40,435 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 10:52:40,435 INFO L290 TraceCheckUtils]: 38: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,435 INFO L290 TraceCheckUtils]: 37: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,435 INFO L290 TraceCheckUtils]: 36: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,435 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 10:52:40,435 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 10:52:40,435 INFO L290 TraceCheckUtils]: 33: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,435 INFO L290 TraceCheckUtils]: 32: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,435 INFO L290 TraceCheckUtils]: 31: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,436 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 10:52:40,436 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 10:52:40,436 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 10:52:40,436 INFO L290 TraceCheckUtils]: 27: Hoare triple {14683#true} assume !false; {14683#true} is VALID [2022-04-28 10:52:40,436 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14683#true} {14683#true} #82#return; {14683#true} is VALID [2022-04-28 10:52:40,436 INFO L290 TraceCheckUtils]: 25: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,436 INFO L290 TraceCheckUtils]: 24: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,436 INFO L290 TraceCheckUtils]: 23: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,436 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 10:52:40,437 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14683#true} {14683#true} #80#return; {14683#true} is VALID [2022-04-28 10:52:40,437 INFO L290 TraceCheckUtils]: 20: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,437 INFO L290 TraceCheckUtils]: 19: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,437 INFO L290 TraceCheckUtils]: 18: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,437 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 10:52:40,437 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 10:52:40,437 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14683#true} {14683#true} #78#return; {14683#true} is VALID [2022-04-28 10:52:40,437 INFO L290 TraceCheckUtils]: 14: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,437 INFO L290 TraceCheckUtils]: 13: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,437 INFO L290 TraceCheckUtils]: 12: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,437 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 10:52:40,437 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14683#true} {14683#true} #76#return; {14683#true} is VALID [2022-04-28 10:52:40,437 INFO L290 TraceCheckUtils]: 9: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,437 INFO L290 TraceCheckUtils]: 8: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-28 10:52:40,437 INFO L290 TraceCheckUtils]: 7: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-28 10:52:40,438 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 10:52:40,438 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 10:52:40,438 INFO L272 TraceCheckUtils]: 4: Hoare triple {14683#true} call #t~ret6 := main(); {14683#true} is VALID [2022-04-28 10:52:40,438 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14683#true} {14683#true} #96#return; {14683#true} is VALID [2022-04-28 10:52:40,438 INFO L290 TraceCheckUtils]: 2: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-28 10:52:40,438 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 10:52:40,438 INFO L272 TraceCheckUtils]: 0: Hoare triple {14683#true} call ULTIMATE.init(); {14683#true} is VALID [2022-04-28 10:52:40,438 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 10:52:40,438 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:52:40,438 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2064518128] [2022-04-28 10:52:40,439 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:52:40,439 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [625402017] [2022-04-28 10:52:40,439 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [625402017] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 10:52:40,439 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 10:52:40,439 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-28 10:52:40,439 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:52:40,439 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1165459282] [2022-04-28 10:52:40,439 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1165459282] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:52:40,439 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:52:40,439 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:52:40,439 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [460059178] [2022-04-28 10:52:40,439 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:52:40,440 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 10:52:40,440 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:52:40,440 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 10:52:40,458 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 10:52:40,459 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 10:52:40,459 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:52:40,459 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 10:52:40,459 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 10:52:40,459 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 10:52:40,713 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:52:40,713 INFO L93 Difference]: Finished difference Result 184 states and 228 transitions. [2022-04-28 10:52:40,713 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 10:52:40,713 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 10:52:40,714 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:52:40,714 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 10:52:40,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2022-04-28 10:52:40,714 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 10:52:40,715 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2022-04-28 10:52:40,715 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2022-04-28 10:52:40,744 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 10:52:40,747 INFO L225 Difference]: With dead ends: 184 [2022-04-28 10:52:40,747 INFO L226 Difference]: Without dead ends: 182 [2022-04-28 10:52:40,748 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 10:52:40,749 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 10:52:40,749 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 10:52:40,750 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-28 10:52:41,005 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 182. [2022-04-28 10:52:41,005 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:52:41,006 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 10:52:41,006 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 10:52:41,006 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 10:52:41,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:52:41,009 INFO L93 Difference]: Finished difference Result 182 states and 226 transitions. [2022-04-28 10:52:41,009 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 226 transitions. [2022-04-28 10:52:41,010 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:52:41,010 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:52:41,010 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 10:52:41,010 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 10:52:41,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:52:41,013 INFO L93 Difference]: Finished difference Result 182 states and 226 transitions. [2022-04-28 10:52:41,014 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 226 transitions. [2022-04-28 10:52:41,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:52:41,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:52:41,014 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:52:41,014 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:52:41,014 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 10:52:41,018 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 182 states to 182 states and 226 transitions. [2022-04-28 10:52:41,018 INFO L78 Accepts]: Start accepts. Automaton has 182 states and 226 transitions. Word has length 100 [2022-04-28 10:52:41,018 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:52:41,018 INFO L495 AbstractCegarLoop]: Abstraction has 182 states and 226 transitions. [2022-04-28 10:52:41,018 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 10:52:41,018 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 182 states and 226 transitions. [2022-04-28 10:52:41,405 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 10:52:41,405 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 226 transitions. [2022-04-28 10:52:41,406 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-28 10:52:41,406 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:52:41,406 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 10:52:41,422 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 10:52:41,606 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 10:52:41,606 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:52:41,607 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:52:41,607 INFO L85 PathProgramCache]: Analyzing trace with hash 1068463892, now seen corresponding path program 3 times [2022-04-28 10:52:41,607 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:52:41,607 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [728637644] [2022-04-28 10:52:41,607 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:52:41,607 INFO L85 PathProgramCache]: Analyzing trace with hash 1068463892, now seen corresponding path program 4 times [2022-04-28 10:52:41,607 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:52:41,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [240977723] [2022-04-28 10:52:41,608 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:52:41,608 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:52:41,620 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:52:41,620 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [523878322] [2022-04-28 10:52:41,620 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:52:41,620 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:52:41,621 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:52:41,636 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 10:52:41,671 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 10:52:41,720 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:52:41,720 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:52:41,721 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-28 10:52:41,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:52:41,739 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:52:43,215 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 10:52:43,933 INFO L272 TraceCheckUtils]: 0: Hoare triple {16389#true} call ULTIMATE.init(); {16389#true} is VALID [2022-04-28 10:52:43,934 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 10:52:43,934 INFO L290 TraceCheckUtils]: 2: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 10:52:43,934 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16389#true} {16389#true} #96#return; {16389#true} is VALID [2022-04-28 10:52:43,934 INFO L272 TraceCheckUtils]: 4: Hoare triple {16389#true} call #t~ret6 := main(); {16389#true} is VALID [2022-04-28 10:52:43,934 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 10:52:43,934 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 10:52:43,934 INFO L290 TraceCheckUtils]: 7: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 10:52:43,934 INFO L290 TraceCheckUtils]: 8: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 10:52:43,934 INFO L290 TraceCheckUtils]: 9: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 10:52:43,934 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16389#true} {16389#true} #76#return; {16389#true} is VALID [2022-04-28 10:52:43,934 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 10:52:43,935 INFO L290 TraceCheckUtils]: 12: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 10:52:43,935 INFO L290 TraceCheckUtils]: 13: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 10:52:43,935 INFO L290 TraceCheckUtils]: 14: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 10:52:43,935 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16389#true} {16389#true} #78#return; {16389#true} is VALID [2022-04-28 10:52:43,935 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 10:52:43,935 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 10:52:43,935 INFO L290 TraceCheckUtils]: 18: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 10:52:43,935 INFO L290 TraceCheckUtils]: 19: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 10:52:43,935 INFO L290 TraceCheckUtils]: 20: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 10:52:43,936 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 10:52:43,936 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 10:52:43,936 INFO L290 TraceCheckUtils]: 23: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 10:52:43,936 INFO L290 TraceCheckUtils]: 24: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 10:52:43,936 INFO L290 TraceCheckUtils]: 25: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 10:52:43,937 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 10:52:43,937 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 10:52:43,937 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 10:52:43,938 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 10:52:43,938 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 10:52:43,938 INFO L290 TraceCheckUtils]: 31: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 10:52:43,938 INFO L290 TraceCheckUtils]: 32: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 10:52:43,938 INFO L290 TraceCheckUtils]: 33: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 10:52:43,938 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 10:52:43,938 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 10:52:43,938 INFO L290 TraceCheckUtils]: 36: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 10:52:43,938 INFO L290 TraceCheckUtils]: 37: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 10:52:43,939 INFO L290 TraceCheckUtils]: 38: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 10:52:43,939 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 10:52:43,939 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 10:52:43,939 INFO L290 TraceCheckUtils]: 41: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 10:52:43,939 INFO L290 TraceCheckUtils]: 42: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 10:52:43,939 INFO L290 TraceCheckUtils]: 43: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 10:52:43,940 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 10:52:43,940 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 10:52:43,940 INFO L290 TraceCheckUtils]: 46: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 10:52:43,940 INFO L290 TraceCheckUtils]: 47: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 10:52:43,940 INFO L290 TraceCheckUtils]: 48: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 10:52:43,940 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 10:52:43,941 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 10:52:43,941 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 10:52:43,941 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 10:52:43,942 INFO L290 TraceCheckUtils]: 53: Hoare triple {16389#true} ~cond := #in~cond; {16556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:52:43,942 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 10:52:43,942 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 10:52:43,943 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 10:52:43,943 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 10:52:43,943 INFO L290 TraceCheckUtils]: 58: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 10:52:43,943 INFO L290 TraceCheckUtils]: 59: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 10:52:43,943 INFO L290 TraceCheckUtils]: 60: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 10:52:43,943 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 10:52:43,943 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 10:52:43,944 INFO L290 TraceCheckUtils]: 63: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 10:52:43,944 INFO L290 TraceCheckUtils]: 64: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 10:52:43,944 INFO L290 TraceCheckUtils]: 65: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 10:52:43,944 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 10:52:43,944 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 10:52:43,944 INFO L290 TraceCheckUtils]: 68: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 10:52:43,944 INFO L290 TraceCheckUtils]: 69: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 10:52:43,944 INFO L290 TraceCheckUtils]: 70: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 10:52:43,945 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 10:52:43,946 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 10:52:43,946 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 10:52:43,946 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 10:52:43,946 INFO L290 TraceCheckUtils]: 75: Hoare triple {16389#true} ~cond := #in~cond; {16556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:52:43,947 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 10:52:43,947 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 10:52:43,948 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 10:52:43,948 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 10:52:43,948 INFO L290 TraceCheckUtils]: 80: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 10:52:43,948 INFO L290 TraceCheckUtils]: 81: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 10:52:43,948 INFO L290 TraceCheckUtils]: 82: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 10:52:43,949 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 10:52:43,949 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 10:52:43,949 INFO L290 TraceCheckUtils]: 85: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 10:52:43,949 INFO L290 TraceCheckUtils]: 86: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 10:52:43,949 INFO L290 TraceCheckUtils]: 87: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 10:52:43,949 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 10:52:43,949 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 10:52:43,949 INFO L290 TraceCheckUtils]: 90: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-28 10:52:43,950 INFO L290 TraceCheckUtils]: 91: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-28 10:52:43,950 INFO L290 TraceCheckUtils]: 92: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-28 10:52:43,950 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 10:52:43,950 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 10:52:43,952 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 10:52:43,952 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 10:52:43,953 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 10:52:43,953 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 10:52:43,953 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 10:52:43,954 INFO L290 TraceCheckUtils]: 100: Hoare triple {16702#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16390#false} is VALID [2022-04-28 10:52:43,954 INFO L290 TraceCheckUtils]: 101: Hoare triple {16390#false} assume !false; {16390#false} is VALID [2022-04-28 10:52:43,954 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 10:52:43,954 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:53:48,432 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 10:53:52,072 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 10:53:54,277 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:53:54,277 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [240977723] [2022-04-28 10:53:54,277 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:53:54,277 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [523878322] [2022-04-28 10:53:54,277 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [523878322] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:53:54,278 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 10:53:54,278 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14] total 14 [2022-04-28 10:53:54,278 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:53:54,278 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [728637644] [2022-04-28 10:53:54,278 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [728637644] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:53:54,278 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:53:54,278 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 10:53:54,278 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [80595277] [2022-04-28 10:53:54,278 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:53:54,279 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 10:53:54,279 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:53:54,279 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 10:53:54,344 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 10:53:54,344 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 10:53:54,345 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:53:54,345 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 10:53:54,345 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=308, Unknown=1, NotChecked=0, Total=380 [2022-04-28 10:53:54,345 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 10:53:56,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:53:56,939 INFO L93 Difference]: Finished difference Result 211 states and 269 transitions. [2022-04-28 10:53:56,939 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 10:53:56,939 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 10:53:56,939 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:53:56,939 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 10:53:56,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 112 transitions. [2022-04-28 10:53:56,940 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 10:53:56,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 112 transitions. [2022-04-28 10:53:56,941 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 112 transitions. [2022-04-28 10:53:57,064 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 10:53:57,067 INFO L225 Difference]: With dead ends: 211 [2022-04-28 10:53:57,067 INFO L226 Difference]: Without dead ends: 208 [2022-04-28 10:53:57,068 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 113 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 108 ImplicationChecksByTransitivity, 2.7s TimeCoverageRelationStatistics Valid=99, Invalid=452, Unknown=1, NotChecked=0, Total=552 [2022-04-28 10:53:57,068 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 10:53:57,068 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 10:53:57,068 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 208 states. [2022-04-28 10:53:57,416 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 208 to 207. [2022-04-28 10:53:57,416 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:53:57,416 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 10:53:57,416 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 10:53:57,417 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 10:53:57,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:53:57,420 INFO L93 Difference]: Finished difference Result 208 states and 265 transitions. [2022-04-28 10:53:57,420 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 265 transitions. [2022-04-28 10:53:57,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:53:57,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:53:57,421 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 10:53:57,422 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 10:53:57,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:53:57,428 INFO L93 Difference]: Finished difference Result 208 states and 265 transitions. [2022-04-28 10:53:57,428 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 265 transitions. [2022-04-28 10:53:57,428 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:53:57,428 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:53:57,428 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:53:57,428 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:53:57,429 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 10:53:57,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 207 states to 207 states and 264 transitions. [2022-04-28 10:53:57,433 INFO L78 Accepts]: Start accepts. Automaton has 207 states and 264 transitions. Word has length 102 [2022-04-28 10:53:57,434 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:53:57,434 INFO L495 AbstractCegarLoop]: Abstraction has 207 states and 264 transitions. [2022-04-28 10:53:57,434 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 10:53:57,434 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 207 states and 264 transitions. [2022-04-28 10:53:57,844 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 10:53:57,844 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 264 transitions. [2022-04-28 10:53:57,845 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-28 10:53:57,845 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:53:57,845 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 10:53:57,886 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 10:53:58,045 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 10:53:58,046 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:53:58,046 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:53:58,046 INFO L85 PathProgramCache]: Analyzing trace with hash 351496396, now seen corresponding path program 5 times [2022-04-28 10:53:58,046 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:53:58,046 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [696596289] [2022-04-28 10:53:58,046 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:53:58,047 INFO L85 PathProgramCache]: Analyzing trace with hash 351496396, now seen corresponding path program 6 times [2022-04-28 10:53:58,047 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:53:58,047 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2123369726] [2022-04-28 10:53:58,047 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:53:58,047 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:53:58,065 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:53:58,065 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [544508904] [2022-04-28 10:53:58,065 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:53:58,065 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:53:58,065 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:53:58,066 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 10:53:58,067 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 10:53:58,122 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 10:53:58,122 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:53:58,123 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 10:53:58,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:53:58,139 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:53:58,410 INFO L272 TraceCheckUtils]: 0: Hoare triple {18067#true} call ULTIMATE.init(); {18067#true} is VALID [2022-04-28 10:53:58,410 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 10:53:58,410 INFO L290 TraceCheckUtils]: 2: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,410 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18067#true} {18067#true} #96#return; {18067#true} is VALID [2022-04-28 10:53:58,410 INFO L272 TraceCheckUtils]: 4: Hoare triple {18067#true} call #t~ret6 := main(); {18067#true} is VALID [2022-04-28 10:53:58,410 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 10:53:58,410 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 10:53:58,411 INFO L290 TraceCheckUtils]: 7: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,411 INFO L290 TraceCheckUtils]: 8: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,411 INFO L290 TraceCheckUtils]: 9: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,411 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18067#true} {18067#true} #76#return; {18067#true} is VALID [2022-04-28 10:53:58,411 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 10:53:58,411 INFO L290 TraceCheckUtils]: 12: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,411 INFO L290 TraceCheckUtils]: 13: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,411 INFO L290 TraceCheckUtils]: 14: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,411 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18067#true} {18067#true} #78#return; {18067#true} is VALID [2022-04-28 10:53:58,411 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 10:53:58,411 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 10:53:58,411 INFO L290 TraceCheckUtils]: 18: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,411 INFO L290 TraceCheckUtils]: 19: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,411 INFO L290 TraceCheckUtils]: 20: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,412 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18067#true} {18067#true} #80#return; {18067#true} is VALID [2022-04-28 10:53:58,412 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 10:53:58,412 INFO L290 TraceCheckUtils]: 23: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,412 INFO L290 TraceCheckUtils]: 24: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,412 INFO L290 TraceCheckUtils]: 25: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,412 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18067#true} {18067#true} #82#return; {18067#true} is VALID [2022-04-28 10:53:58,412 INFO L290 TraceCheckUtils]: 27: Hoare triple {18067#true} assume !false; {18067#true} is VALID [2022-04-28 10:53:58,412 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 10:53:58,412 INFO L290 TraceCheckUtils]: 29: Hoare triple {18067#true} assume !false; {18067#true} is VALID [2022-04-28 10:53:58,412 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 10:53:58,412 INFO L290 TraceCheckUtils]: 31: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,412 INFO L290 TraceCheckUtils]: 32: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,412 INFO L290 TraceCheckUtils]: 33: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,412 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {18067#true} {18067#true} #84#return; {18067#true} is VALID [2022-04-28 10:53:58,412 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 10:53:58,413 INFO L290 TraceCheckUtils]: 36: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,413 INFO L290 TraceCheckUtils]: 37: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,413 INFO L290 TraceCheckUtils]: 38: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,413 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {18067#true} {18067#true} #86#return; {18067#true} is VALID [2022-04-28 10:53:58,413 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 10:53:58,413 INFO L290 TraceCheckUtils]: 41: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,413 INFO L290 TraceCheckUtils]: 42: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,413 INFO L290 TraceCheckUtils]: 43: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,413 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {18067#true} {18067#true} #88#return; {18067#true} is VALID [2022-04-28 10:53:58,413 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 10:53:58,413 INFO L290 TraceCheckUtils]: 46: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,413 INFO L290 TraceCheckUtils]: 47: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,413 INFO L290 TraceCheckUtils]: 48: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,413 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {18067#true} {18067#true} #90#return; {18067#true} is VALID [2022-04-28 10:53:58,414 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 10:53:58,414 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 10:53:58,414 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 10:53:58,415 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 10:53:58,415 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 10:53:58,415 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 10:53:58,415 INFO L290 TraceCheckUtils]: 56: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,415 INFO L290 TraceCheckUtils]: 57: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,415 INFO L290 TraceCheckUtils]: 58: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,416 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 10:53:58,416 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 10:53:58,416 INFO L290 TraceCheckUtils]: 61: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,416 INFO L290 TraceCheckUtils]: 62: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,416 INFO L290 TraceCheckUtils]: 63: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,417 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 10:53:58,417 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 10:53:58,417 INFO L290 TraceCheckUtils]: 66: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,417 INFO L290 TraceCheckUtils]: 67: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,417 INFO L290 TraceCheckUtils]: 68: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,417 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 10:53:58,417 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 10:53:58,418 INFO L290 TraceCheckUtils]: 71: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,418 INFO L290 TraceCheckUtils]: 72: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,418 INFO L290 TraceCheckUtils]: 73: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,418 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 10:53:58,419 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 10:53:58,419 INFO L290 TraceCheckUtils]: 76: Hoare triple {18300#(< 0 main_~c~0)} assume !false; {18300#(< 0 main_~c~0)} is VALID [2022-04-28 10:53:58,419 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 10:53:58,419 INFO L290 TraceCheckUtils]: 78: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,420 INFO L290 TraceCheckUtils]: 79: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,420 INFO L290 TraceCheckUtils]: 80: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,420 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 10:53:58,420 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 10:53:58,420 INFO L290 TraceCheckUtils]: 83: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,420 INFO L290 TraceCheckUtils]: 84: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,420 INFO L290 TraceCheckUtils]: 85: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,421 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 10:53:58,421 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 10:53:58,421 INFO L290 TraceCheckUtils]: 88: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,421 INFO L290 TraceCheckUtils]: 89: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,421 INFO L290 TraceCheckUtils]: 90: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,422 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 10:53:58,422 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 10:53:58,422 INFO L290 TraceCheckUtils]: 93: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,422 INFO L290 TraceCheckUtils]: 94: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,422 INFO L290 TraceCheckUtils]: 95: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,422 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 10:53:58,423 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 10:53:58,423 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 10:53:58,423 INFO L290 TraceCheckUtils]: 99: Hoare triple {18370#(< 0 main_~b~0)} assume !false; {18370#(< 0 main_~b~0)} is VALID [2022-04-28 10:53:58,424 INFO L290 TraceCheckUtils]: 100: Hoare triple {18370#(< 0 main_~b~0)} assume !(0 != ~b~0); {18068#false} is VALID [2022-04-28 10:53:58,424 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 10:53:58,424 INFO L290 TraceCheckUtils]: 102: Hoare triple {18068#false} ~cond := #in~cond; {18068#false} is VALID [2022-04-28 10:53:58,424 INFO L290 TraceCheckUtils]: 103: Hoare triple {18068#false} assume 0 == ~cond; {18068#false} is VALID [2022-04-28 10:53:58,424 INFO L290 TraceCheckUtils]: 104: Hoare triple {18068#false} assume !false; {18068#false} is VALID [2022-04-28 10:53:58,424 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 10:53:58,424 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:53:58,697 INFO L290 TraceCheckUtils]: 104: Hoare triple {18068#false} assume !false; {18068#false} is VALID [2022-04-28 10:53:58,697 INFO L290 TraceCheckUtils]: 103: Hoare triple {18068#false} assume 0 == ~cond; {18068#false} is VALID [2022-04-28 10:53:58,697 INFO L290 TraceCheckUtils]: 102: Hoare triple {18068#false} ~cond := #in~cond; {18068#false} is VALID [2022-04-28 10:53:58,697 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 10:53:58,697 INFO L290 TraceCheckUtils]: 100: Hoare triple {18370#(< 0 main_~b~0)} assume !(0 != ~b~0); {18068#false} is VALID [2022-04-28 10:53:58,698 INFO L290 TraceCheckUtils]: 99: Hoare triple {18370#(< 0 main_~b~0)} assume !false; {18370#(< 0 main_~b~0)} is VALID [2022-04-28 10:53:58,698 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 10:53:58,698 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 10:53:58,699 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 10:53:58,699 INFO L290 TraceCheckUtils]: 95: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,699 INFO L290 TraceCheckUtils]: 94: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,699 INFO L290 TraceCheckUtils]: 93: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,699 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 10:53:58,700 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 10:53:58,700 INFO L290 TraceCheckUtils]: 90: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,700 INFO L290 TraceCheckUtils]: 89: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,700 INFO L290 TraceCheckUtils]: 88: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,700 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 10:53:58,701 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 10:53:58,701 INFO L290 TraceCheckUtils]: 85: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,701 INFO L290 TraceCheckUtils]: 84: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,701 INFO L290 TraceCheckUtils]: 83: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,701 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 10:53:58,701 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 10:53:58,701 INFO L290 TraceCheckUtils]: 80: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,702 INFO L290 TraceCheckUtils]: 79: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,702 INFO L290 TraceCheckUtils]: 78: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,702 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 10:53:58,702 INFO L290 TraceCheckUtils]: 76: Hoare triple {18300#(< 0 main_~c~0)} assume !false; {18300#(< 0 main_~c~0)} is VALID [2022-04-28 10:53:58,703 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 10:53:58,703 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 10:53:58,704 INFO L290 TraceCheckUtils]: 73: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,704 INFO L290 TraceCheckUtils]: 72: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,704 INFO L290 TraceCheckUtils]: 71: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,704 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 10:53:58,704 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 10:53:58,704 INFO L290 TraceCheckUtils]: 68: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,704 INFO L290 TraceCheckUtils]: 67: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,704 INFO L290 TraceCheckUtils]: 66: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,705 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 10:53:58,705 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 10:53:58,705 INFO L290 TraceCheckUtils]: 63: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,705 INFO L290 TraceCheckUtils]: 62: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,705 INFO L290 TraceCheckUtils]: 61: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,705 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 10:53:58,706 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 10:53:58,706 INFO L290 TraceCheckUtils]: 58: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,706 INFO L290 TraceCheckUtils]: 57: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,706 INFO L290 TraceCheckUtils]: 56: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,706 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 10:53:58,706 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 10:53:58,707 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 10:53:58,707 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 10:53:58,707 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 10:53:58,708 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 10:53:58,708 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {18067#true} {18067#true} #90#return; {18067#true} is VALID [2022-04-28 10:53:58,708 INFO L290 TraceCheckUtils]: 48: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,708 INFO L290 TraceCheckUtils]: 47: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,708 INFO L290 TraceCheckUtils]: 46: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,708 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 10:53:58,708 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {18067#true} {18067#true} #88#return; {18067#true} is VALID [2022-04-28 10:53:58,708 INFO L290 TraceCheckUtils]: 43: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,708 INFO L290 TraceCheckUtils]: 42: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,708 INFO L290 TraceCheckUtils]: 41: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,708 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 10:53:58,708 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {18067#true} {18067#true} #86#return; {18067#true} is VALID [2022-04-28 10:53:58,708 INFO L290 TraceCheckUtils]: 38: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,709 INFO L290 TraceCheckUtils]: 37: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,709 INFO L290 TraceCheckUtils]: 36: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,709 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 10:53:58,709 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {18067#true} {18067#true} #84#return; {18067#true} is VALID [2022-04-28 10:53:58,709 INFO L290 TraceCheckUtils]: 33: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,709 INFO L290 TraceCheckUtils]: 32: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,709 INFO L290 TraceCheckUtils]: 31: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,709 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 10:53:58,709 INFO L290 TraceCheckUtils]: 29: Hoare triple {18067#true} assume !false; {18067#true} is VALID [2022-04-28 10:53:58,709 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 10:53:58,709 INFO L290 TraceCheckUtils]: 27: Hoare triple {18067#true} assume !false; {18067#true} is VALID [2022-04-28 10:53:58,709 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18067#true} {18067#true} #82#return; {18067#true} is VALID [2022-04-28 10:53:58,709 INFO L290 TraceCheckUtils]: 25: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,709 INFO L290 TraceCheckUtils]: 24: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,709 INFO L290 TraceCheckUtils]: 23: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,710 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 10:53:58,710 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18067#true} {18067#true} #80#return; {18067#true} is VALID [2022-04-28 10:53:58,710 INFO L290 TraceCheckUtils]: 20: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,710 INFO L290 TraceCheckUtils]: 19: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,710 INFO L290 TraceCheckUtils]: 18: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,710 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 10:53:58,710 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 10:53:58,710 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18067#true} {18067#true} #78#return; {18067#true} is VALID [2022-04-28 10:53:58,710 INFO L290 TraceCheckUtils]: 14: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,710 INFO L290 TraceCheckUtils]: 13: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,710 INFO L290 TraceCheckUtils]: 12: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,710 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 10:53:58,710 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18067#true} {18067#true} #76#return; {18067#true} is VALID [2022-04-28 10:53:58,710 INFO L290 TraceCheckUtils]: 9: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,710 INFO L290 TraceCheckUtils]: 8: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-28 10:53:58,711 INFO L290 TraceCheckUtils]: 7: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-28 10:53:58,711 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 10:53:58,711 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 10:53:58,711 INFO L272 TraceCheckUtils]: 4: Hoare triple {18067#true} call #t~ret6 := main(); {18067#true} is VALID [2022-04-28 10:53:58,711 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18067#true} {18067#true} #96#return; {18067#true} is VALID [2022-04-28 10:53:58,711 INFO L290 TraceCheckUtils]: 2: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-28 10:53:58,711 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 10:53:58,711 INFO L272 TraceCheckUtils]: 0: Hoare triple {18067#true} call ULTIMATE.init(); {18067#true} is VALID [2022-04-28 10:53:58,711 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 10:53:58,711 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:53:58,712 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2123369726] [2022-04-28 10:53:58,712 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:53:58,712 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [544508904] [2022-04-28 10:53:58,712 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [544508904] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:53:58,712 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:53:58,712 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 7 [2022-04-28 10:53:58,712 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:53:58,712 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [696596289] [2022-04-28 10:53:58,712 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [696596289] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:53:58,712 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:53:58,712 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 10:53:58,712 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1874993658] [2022-04-28 10:53:58,712 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:53:58,713 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 10:53:58,713 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:53:58,713 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 10:53:58,760 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 10:53:58,760 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 10:53:58,760 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:53:58,760 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 10:53:58,760 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-04-28 10:53:58,760 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 10:54:00,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:54:00,176 INFO L93 Difference]: Finished difference Result 257 states and 349 transitions. [2022-04-28 10:54:00,176 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 10:54:00,176 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 10:54:00,176 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:54:00,176 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 10:54:00,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 121 transitions. [2022-04-28 10:54:00,178 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 10:54:00,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 121 transitions. [2022-04-28 10:54:00,180 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 121 transitions. [2022-04-28 10:54:00,285 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 10:54:00,289 INFO L225 Difference]: With dead ends: 257 [2022-04-28 10:54:00,289 INFO L226 Difference]: Without dead ends: 249 [2022-04-28 10:54:00,290 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 10:54:00,290 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 10:54:00,290 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 10:54:00,290 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 249 states. [2022-04-28 10:54:00,730 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 249 to 230. [2022-04-28 10:54:00,730 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:54:00,730 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 10:54:00,731 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 10:54:00,731 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 10:54:00,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:54:00,737 INFO L93 Difference]: Finished difference Result 249 states and 340 transitions. [2022-04-28 10:54:00,737 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 340 transitions. [2022-04-28 10:54:00,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:54:00,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:54:00,738 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 10:54:00,739 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 10:54:00,745 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:54:00,745 INFO L93 Difference]: Finished difference Result 249 states and 340 transitions. [2022-04-28 10:54:00,745 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 340 transitions. [2022-04-28 10:54:00,746 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:54:00,746 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:54:00,746 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:54:00,746 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:54:00,746 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 10:54:00,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 230 states to 230 states and 307 transitions. [2022-04-28 10:54:00,752 INFO L78 Accepts]: Start accepts. Automaton has 230 states and 307 transitions. Word has length 105 [2022-04-28 10:54:00,752 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:54:00,752 INFO L495 AbstractCegarLoop]: Abstraction has 230 states and 307 transitions. [2022-04-28 10:54:00,752 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 10:54:00,752 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 230 states and 307 transitions. [2022-04-28 10:54:01,259 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 10:54:01,259 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 307 transitions. [2022-04-28 10:54:01,260 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-28 10:54:01,260 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:54:01,260 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 10:54:01,282 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Ended with exit code 0 [2022-04-28 10:54:01,460 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 10:54:01,461 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:54:01,461 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:54:01,461 INFO L85 PathProgramCache]: Analyzing trace with hash -2080181613, now seen corresponding path program 3 times [2022-04-28 10:54:01,461 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:54:01,461 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [159158697] [2022-04-28 10:54:01,461 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:54:01,462 INFO L85 PathProgramCache]: Analyzing trace with hash -2080181613, now seen corresponding path program 4 times [2022-04-28 10:54:01,462 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:54:01,462 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1240878518] [2022-04-28 10:54:01,462 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:54:01,462 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:54:01,473 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:54:01,473 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1137372227] [2022-04-28 10:54:01,473 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:54:01,474 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:54:01,474 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:54:01,488 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 10:54:01,523 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 10:54:01,540 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:54:01,541 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:54:01,541 INFO L263 TraceCheckSpWp]: Trace formula consists of 247 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 10:54:01,557 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:54:01,558 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:54:03,849 INFO L272 TraceCheckUtils]: 0: Hoare triple {20194#true} call ULTIMATE.init(); {20194#true} is VALID [2022-04-28 10:54:03,849 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 10:54:03,849 INFO L290 TraceCheckUtils]: 2: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:03,850 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20194#true} {20194#true} #96#return; {20194#true} is VALID [2022-04-28 10:54:03,850 INFO L272 TraceCheckUtils]: 4: Hoare triple {20194#true} call #t~ret6 := main(); {20194#true} is VALID [2022-04-28 10:54:03,850 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 10:54:03,850 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 10:54:03,850 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 10:54:03,850 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 10:54:03,851 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 10:54:03,851 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 10:54:03,851 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 10:54:03,851 INFO L290 TraceCheckUtils]: 12: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:03,851 INFO L290 TraceCheckUtils]: 13: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:03,851 INFO L290 TraceCheckUtils]: 14: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:03,852 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 10:54:03,852 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 10:54:03,852 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 10:54:03,852 INFO L290 TraceCheckUtils]: 18: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:03,852 INFO L290 TraceCheckUtils]: 19: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:03,852 INFO L290 TraceCheckUtils]: 20: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:03,853 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 10:54:03,853 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 10:54:03,853 INFO L290 TraceCheckUtils]: 23: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:03,853 INFO L290 TraceCheckUtils]: 24: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:03,853 INFO L290 TraceCheckUtils]: 25: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:03,854 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 10:54:03,854 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 10:54:03,854 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 10:54:03,855 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 10:54:03,855 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 10:54:03,855 INFO L290 TraceCheckUtils]: 31: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:03,855 INFO L290 TraceCheckUtils]: 32: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:03,855 INFO L290 TraceCheckUtils]: 33: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:03,855 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 10:54:03,856 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 10:54:03,856 INFO L290 TraceCheckUtils]: 36: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:03,856 INFO L290 TraceCheckUtils]: 37: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:03,856 INFO L290 TraceCheckUtils]: 38: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:03,856 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 10:54:03,856 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 10:54:03,856 INFO L290 TraceCheckUtils]: 41: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:03,856 INFO L290 TraceCheckUtils]: 42: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:03,857 INFO L290 TraceCheckUtils]: 43: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:03,857 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 10:54:03,857 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 10:54:03,857 INFO L290 TraceCheckUtils]: 46: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:03,857 INFO L290 TraceCheckUtils]: 47: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:03,857 INFO L290 TraceCheckUtils]: 48: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:03,858 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 10:54:03,858 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 10:54:03,859 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 10:54:03,859 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 10:54:03,859 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 10:54:03,860 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 10:54:03,860 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 10:54:03,860 INFO L290 TraceCheckUtils]: 56: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:03,860 INFO L290 TraceCheckUtils]: 57: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:03,860 INFO L290 TraceCheckUtils]: 58: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:03,861 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 10:54:03,861 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 10:54:03,861 INFO L290 TraceCheckUtils]: 61: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:03,861 INFO L290 TraceCheckUtils]: 62: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:03,861 INFO L290 TraceCheckUtils]: 63: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:03,861 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 10:54:03,862 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 10:54:03,862 INFO L290 TraceCheckUtils]: 66: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:03,862 INFO L290 TraceCheckUtils]: 67: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:03,862 INFO L290 TraceCheckUtils]: 68: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:03,862 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 10:54:03,862 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 10:54:03,862 INFO L290 TraceCheckUtils]: 71: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:03,862 INFO L290 TraceCheckUtils]: 72: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:03,863 INFO L290 TraceCheckUtils]: 73: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:03,863 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 10:54:03,864 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 10:54:03,864 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 10:54:03,864 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 10:54:03,864 INFO L290 TraceCheckUtils]: 78: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:03,865 INFO L290 TraceCheckUtils]: 79: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:03,865 INFO L290 TraceCheckUtils]: 80: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:03,865 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 10:54:03,865 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 10:54:03,865 INFO L290 TraceCheckUtils]: 83: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:03,865 INFO L290 TraceCheckUtils]: 84: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:03,865 INFO L290 TraceCheckUtils]: 85: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:03,866 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 10:54:03,866 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 10:54:03,866 INFO L290 TraceCheckUtils]: 88: Hoare triple {20194#true} ~cond := #in~cond; {20472#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:54:03,867 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 10:54:03,867 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 10:54:03,868 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 10:54:03,868 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 10:54:03,868 INFO L290 TraceCheckUtils]: 93: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:03,868 INFO L290 TraceCheckUtils]: 94: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:03,868 INFO L290 TraceCheckUtils]: 95: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:03,868 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 10:54:03,869 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 10:54:03,870 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 10:54:03,871 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 10:54:03,871 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 10:54:03,872 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 10:54:03,872 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 10:54:03,872 INFO L290 TraceCheckUtils]: 103: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:03,872 INFO L290 TraceCheckUtils]: 104: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:03,872 INFO L290 TraceCheckUtils]: 105: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:03,873 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 10:54:03,873 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 10:54:03,874 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 10:54:03,874 INFO L290 TraceCheckUtils]: 109: Hoare triple {20538#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20195#false} is VALID [2022-04-28 10:54:03,874 INFO L290 TraceCheckUtils]: 110: Hoare triple {20195#false} assume !false; {20195#false} is VALID [2022-04-28 10:54:03,874 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 10:54:03,874 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:54:33,508 INFO L290 TraceCheckUtils]: 110: Hoare triple {20195#false} assume !false; {20195#false} is VALID [2022-04-28 10:54:33,508 INFO L290 TraceCheckUtils]: 109: Hoare triple {20538#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20195#false} is VALID [2022-04-28 10:54:33,508 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 10:54:33,509 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 10:54:33,510 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 10:54:33,510 INFO L290 TraceCheckUtils]: 105: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:33,510 INFO L290 TraceCheckUtils]: 104: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:33,510 INFO L290 TraceCheckUtils]: 103: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:33,510 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 10:54:33,510 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 10:54:33,511 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 10:54:33,511 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 10:54:33,511 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 10:54:33,512 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 10:54:33,512 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 10:54:33,512 INFO L290 TraceCheckUtils]: 95: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:33,513 INFO L290 TraceCheckUtils]: 94: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:33,513 INFO L290 TraceCheckUtils]: 93: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:33,513 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 10:54:33,513 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 10:54:33,514 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 10:54:33,514 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 10:54:33,514 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 10:54:33,514 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 10:54:33,514 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {20194#true} {20194#true} #86#return; {20194#true} is VALID [2022-04-28 10:54:33,514 INFO L290 TraceCheckUtils]: 85: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:33,514 INFO L290 TraceCheckUtils]: 84: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:33,515 INFO L290 TraceCheckUtils]: 83: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:33,515 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 10:54:33,515 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {20194#true} {20194#true} #84#return; {20194#true} is VALID [2022-04-28 10:54:33,515 INFO L290 TraceCheckUtils]: 80: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:33,515 INFO L290 TraceCheckUtils]: 79: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:33,515 INFO L290 TraceCheckUtils]: 78: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:33,515 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 10:54:33,515 INFO L290 TraceCheckUtils]: 76: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-28 10:54:33,515 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 10:54:33,515 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {20194#true} {20194#true} #90#return; {20194#true} is VALID [2022-04-28 10:54:33,515 INFO L290 TraceCheckUtils]: 73: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:33,515 INFO L290 TraceCheckUtils]: 72: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:33,515 INFO L290 TraceCheckUtils]: 71: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:33,515 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 10:54:33,515 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {20194#true} {20194#true} #88#return; {20194#true} is VALID [2022-04-28 10:54:33,516 INFO L290 TraceCheckUtils]: 68: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:33,516 INFO L290 TraceCheckUtils]: 67: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:33,516 INFO L290 TraceCheckUtils]: 66: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:33,516 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 10:54:33,516 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20194#true} {20194#true} #86#return; {20194#true} is VALID [2022-04-28 10:54:33,516 INFO L290 TraceCheckUtils]: 63: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:33,516 INFO L290 TraceCheckUtils]: 62: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:33,516 INFO L290 TraceCheckUtils]: 61: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:33,516 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 10:54:33,516 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {20194#true} {20194#true} #84#return; {20194#true} is VALID [2022-04-28 10:54:33,516 INFO L290 TraceCheckUtils]: 58: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:33,516 INFO L290 TraceCheckUtils]: 57: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:33,516 INFO L290 TraceCheckUtils]: 56: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:33,516 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 10:54:33,516 INFO L290 TraceCheckUtils]: 54: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-28 10:54:33,517 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 10:54:33,517 INFO L290 TraceCheckUtils]: 52: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-28 10:54:33,517 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 10:54:33,517 INFO L290 TraceCheckUtils]: 50: Hoare triple {20194#true} assume !(~c~0 >= ~b~0); {20194#true} is VALID [2022-04-28 10:54:33,517 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {20194#true} {20194#true} #90#return; {20194#true} is VALID [2022-04-28 10:54:33,517 INFO L290 TraceCheckUtils]: 48: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:33,517 INFO L290 TraceCheckUtils]: 47: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:33,517 INFO L290 TraceCheckUtils]: 46: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:33,517 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 10:54:33,517 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {20194#true} {20194#true} #88#return; {20194#true} is VALID [2022-04-28 10:54:33,517 INFO L290 TraceCheckUtils]: 43: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:33,517 INFO L290 TraceCheckUtils]: 42: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:33,517 INFO L290 TraceCheckUtils]: 41: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:33,517 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 10:54:33,517 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {20194#true} {20194#true} #86#return; {20194#true} is VALID [2022-04-28 10:54:33,518 INFO L290 TraceCheckUtils]: 38: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:33,518 INFO L290 TraceCheckUtils]: 37: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:33,518 INFO L290 TraceCheckUtils]: 36: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:33,518 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 10:54:33,518 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {20194#true} {20194#true} #84#return; {20194#true} is VALID [2022-04-28 10:54:33,518 INFO L290 TraceCheckUtils]: 33: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:33,518 INFO L290 TraceCheckUtils]: 32: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:33,518 INFO L290 TraceCheckUtils]: 31: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:33,518 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 10:54:33,518 INFO L290 TraceCheckUtils]: 29: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-28 10:54:33,518 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 10:54:33,518 INFO L290 TraceCheckUtils]: 27: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-28 10:54:33,518 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20194#true} {20194#true} #82#return; {20194#true} is VALID [2022-04-28 10:54:33,518 INFO L290 TraceCheckUtils]: 25: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:33,518 INFO L290 TraceCheckUtils]: 24: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:33,519 INFO L290 TraceCheckUtils]: 23: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:33,519 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 10:54:33,519 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20194#true} {20194#true} #80#return; {20194#true} is VALID [2022-04-28 10:54:33,519 INFO L290 TraceCheckUtils]: 20: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:33,519 INFO L290 TraceCheckUtils]: 19: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:33,519 INFO L290 TraceCheckUtils]: 18: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:33,519 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 10:54:33,519 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 10:54:33,519 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20194#true} {20194#true} #78#return; {20194#true} is VALID [2022-04-28 10:54:33,519 INFO L290 TraceCheckUtils]: 14: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:33,519 INFO L290 TraceCheckUtils]: 13: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:33,519 INFO L290 TraceCheckUtils]: 12: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:33,519 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 10:54:33,519 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20194#true} {20194#true} #76#return; {20194#true} is VALID [2022-04-28 10:54:33,520 INFO L290 TraceCheckUtils]: 9: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:33,520 INFO L290 TraceCheckUtils]: 8: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-28 10:54:33,520 INFO L290 TraceCheckUtils]: 7: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-28 10:54:33,520 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 10:54:33,520 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 10:54:33,520 INFO L272 TraceCheckUtils]: 4: Hoare triple {20194#true} call #t~ret6 := main(); {20194#true} is VALID [2022-04-28 10:54:33,520 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20194#true} {20194#true} #96#return; {20194#true} is VALID [2022-04-28 10:54:33,520 INFO L290 TraceCheckUtils]: 2: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-28 10:54:33,520 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 10:54:33,520 INFO L272 TraceCheckUtils]: 0: Hoare triple {20194#true} call ULTIMATE.init(); {20194#true} is VALID [2022-04-28 10:54:33,520 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 10:54:33,521 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:54:33,521 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1240878518] [2022-04-28 10:54:33,521 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:54:33,521 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1137372227] [2022-04-28 10:54:33,521 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1137372227] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:54:33,521 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:54:33,521 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 9] total 22 [2022-04-28 10:54:33,521 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:54:33,521 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [159158697] [2022-04-28 10:54:33,521 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [159158697] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:54:33,521 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:54:33,521 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 10:54:33,521 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1856993895] [2022-04-28 10:54:33,522 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:54:33,522 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 10:54:33,522 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:54:33,522 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 10:54:33,586 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 10:54:33,586 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 10:54:33,586 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:54:33,587 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 10:54:33,587 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=399, Unknown=0, NotChecked=0, Total=462 [2022-04-28 10:54:33,587 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 10:54:45,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:54:45,878 INFO L93 Difference]: Finished difference Result 260 states and 350 transitions. [2022-04-28 10:54:45,878 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 10:54:45,878 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 10:54:45,878 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:54:45,878 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 10:54:45,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 122 transitions. [2022-04-28 10:54:45,880 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 10:54:45,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 122 transitions. [2022-04-28 10:54:45,882 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 122 transitions. [2022-04-28 10:54:46,008 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 10:54:46,023 INFO L225 Difference]: With dead ends: 260 [2022-04-28 10:54:46,024 INFO L226 Difference]: Without dead ends: 258 [2022-04-28 10:54:46,024 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 230 GetRequests, 200 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 167 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=123, Invalid=807, Unknown=0, NotChecked=0, Total=930 [2022-04-28 10:54:46,025 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 53 mSDsluCounter, 173 mSDsCounter, 0 mSdLazyCounter, 749 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.6s 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, 4.6s IncrementalHoareTripleChecker+Time [2022-04-28 10:54:46,025 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [69 Valid, 217 Invalid, 805 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [56 Valid, 749 Invalid, 0 Unknown, 0 Unchecked, 4.6s Time] [2022-04-28 10:54:46,026 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 258 states. [2022-04-28 10:54:46,570 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 258 to 255. [2022-04-28 10:54:46,570 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:54:46,571 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 10:54:46,571 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 10:54:46,571 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 10:54:46,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:54:46,576 INFO L93 Difference]: Finished difference Result 258 states and 348 transitions. [2022-04-28 10:54:46,576 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 348 transitions. [2022-04-28 10:54:46,577 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:54:46,577 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:54:46,578 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 10:54:46,578 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 10:54:46,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:54:46,582 INFO L93 Difference]: Finished difference Result 258 states and 348 transitions. [2022-04-28 10:54:46,582 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 348 transitions. [2022-04-28 10:54:46,583 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:54:46,583 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:54:46,583 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:54:46,583 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:54:46,584 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 10:54:46,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 255 states to 255 states and 345 transitions. [2022-04-28 10:54:46,589 INFO L78 Accepts]: Start accepts. Automaton has 255 states and 345 transitions. Word has length 111 [2022-04-28 10:54:46,590 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:54:46,590 INFO L495 AbstractCegarLoop]: Abstraction has 255 states and 345 transitions. [2022-04-28 10:54:46,590 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 10:54:46,590 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 255 states and 345 transitions. [2022-04-28 10:54:47,206 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 10:54:47,206 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 345 transitions. [2022-04-28 10:54:47,207 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-28 10:54:47,207 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:54:47,207 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 10:54:47,225 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 10:54:47,419 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 10:54:47,419 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:54:47,420 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:54:47,420 INFO L85 PathProgramCache]: Analyzing trace with hash -1295483154, now seen corresponding path program 5 times [2022-04-28 10:54:47,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:54:47,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1375047638] [2022-04-28 10:54:47,420 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:54:47,420 INFO L85 PathProgramCache]: Analyzing trace with hash -1295483154, now seen corresponding path program 6 times [2022-04-28 10:54:47,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:54:47,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1882127604] [2022-04-28 10:54:47,420 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:54:47,421 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:54:47,430 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:54:47,430 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [560338387] [2022-04-28 10:54:47,430 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:54:47,430 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:54:47,431 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:54:47,433 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 10:54:47,436 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 10:54:47,514 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 10:54:47,514 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:54:47,515 INFO L263 TraceCheckSpWp]: Trace formula consists of 259 conjuncts, 82 conjunts are in the unsatisfiable core [2022-04-28 10:54:47,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:54:47,539 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:55:07,075 INFO L272 TraceCheckUtils]: 0: Hoare triple {22445#true} call ULTIMATE.init(); {22445#true} is VALID [2022-04-28 10:55:07,075 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 10:55:07,075 INFO L290 TraceCheckUtils]: 2: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 10:55:07,075 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22445#true} {22445#true} #96#return; {22445#true} is VALID [2022-04-28 10:55:07,076 INFO L272 TraceCheckUtils]: 4: Hoare triple {22445#true} call #t~ret6 := main(); {22445#true} is VALID [2022-04-28 10:55:07,076 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 10:55:07,076 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 10:55:07,076 INFO L290 TraceCheckUtils]: 7: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 10:55:07,076 INFO L290 TraceCheckUtils]: 8: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 10:55:07,076 INFO L290 TraceCheckUtils]: 9: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 10:55:07,076 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22445#true} {22445#true} #76#return; {22445#true} is VALID [2022-04-28 10:55:07,076 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 10:55:07,076 INFO L290 TraceCheckUtils]: 12: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 10:55:07,076 INFO L290 TraceCheckUtils]: 13: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 10:55:07,076 INFO L290 TraceCheckUtils]: 14: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 10:55:07,076 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22445#true} {22445#true} #78#return; {22445#true} is VALID [2022-04-28 10:55:07,077 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 10:55:07,077 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 10:55:07,077 INFO L290 TraceCheckUtils]: 18: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 10:55:07,077 INFO L290 TraceCheckUtils]: 19: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 10:55:07,077 INFO L290 TraceCheckUtils]: 20: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 10:55:07,078 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 10:55:07,078 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 10:55:07,078 INFO L290 TraceCheckUtils]: 23: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 10:55:07,078 INFO L290 TraceCheckUtils]: 24: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 10:55:07,078 INFO L290 TraceCheckUtils]: 25: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 10:55:07,078 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 10:55:07,079 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 10:55:07,079 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 10:55:07,079 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 10:55:07,079 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 10:55:07,080 INFO L290 TraceCheckUtils]: 31: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 10:55:07,080 INFO L290 TraceCheckUtils]: 32: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 10:55:07,080 INFO L290 TraceCheckUtils]: 33: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 10:55:07,080 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 10:55:07,080 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 10:55:07,080 INFO L290 TraceCheckUtils]: 36: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 10:55:07,080 INFO L290 TraceCheckUtils]: 37: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 10:55:07,081 INFO L290 TraceCheckUtils]: 38: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 10:55:07,081 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 10:55:07,081 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 10:55:07,081 INFO L290 TraceCheckUtils]: 41: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 10:55:07,081 INFO L290 TraceCheckUtils]: 42: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 10:55:07,081 INFO L290 TraceCheckUtils]: 43: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 10:55:07,082 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 10:55:07,082 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 10:55:07,082 INFO L290 TraceCheckUtils]: 46: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 10:55:07,082 INFO L290 TraceCheckUtils]: 47: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 10:55:07,082 INFO L290 TraceCheckUtils]: 48: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 10:55:07,083 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 10:55:07,083 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 10:55:07,085 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 10:55:07,085 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 10:55:07,085 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 10:55:07,086 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 10:55:07,086 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 10:55:07,086 INFO L290 TraceCheckUtils]: 56: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 10:55:07,086 INFO L290 TraceCheckUtils]: 57: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 10:55:07,086 INFO L290 TraceCheckUtils]: 58: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 10:55:07,087 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 10:55:07,087 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 10:55:07,087 INFO L290 TraceCheckUtils]: 61: Hoare triple {22445#true} ~cond := #in~cond; {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:55:07,087 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 10:55:07,087 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 10:55:07,088 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 10:55:07,088 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 10:55:07,088 INFO L290 TraceCheckUtils]: 66: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 10:55:07,088 INFO L290 TraceCheckUtils]: 67: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 10:55:07,089 INFO L290 TraceCheckUtils]: 68: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 10:55:07,089 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 10:55:07,089 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 10:55:07,089 INFO L290 TraceCheckUtils]: 71: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 10:55:07,089 INFO L290 TraceCheckUtils]: 72: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 10:55:07,089 INFO L290 TraceCheckUtils]: 73: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 10:55:07,090 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 10:55:07,091 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 10:55:07,091 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 10:55:07,092 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 10:55:07,092 INFO L290 TraceCheckUtils]: 78: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 10:55:07,092 INFO L290 TraceCheckUtils]: 79: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 10:55:07,092 INFO L290 TraceCheckUtils]: 80: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 10:55:07,092 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 10:55:07,092 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 10:55:07,092 INFO L290 TraceCheckUtils]: 83: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 10:55:07,093 INFO L290 TraceCheckUtils]: 84: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 10:55:07,093 INFO L290 TraceCheckUtils]: 85: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 10:55:07,093 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 10:55:07,093 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 10:55:07,093 INFO L290 TraceCheckUtils]: 88: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 10:55:07,093 INFO L290 TraceCheckUtils]: 89: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 10:55:07,093 INFO L290 TraceCheckUtils]: 90: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 10:55:07,094 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 10:55:07,094 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 10:55:07,094 INFO L290 TraceCheckUtils]: 93: Hoare triple {22445#true} ~cond := #in~cond; {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:55:07,095 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 10:55:07,095 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 10:55:09,098 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 10:55:09,100 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 10:55:09,102 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 10:55:09,103 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 10:55:09,118 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 10:55:09,131 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 10:55:09,131 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 10:55:09,132 INFO L290 TraceCheckUtils]: 103: Hoare triple {22445#true} ~cond := #in~cond; {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:55:09,132 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 10:55:09,132 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 10:55:09,134 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 10:55:09,134 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 10:55:09,134 INFO L290 TraceCheckUtils]: 108: Hoare triple {22445#true} ~cond := #in~cond; {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:55:09,134 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 10:55:09,135 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 10:55:09,138 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 10:55:09,139 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 10:55:09,139 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 10:55:09,140 INFO L290 TraceCheckUtils]: 114: Hoare triple {22804#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22446#false} is VALID [2022-04-28 10:55:09,140 INFO L290 TraceCheckUtils]: 115: Hoare triple {22446#false} assume !false; {22446#false} is VALID [2022-04-28 10:55:09,140 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 10:55:09,141 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:59:07,661 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 [2022-04-28 11:00:02,936 INFO L290 TraceCheckUtils]: 115: Hoare triple {22446#false} assume !false; {22446#false} is VALID [2022-04-28 11:00:02,937 INFO L290 TraceCheckUtils]: 114: Hoare triple {22804#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22446#false} is VALID [2022-04-28 11:00:02,937 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 11:00:02,938 INFO L272 TraceCheckUtils]: 112: Hoare triple {22820#(= 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)); {22800#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:00:02,939 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #86#return; {22820#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 11:00:02,939 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 11:00:02,939 INFO L290 TraceCheckUtils]: 109: Hoare triple {22834#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:00:02,940 INFO L290 TraceCheckUtils]: 108: Hoare triple {22445#true} ~cond := #in~cond; {22834#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:00:02,940 INFO L272 TraceCheckUtils]: 107: Hoare triple {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22445#true} is VALID [2022-04-28 11:00:02,940 INFO L284 TraceCheckUtils]: 106: Hoare quadruple {22445#true} {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #84#return; {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 11:00:02,940 INFO L290 TraceCheckUtils]: 105: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 11:00:02,940 INFO L290 TraceCheckUtils]: 104: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 11:00:02,940 INFO L290 TraceCheckUtils]: 103: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 11:00:02,941 INFO L272 TraceCheckUtils]: 102: Hoare triple {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22445#true} is VALID [2022-04-28 11:00:02,941 INFO L290 TraceCheckUtils]: 101: Hoare triple {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 11:00:02,941 INFO L290 TraceCheckUtils]: 100: Hoare triple {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 11:00:02,942 INFO L290 TraceCheckUtils]: 99: Hoare triple {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 11:00:02,958 INFO L290 TraceCheckUtils]: 98: Hoare triple {22865#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 11:00:02,959 INFO L290 TraceCheckUtils]: 97: Hoare triple {22869#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {22865#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 11:00:04,962 WARN L284 TraceCheckUtils]: 96: Hoare quadruple {22877#(forall ((v_main_~q~0_BEFORE_CALL_128 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)) (or (and (= (mod (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* 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)))) v_main_~q~0_BEFORE_CALL_128) 0) (not (= 0 v_main_~q~0_BEFORE_CALL_128))) (and (or (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (not (= (+ (* (- 1) (* 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)))) (* 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))) (not (= |__VERIFIER_assert_#in~cond| 1))) (or (not (= |__VERIFIER_assert_#in~cond| 0)) (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (= (+ (* (- 1) (* 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)))) (* 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)))) (= (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* 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)))) 0)))} {22873#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} #90#return; {22869#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} is UNKNOWN [2022-04-28 11:00:06,965 WARN L290 TraceCheckUtils]: 95: Hoare triple {22877#(forall ((v_main_~q~0_BEFORE_CALL_128 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)) (or (and (= (mod (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* 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)))) v_main_~q~0_BEFORE_CALL_128) 0) (not (= 0 v_main_~q~0_BEFORE_CALL_128))) (and (or (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (not (= (+ (* (- 1) (* 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)))) (* 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))) (not (= |__VERIFIER_assert_#in~cond| 1))) (or (not (= |__VERIFIER_assert_#in~cond| 0)) (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (= (+ (* (- 1) (* 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)))) (* 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)))) (= (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* 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)))) 0)))} assume true; {22877#(forall ((v_main_~q~0_BEFORE_CALL_128 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)) (or (and (= (mod (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* 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)))) v_main_~q~0_BEFORE_CALL_128) 0) (not (= 0 v_main_~q~0_BEFORE_CALL_128))) (and (or (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (not (= (+ (* (- 1) (* 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)))) (* 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))) (not (= |__VERIFIER_assert_#in~cond| 1))) (or (not (= |__VERIFIER_assert_#in~cond| 0)) (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (= (+ (* (- 1) (* 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)))) (* 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)))) (= (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* 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)))) 0)))} is UNKNOWN [2022-04-28 11:00:08,968 WARN L290 TraceCheckUtils]: 94: Hoare triple {22884#(or (forall ((v_main_~q~0_BEFORE_CALL_128 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)) (or (and (= (mod (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* 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)))) v_main_~q~0_BEFORE_CALL_128) 0) (not (= 0 v_main_~q~0_BEFORE_CALL_128))) (and (or (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (not (= (+ (* (- 1) (* 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)))) (* 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))) (not (= |__VERIFIER_assert_#in~cond| 1))) (or (not (= |__VERIFIER_assert_#in~cond| 0)) (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (= (+ (* (- 1) (* 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)))) (* 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)))) (= (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* 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)))) 0))) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22877#(forall ((v_main_~q~0_BEFORE_CALL_128 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)) (or (and (= (mod (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* 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)))) v_main_~q~0_BEFORE_CALL_128) 0) (not (= 0 v_main_~q~0_BEFORE_CALL_128))) (and (or (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (not (= (+ (* (- 1) (* 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)))) (* 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))) (not (= |__VERIFIER_assert_#in~cond| 1))) (or (not (= |__VERIFIER_assert_#in~cond| 0)) (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (= (+ (* (- 1) (* 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)))) (* 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)))) (= (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* 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)))) 0)))} is UNKNOWN [2022-04-28 11:00:10,971 WARN L290 TraceCheckUtils]: 93: Hoare triple {22888#(or (not (= |__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)) (or (= (mod (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* 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)))) v_main_~q~0_BEFORE_CALL_128) 0) (not (= (+ (* (- 1) (* 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)))) (* 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)) (= (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* 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)))) 0))))} ~cond := #in~cond; {22884#(or (forall ((v_main_~q~0_BEFORE_CALL_128 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)) (or (and (= (mod (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* 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)))) v_main_~q~0_BEFORE_CALL_128) 0) (not (= 0 v_main_~q~0_BEFORE_CALL_128))) (and (or (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (not (= (+ (* (- 1) (* 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)))) (* 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))) (not (= |__VERIFIER_assert_#in~cond| 1))) (or (not (= |__VERIFIER_assert_#in~cond| 0)) (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (= (+ (* (- 1) (* 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)))) (* 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)))) (= (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* 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)))) 0))) (= __VERIFIER_assert_~cond 0))} is UNKNOWN [2022-04-28 11:00:12,975 WARN L272 TraceCheckUtils]: 92: Hoare triple {22873#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 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)); {22888#(or (not (= |__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)) (or (= (mod (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* 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)))) v_main_~q~0_BEFORE_CALL_128) 0) (not (= (+ (* (- 1) (* 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)))) (* 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)) (= (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* 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)))) 0))))} is UNKNOWN [2022-04-28 11:00:12,976 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {22445#true} {22873#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} #88#return; {22873#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-28 11:00:12,976 INFO L290 TraceCheckUtils]: 90: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 11:00:12,976 INFO L290 TraceCheckUtils]: 89: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 11:00:12,976 INFO L290 TraceCheckUtils]: 88: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 11:00:12,976 INFO L272 TraceCheckUtils]: 87: Hoare triple {22873#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 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 11:00:12,977 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {22445#true} {22873#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} #86#return; {22873#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-28 11:00:12,977 INFO L290 TraceCheckUtils]: 85: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 11:00:12,977 INFO L290 TraceCheckUtils]: 84: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 11:00:12,977 INFO L290 TraceCheckUtils]: 83: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 11:00:12,977 INFO L272 TraceCheckUtils]: 82: Hoare triple {22873#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~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 11:00:12,978 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {22445#true} {22873#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} #84#return; {22873#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-28 11:00:12,978 INFO L290 TraceCheckUtils]: 80: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 11:00:12,978 INFO L290 TraceCheckUtils]: 79: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 11:00:12,978 INFO L290 TraceCheckUtils]: 78: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 11:00:12,978 INFO L272 TraceCheckUtils]: 77: Hoare triple {22873#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~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 11:00:12,979 INFO L290 TraceCheckUtils]: 76: Hoare triple {22873#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} assume !false; {22873#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-28 11:00:13,050 INFO L290 TraceCheckUtils]: 75: Hoare triple {22940#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {22873#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-28 11:00:13,051 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {22445#true} {22940#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} #90#return; {22940#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-28 11:00:13,051 INFO L290 TraceCheckUtils]: 73: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 11:00:13,051 INFO L290 TraceCheckUtils]: 72: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 11:00:13,051 INFO L290 TraceCheckUtils]: 71: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 11:00:13,051 INFO L272 TraceCheckUtils]: 70: Hoare triple {22940#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 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)); {22445#true} is VALID [2022-04-28 11:00:13,052 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {22445#true} {22940#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} #88#return; {22940#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-28 11:00:13,052 INFO L290 TraceCheckUtils]: 68: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 11:00:13,052 INFO L290 TraceCheckUtils]: 67: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 11:00:13,052 INFO L290 TraceCheckUtils]: 66: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 11:00:13,052 INFO L272 TraceCheckUtils]: 65: Hoare triple {22940#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 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 11:00:13,053 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} {22974#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~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)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} #86#return; {22940#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-28 11:00:13,054 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 11:00:13,054 INFO L290 TraceCheckUtils]: 62: Hoare triple {22834#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:00:13,054 INFO L290 TraceCheckUtils]: 61: Hoare triple {22445#true} ~cond := #in~cond; {22834#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:00:13,055 INFO L272 TraceCheckUtils]: 60: Hoare triple {22974#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~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)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~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 11:00:13,055 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {22445#true} {22974#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~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)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} #84#return; {22974#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~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)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-28 11:00:13,055 INFO L290 TraceCheckUtils]: 58: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 11:00:13,055 INFO L290 TraceCheckUtils]: 57: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 11:00:13,056 INFO L290 TraceCheckUtils]: 56: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 11:00:13,056 INFO L272 TraceCheckUtils]: 55: Hoare triple {22974#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~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)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~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 11:00:13,057 INFO L290 TraceCheckUtils]: 54: Hoare triple {22974#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~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)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} assume !false; {22974#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~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)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-28 11:00:13,059 INFO L290 TraceCheckUtils]: 53: Hoare triple {22445#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22974#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~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)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-28 11:00:13,059 INFO L290 TraceCheckUtils]: 52: Hoare triple {22445#true} assume !false; {22445#true} is VALID [2022-04-28 11:00:13,059 INFO L290 TraceCheckUtils]: 51: Hoare triple {22445#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; {22445#true} is VALID [2022-04-28 11:00:13,059 INFO L290 TraceCheckUtils]: 50: Hoare triple {22445#true} assume !(~c~0 >= ~b~0); {22445#true} is VALID [2022-04-28 11:00:13,059 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {22445#true} {22445#true} #90#return; {22445#true} is VALID [2022-04-28 11:00:13,059 INFO L290 TraceCheckUtils]: 48: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 11:00:13,059 INFO L290 TraceCheckUtils]: 47: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 11:00:13,059 INFO L290 TraceCheckUtils]: 46: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 11:00:13,059 INFO L272 TraceCheckUtils]: 45: Hoare triple {22445#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)); {22445#true} is VALID [2022-04-28 11:00:13,059 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {22445#true} {22445#true} #88#return; {22445#true} is VALID [2022-04-28 11:00:13,059 INFO L290 TraceCheckUtils]: 43: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 11:00:13,059 INFO L290 TraceCheckUtils]: 42: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 11:00:13,059 INFO L290 TraceCheckUtils]: 41: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 11:00:13,059 INFO L272 TraceCheckUtils]: 40: Hoare triple {22445#true} 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 11:00:13,060 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {22445#true} {22445#true} #86#return; {22445#true} is VALID [2022-04-28 11:00:13,060 INFO L290 TraceCheckUtils]: 38: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 11:00:13,060 INFO L290 TraceCheckUtils]: 37: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 11:00:13,060 INFO L290 TraceCheckUtils]: 36: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 11:00:13,060 INFO L272 TraceCheckUtils]: 35: Hoare triple {22445#true} 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 11:00:13,060 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {22445#true} {22445#true} #84#return; {22445#true} is VALID [2022-04-28 11:00:13,060 INFO L290 TraceCheckUtils]: 33: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 11:00:13,060 INFO L290 TraceCheckUtils]: 32: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 11:00:13,060 INFO L290 TraceCheckUtils]: 31: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 11:00:13,060 INFO L272 TraceCheckUtils]: 30: Hoare triple {22445#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22445#true} is VALID [2022-04-28 11:00:13,060 INFO L290 TraceCheckUtils]: 29: Hoare triple {22445#true} assume !false; {22445#true} is VALID [2022-04-28 11:00:13,060 INFO L290 TraceCheckUtils]: 28: Hoare triple {22445#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22445#true} is VALID [2022-04-28 11:00:13,060 INFO L290 TraceCheckUtils]: 27: Hoare triple {22445#true} assume !false; {22445#true} is VALID [2022-04-28 11:00:13,060 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22445#true} {22445#true} #82#return; {22445#true} is VALID [2022-04-28 11:00:13,061 INFO L290 TraceCheckUtils]: 25: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 11:00:13,061 INFO L290 TraceCheckUtils]: 24: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 11:00:13,061 INFO L290 TraceCheckUtils]: 23: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 11:00:13,061 INFO L272 TraceCheckUtils]: 22: Hoare triple {22445#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {22445#true} is VALID [2022-04-28 11:00:13,061 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {22445#true} {22445#true} #80#return; {22445#true} is VALID [2022-04-28 11:00:13,061 INFO L290 TraceCheckUtils]: 20: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 11:00:13,061 INFO L290 TraceCheckUtils]: 19: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 11:00:13,061 INFO L290 TraceCheckUtils]: 18: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 11:00:13,061 INFO L272 TraceCheckUtils]: 17: Hoare triple {22445#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {22445#true} is VALID [2022-04-28 11:00:13,061 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; {22445#true} is VALID [2022-04-28 11:00:13,061 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22445#true} {22445#true} #78#return; {22445#true} is VALID [2022-04-28 11:00:13,061 INFO L290 TraceCheckUtils]: 14: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 11:00:13,061 INFO L290 TraceCheckUtils]: 13: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 11:00:13,061 INFO L290 TraceCheckUtils]: 12: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 11:00:13,061 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 11:00:13,062 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22445#true} {22445#true} #76#return; {22445#true} is VALID [2022-04-28 11:00:13,062 INFO L290 TraceCheckUtils]: 9: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 11:00:13,062 INFO L290 TraceCheckUtils]: 8: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-28 11:00:13,062 INFO L290 TraceCheckUtils]: 7: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-28 11:00:13,062 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 11:00:13,062 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 11:00:13,062 INFO L272 TraceCheckUtils]: 4: Hoare triple {22445#true} call #t~ret6 := main(); {22445#true} is VALID [2022-04-28 11:00:13,062 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22445#true} {22445#true} #96#return; {22445#true} is VALID [2022-04-28 11:00:13,062 INFO L290 TraceCheckUtils]: 2: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-28 11:00:13,062 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 11:00:13,062 INFO L272 TraceCheckUtils]: 0: Hoare triple {22445#true} call ULTIMATE.init(); {22445#true} is VALID [2022-04-28 11:00:13,063 INFO L134 CoverageAnalysis]: Checked inductivity of 453 backedges. 137 proven. 38 refuted. 5 times theorem prover too weak. 272 trivial. 1 not checked. [2022-04-28 11:00:13,063 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:00:13,063 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1882127604] [2022-04-28 11:00:13,063 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:00:13,063 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [560338387] [2022-04-28 11:00:13,063 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [560338387] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:00:13,063 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:00:13,063 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 16] total 29 [2022-04-28 11:00:13,064 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:00:13,064 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1375047638] [2022-04-28 11:00:13,064 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1375047638] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:00:13,064 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:00:13,064 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 11:00:13,064 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1229819216] [2022-04-28 11:00:13,064 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:00:13,065 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 9 states have call predecessors, (19), 8 states have call successors, (19) Word has length 116 [2022-04-28 11:00:13,065 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:00:13,065 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 9 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 11:00:15,529 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 70 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:00:15,529 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 11:00:15,530 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:00:15,530 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 11:00:15,530 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=110, Invalid=642, Unknown=8, NotChecked=52, Total=812 [2022-04-28 11:00:15,530 INFO L87 Difference]: Start difference. First operand 255 states and 345 transitions. Second operand has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 9 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 11:00:37,049 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:00:39,089 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers []