/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_unwindbound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 05:37:18,418 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 05:37:18,420 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 05:37:18,469 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 05:37:18,470 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 05:37:18,471 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 05:37:18,474 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 05:37:18,475 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 05:37:18,477 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 05:37:18,481 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 05:37:18,482 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 05:37:18,483 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 05:37:18,483 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 05:37:18,485 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 05:37:18,486 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 05:37:18,489 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 05:37:18,489 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 05:37:18,490 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 05:37:18,492 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 05:37:18,496 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 05:37:18,498 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 05:37:18,499 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 05:37:18,499 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 05:37:18,500 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 05:37:18,501 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 05:37:18,507 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 05:37:18,508 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 05:37:18,508 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 05:37:18,509 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 05:37:18,509 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 05:37:18,510 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 05:37:18,510 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 05:37:18,512 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 05:37:18,512 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 05:37:18,513 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 05:37:18,513 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 05:37:18,514 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 05:37:18,514 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 05:37:18,514 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 05:37:18,514 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 05:37:18,515 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 05:37:18,516 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 05:37:18,517 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 05:37:18,525 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 05:37:18,526 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 05:37:18,527 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 05:37:18,527 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 05:37:18,527 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 05:37:18,527 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 05:37:18,527 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 05:37:18,528 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 05:37:18,528 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 05:37:18,529 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 05:37:18,529 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 05:37:18,529 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 05:37:18,529 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 05:37:18,529 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 05:37:18,529 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 05:37:18,529 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 05:37:18,530 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 05:37:18,530 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 05:37:18,530 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 05:37:18,530 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 05:37:18,530 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 05:37:18,530 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 05:37:18,531 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 05:37:18,531 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 05:37:18,531 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 05:37:18,531 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 05:37:18,755 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 05:37:18,772 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 05:37:18,774 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 05:37:18,775 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 05:37:18,776 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 05:37:18,777 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_unwindbound100.c [2022-04-28 05:37:18,841 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c7793ec22/0f5dda537f7746b69996f0b365610fd4/FLAGd72408440 [2022-04-28 05:37:19,153 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 05:37:19,154 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_unwindbound100.c [2022-04-28 05:37:19,164 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c7793ec22/0f5dda537f7746b69996f0b365610fd4/FLAGd72408440 [2022-04-28 05:37:19,585 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c7793ec22/0f5dda537f7746b69996f0b365610fd4 [2022-04-28 05:37:19,587 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 05:37:19,588 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 05:37:19,589 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 05:37:19,589 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 05:37:19,595 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 05:37:19,596 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 05:37:19" (1/1) ... [2022-04-28 05:37:19,596 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@23ad2db7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:37:19, skipping insertion in model container [2022-04-28 05:37:19,597 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 05:37:19" (1/1) ... [2022-04-28 05:37:19,603 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 05:37:19,619 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 05:37:19,747 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_unwindbound100.c[490,503] [2022-04-28 05:37:19,768 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 05:37:19,775 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 05:37:19,785 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_unwindbound100.c[490,503] [2022-04-28 05:37:19,801 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 05:37:19,812 INFO L208 MainTranslator]: Completed translation [2022-04-28 05:37:19,812 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:37:19 WrapperNode [2022-04-28 05:37:19,813 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 05:37:19,813 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 05:37:19,813 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 05:37:19,814 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 05:37:19,830 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:37:19" (1/1) ... [2022-04-28 05:37:19,830 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:37:19" (1/1) ... [2022-04-28 05:37:19,835 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:37:19" (1/1) ... [2022-04-28 05:37:19,835 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:37:19" (1/1) ... [2022-04-28 05:37:19,842 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:37:19" (1/1) ... [2022-04-28 05:37:19,846 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:37:19" (1/1) ... [2022-04-28 05:37:19,847 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:37:19" (1/1) ... [2022-04-28 05:37:19,849 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 05:37:19,850 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 05:37:19,850 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 05:37:19,850 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 05:37:19,856 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:37:19" (1/1) ... [2022-04-28 05:37:19,867 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 05:37:19,876 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:37:19,889 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 05:37:19,892 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 05:37:19,924 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 05:37:19,924 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 05:37:19,924 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 05:37:19,924 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 05:37:19,924 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 05:37:19,924 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 05:37:19,924 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 05:37:19,924 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 05:37:19,925 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 05:37:19,925 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 05:37:19,925 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 05:37:19,926 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 05:37:19,926 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 05:37:19,926 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 05:37:19,926 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 05:37:19,926 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 05:37:19,926 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 05:37:19,926 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 05:37:19,926 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 05:37:19,926 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 05:37:19,979 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 05:37:19,981 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 05:37:20,156 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 05:37:20,177 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 05:37:20,177 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 05:37:20,179 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 05:37:20 BoogieIcfgContainer [2022-04-28 05:37:20,179 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 05:37:20,180 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 05:37:20,180 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 05:37:20,187 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 05:37:20,187 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 05:37:19" (1/3) ... [2022-04-28 05:37:20,188 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@24414563 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 05:37:20, skipping insertion in model container [2022-04-28 05:37:20,188 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:37:19" (2/3) ... [2022-04-28 05:37:20,188 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@24414563 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 05:37:20, skipping insertion in model container [2022-04-28 05:37:20,188 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 05:37:20" (3/3) ... [2022-04-28 05:37:20,189 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll_unwindbound100.c [2022-04-28 05:37:20,214 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 05:37:20,214 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 05:37:20,255 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 05:37:20,261 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@30beb2a8, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@9ff06ea [2022-04-28 05:37:20,261 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 05:37:20,268 INFO L276 IsEmpty]: Start isEmpty. Operand has 39 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 23 states have internal predecessors, (30), 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 05:37:20,274 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 05:37:20,275 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:37:20,275 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 05:37:20,276 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:37:20,280 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:37:20,280 INFO L85 PathProgramCache]: Analyzing trace with hash 1950618521, now seen corresponding path program 1 times [2022-04-28 05:37:20,287 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:37:20,287 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [803022736] [2022-04-28 05:37:20,297 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:37:20,297 INFO L85 PathProgramCache]: Analyzing trace with hash 1950618521, now seen corresponding path program 2 times [2022-04-28 05:37:20,300 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:37:20,300 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [885282913] [2022-04-28 05:37:20,300 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:37:20,301 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:37:20,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:37:20,482 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 05:37:20,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:37:20,512 INFO L290 TraceCheckUtils]: 0: Hoare triple {63#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {42#true} is VALID [2022-04-28 05:37:20,512 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-28 05:37:20,512 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42#true} {42#true} #98#return; {42#true} is VALID [2022-04-28 05:37:20,513 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 05:37:20,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:37:20,528 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 05:37:20,529 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 05:37:20,529 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 05:37:20,529 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {42#true} #78#return; {43#false} is VALID [2022-04-28 05:37:20,529 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 05:37:20,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:37:20,549 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 05:37:20,550 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 05:37:20,550 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 05:37:20,551 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {43#false} #80#return; {43#false} is VALID [2022-04-28 05:37:20,551 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 05:37:20,559 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:37:20,566 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 05:37:20,566 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 05:37:20,567 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 05:37:20,567 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {43#false} #82#return; {43#false} is VALID [2022-04-28 05:37:20,567 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 05:37:20,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:37:20,581 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 05:37:20,582 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 05:37:20,583 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 05:37:20,583 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {43#false} #84#return; {43#false} is VALID [2022-04-28 05:37:20,584 INFO L272 TraceCheckUtils]: 0: Hoare triple {42#true} call ULTIMATE.init(); {63#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 05:37:20,584 INFO L290 TraceCheckUtils]: 1: Hoare triple {63#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {42#true} is VALID [2022-04-28 05:37:20,584 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-28 05:37:20,586 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#true} {42#true} #98#return; {42#true} is VALID [2022-04-28 05:37:20,587 INFO L272 TraceCheckUtils]: 4: Hoare triple {42#true} call #t~ret8 := main(); {42#true} is VALID [2022-04-28 05:37:20,587 INFO L290 TraceCheckUtils]: 5: Hoare triple {42#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; {42#true} is VALID [2022-04-28 05:37:20,587 INFO L272 TraceCheckUtils]: 6: Hoare triple {42#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {42#true} is VALID [2022-04-28 05:37:20,587 INFO L290 TraceCheckUtils]: 7: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 05:37:20,588 INFO L290 TraceCheckUtils]: 8: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 05:37:20,588 INFO L290 TraceCheckUtils]: 9: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 05:37:20,588 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {43#false} {42#true} #78#return; {43#false} is VALID [2022-04-28 05:37:20,589 INFO L272 TraceCheckUtils]: 11: Hoare triple {43#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {42#true} is VALID [2022-04-28 05:37:20,589 INFO L290 TraceCheckUtils]: 12: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 05:37:20,590 INFO L290 TraceCheckUtils]: 13: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 05:37:20,590 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 05:37:20,590 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {43#false} {43#false} #80#return; {43#false} is VALID [2022-04-28 05:37:20,591 INFO L290 TraceCheckUtils]: 16: Hoare triple {43#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; {43#false} is VALID [2022-04-28 05:37:20,591 INFO L272 TraceCheckUtils]: 17: Hoare triple {43#false} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {42#true} is VALID [2022-04-28 05:37:20,591 INFO L290 TraceCheckUtils]: 18: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 05:37:20,592 INFO L290 TraceCheckUtils]: 19: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 05:37:20,592 INFO L290 TraceCheckUtils]: 20: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 05:37:20,592 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {43#false} {43#false} #82#return; {43#false} is VALID [2022-04-28 05:37:20,592 INFO L272 TraceCheckUtils]: 22: Hoare triple {43#false} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {42#true} is VALID [2022-04-28 05:37:20,593 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 05:37:20,594 INFO L290 TraceCheckUtils]: 24: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 05:37:20,594 INFO L290 TraceCheckUtils]: 25: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 05:37:20,594 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {43#false} {43#false} #84#return; {43#false} is VALID [2022-04-28 05:37:20,595 INFO L290 TraceCheckUtils]: 27: Hoare triple {43#false} assume !true; {43#false} is VALID [2022-04-28 05:37:20,596 INFO L272 TraceCheckUtils]: 28: Hoare triple {43#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {43#false} is VALID [2022-04-28 05:37:20,598 INFO L290 TraceCheckUtils]: 29: Hoare triple {43#false} ~cond := #in~cond; {43#false} is VALID [2022-04-28 05:37:20,599 INFO L290 TraceCheckUtils]: 30: Hoare triple {43#false} assume 0 == ~cond; {43#false} is VALID [2022-04-28 05:37:20,599 INFO L290 TraceCheckUtils]: 31: Hoare triple {43#false} assume !false; {43#false} is VALID [2022-04-28 05:37:20,599 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 05:37:20,600 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:37:20,600 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [885282913] [2022-04-28 05:37:20,601 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [885282913] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:37:20,601 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:37:20,601 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 05:37:20,603 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:37:20,604 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [803022736] [2022-04-28 05:37:20,604 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [803022736] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:37:20,604 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:37:20,604 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 05:37:20,605 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [744315465] [2022-04-28 05:37:20,605 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:37:20,611 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 05:37:20,612 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:37:20,616 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 05:37:20,649 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 05:37:20,650 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 05:37:20,651 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:37:20,683 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 05:37:20,686 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 05:37:20,689 INFO L87 Difference]: Start difference. First operand has 39 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 23 states have internal predecessors, (30), 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 05:37:20,961 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:20,961 INFO L93 Difference]: Finished difference Result 72 states and 112 transitions. [2022-04-28 05:37:20,961 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 05:37:20,962 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 05:37:20,963 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:37:20,964 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 05:37:20,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 112 transitions. [2022-04-28 05:37:20,984 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 05:37:20,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 112 transitions. [2022-04-28 05:37:20,990 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 112 transitions. [2022-04-28 05:37:21,151 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 05:37:21,164 INFO L225 Difference]: With dead ends: 72 [2022-04-28 05:37:21,164 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 05:37:21,168 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 05:37:21,172 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 25 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:37:21,173 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 49 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:37:21,187 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 05:37:21,208 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-28 05:37:21,208 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:37:21,209 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 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 05:37:21,211 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 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 05:37:21,211 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 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 05:37:21,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:21,229 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-28 05:37:21,229 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-28 05:37:21,230 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:37:21,230 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:37:21,231 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 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 35 states. [2022-04-28 05:37:21,231 INFO L87 Difference]: Start difference. First operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 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 35 states. [2022-04-28 05:37:21,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:21,235 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-28 05:37:21,235 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-28 05:37:21,236 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:37:21,236 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:37:21,236 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:37:21,236 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:37:21,237 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 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 05:37:21,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 45 transitions. [2022-04-28 05:37:21,241 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 45 transitions. Word has length 32 [2022-04-28 05:37:21,241 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:37:21,241 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 45 transitions. [2022-04-28 05:37:21,241 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 05:37:21,242 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 45 transitions. [2022-04-28 05:37:21,293 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:37:21,294 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 45 transitions. [2022-04-28 05:37:21,296 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 05:37:21,296 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:37:21,297 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 05:37:21,297 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 05:37:21,297 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:37:21,298 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:37:21,299 INFO L85 PathProgramCache]: Analyzing trace with hash -1734391985, now seen corresponding path program 1 times [2022-04-28 05:37:21,299 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:37:21,299 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [23732446] [2022-04-28 05:37:21,300 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:37:21,300 INFO L85 PathProgramCache]: Analyzing trace with hash -1734391985, now seen corresponding path program 2 times [2022-04-28 05:37:21,300 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:37:21,304 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [764288765] [2022-04-28 05:37:21,304 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:37:21,305 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:37:21,346 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:37:21,346 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [561766439] [2022-04-28 05:37:21,346 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:37:21,347 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:37:21,347 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:37:21,355 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:37:21,360 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 05:37:21,410 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 05:37:21,411 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:37:21,412 INFO L263 TraceCheckSpWp]: Trace formula consists of 78 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 05:37:21,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:37:21,448 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:37:21,727 INFO L272 TraceCheckUtils]: 0: Hoare triple {348#true} call ULTIMATE.init(); {348#true} is VALID [2022-04-28 05:37:21,728 INFO L290 TraceCheckUtils]: 1: Hoare triple {348#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);~counter~0 := 0; {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,729 INFO L290 TraceCheckUtils]: 2: Hoare triple {356#(<= ~counter~0 0)} assume true; {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,729 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {356#(<= ~counter~0 0)} {348#true} #98#return; {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,730 INFO L272 TraceCheckUtils]: 4: Hoare triple {356#(<= ~counter~0 0)} call #t~ret8 := main(); {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,730 INFO L290 TraceCheckUtils]: 5: Hoare triple {356#(<= ~counter~0 0)} 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; {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,731 INFO L272 TraceCheckUtils]: 6: Hoare triple {356#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,732 INFO L290 TraceCheckUtils]: 7: Hoare triple {356#(<= ~counter~0 0)} ~cond := #in~cond; {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,732 INFO L290 TraceCheckUtils]: 8: Hoare triple {356#(<= ~counter~0 0)} assume !(0 == ~cond); {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,733 INFO L290 TraceCheckUtils]: 9: Hoare triple {356#(<= ~counter~0 0)} assume true; {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,733 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {356#(<= ~counter~0 0)} {356#(<= ~counter~0 0)} #78#return; {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,734 INFO L272 TraceCheckUtils]: 11: Hoare triple {356#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,734 INFO L290 TraceCheckUtils]: 12: Hoare triple {356#(<= ~counter~0 0)} ~cond := #in~cond; {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,735 INFO L290 TraceCheckUtils]: 13: Hoare triple {356#(<= ~counter~0 0)} assume !(0 == ~cond); {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,735 INFO L290 TraceCheckUtils]: 14: Hoare triple {356#(<= ~counter~0 0)} assume true; {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,736 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {356#(<= ~counter~0 0)} {356#(<= ~counter~0 0)} #80#return; {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,736 INFO L290 TraceCheckUtils]: 16: Hoare triple {356#(<= ~counter~0 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; {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,737 INFO L272 TraceCheckUtils]: 17: Hoare triple {356#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,738 INFO L290 TraceCheckUtils]: 18: Hoare triple {356#(<= ~counter~0 0)} ~cond := #in~cond; {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,738 INFO L290 TraceCheckUtils]: 19: Hoare triple {356#(<= ~counter~0 0)} assume !(0 == ~cond); {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,739 INFO L290 TraceCheckUtils]: 20: Hoare triple {356#(<= ~counter~0 0)} assume true; {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,739 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {356#(<= ~counter~0 0)} {356#(<= ~counter~0 0)} #82#return; {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,740 INFO L272 TraceCheckUtils]: 22: Hoare triple {356#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,740 INFO L290 TraceCheckUtils]: 23: Hoare triple {356#(<= ~counter~0 0)} ~cond := #in~cond; {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,741 INFO L290 TraceCheckUtils]: 24: Hoare triple {356#(<= ~counter~0 0)} assume !(0 == ~cond); {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,741 INFO L290 TraceCheckUtils]: 25: Hoare triple {356#(<= ~counter~0 0)} assume true; {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,742 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {356#(<= ~counter~0 0)} {356#(<= ~counter~0 0)} #84#return; {356#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:21,743 INFO L290 TraceCheckUtils]: 27: Hoare triple {356#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {435#(<= |main_#t~post6| 0)} is VALID [2022-04-28 05:37:21,743 INFO L290 TraceCheckUtils]: 28: Hoare triple {435#(<= |main_#t~post6| 0)} assume !(#t~post6 < 100);havoc #t~post6; {349#false} is VALID [2022-04-28 05:37:21,743 INFO L272 TraceCheckUtils]: 29: Hoare triple {349#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {349#false} is VALID [2022-04-28 05:37:21,744 INFO L290 TraceCheckUtils]: 30: Hoare triple {349#false} ~cond := #in~cond; {349#false} is VALID [2022-04-28 05:37:21,744 INFO L290 TraceCheckUtils]: 31: Hoare triple {349#false} assume 0 == ~cond; {349#false} is VALID [2022-04-28 05:37:21,744 INFO L290 TraceCheckUtils]: 32: Hoare triple {349#false} assume !false; {349#false} is VALID [2022-04-28 05:37:21,744 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 05:37:21,745 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:37:21,745 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:37:21,745 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [764288765] [2022-04-28 05:37:21,745 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:37:21,745 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [561766439] [2022-04-28 05:37:21,746 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [561766439] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:37:21,746 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:37:21,746 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 05:37:21,747 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:37:21,747 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [23732446] [2022-04-28 05:37:21,747 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [23732446] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:37:21,747 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:37:21,747 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 05:37:21,747 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1915407794] [2022-04-28 05:37:21,748 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:37:21,748 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 05:37:21,749 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:37:21,749 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:37:21,771 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:37:21,771 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 05:37:21,771 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:37:21,772 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 05:37:21,772 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 05:37:21,773 INFO L87 Difference]: Start difference. First operand 34 states and 45 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:37:21,893 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:21,893 INFO L93 Difference]: Finished difference Result 44 states and 56 transitions. [2022-04-28 05:37:21,893 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 05:37:21,893 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 05:37:21,894 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:37:21,894 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:37:21,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2022-04-28 05:37:21,897 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:37:21,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2022-04-28 05:37:21,899 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 56 transitions. [2022-04-28 05:37:21,951 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:37:21,953 INFO L225 Difference]: With dead ends: 44 [2022-04-28 05:37:21,953 INFO L226 Difference]: Without dead ends: 36 [2022-04-28 05:37:21,954 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 05:37:21,955 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 0 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 110 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:37:21,955 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 110 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:37:21,956 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-28 05:37:21,972 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 36. [2022-04-28 05:37:21,972 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:37:21,972 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 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 05:37:21,973 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 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 05:37:21,973 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 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 05:37:21,976 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:21,976 INFO L93 Difference]: Finished difference Result 36 states and 47 transitions. [2022-04-28 05:37:21,976 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 47 transitions. [2022-04-28 05:37:21,977 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:37:21,977 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:37:21,978 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 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 36 states. [2022-04-28 05:37:21,978 INFO L87 Difference]: Start difference. First operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 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 36 states. [2022-04-28 05:37:21,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:21,981 INFO L93 Difference]: Finished difference Result 36 states and 47 transitions. [2022-04-28 05:37:21,981 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 47 transitions. [2022-04-28 05:37:21,982 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:37:21,982 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:37:21,982 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:37:21,982 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:37:21,982 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 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 05:37:21,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 47 transitions. [2022-04-28 05:37:21,985 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 47 transitions. Word has length 33 [2022-04-28 05:37:21,986 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:37:21,986 INFO L495 AbstractCegarLoop]: Abstraction has 36 states and 47 transitions. [2022-04-28 05:37:21,986 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:37:21,986 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 47 transitions. [2022-04-28 05:37:22,036 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:37:22,036 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 47 transitions. [2022-04-28 05:37:22,037 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 05:37:22,037 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:37:22,037 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 05:37:22,064 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 05:37:22,263 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 05:37:22,264 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:37:22,264 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:37:22,264 INFO L85 PathProgramCache]: Analyzing trace with hash 2066454233, now seen corresponding path program 1 times [2022-04-28 05:37:22,264 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:37:22,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [608669756] [2022-04-28 05:37:22,265 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:37:22,265 INFO L85 PathProgramCache]: Analyzing trace with hash 2066454233, now seen corresponding path program 2 times [2022-04-28 05:37:22,265 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:37:22,265 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [339267595] [2022-04-28 05:37:22,265 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:37:22,266 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:37:22,288 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:37:22,288 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1032996150] [2022-04-28 05:37:22,288 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:37:22,288 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:37:22,289 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:37:22,290 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:37:22,300 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 05:37:22,349 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:37:22,349 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:37:22,351 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 05:37:22,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:37:22,362 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:37:22,488 INFO L272 TraceCheckUtils]: 0: Hoare triple {682#true} call ULTIMATE.init(); {682#true} is VALID [2022-04-28 05:37:22,488 INFO L290 TraceCheckUtils]: 1: Hoare triple {682#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);~counter~0 := 0; {682#true} is VALID [2022-04-28 05:37:22,489 INFO L290 TraceCheckUtils]: 2: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 05:37:22,489 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {682#true} {682#true} #98#return; {682#true} is VALID [2022-04-28 05:37:22,489 INFO L272 TraceCheckUtils]: 4: Hoare triple {682#true} call #t~ret8 := main(); {682#true} is VALID [2022-04-28 05:37:22,489 INFO L290 TraceCheckUtils]: 5: Hoare triple {682#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; {682#true} is VALID [2022-04-28 05:37:22,489 INFO L272 TraceCheckUtils]: 6: Hoare triple {682#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {682#true} is VALID [2022-04-28 05:37:22,489 INFO L290 TraceCheckUtils]: 7: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-28 05:37:22,490 INFO L290 TraceCheckUtils]: 8: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-28 05:37:22,490 INFO L290 TraceCheckUtils]: 9: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 05:37:22,490 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {682#true} {682#true} #78#return; {682#true} is VALID [2022-04-28 05:37:22,490 INFO L272 TraceCheckUtils]: 11: Hoare triple {682#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {682#true} is VALID [2022-04-28 05:37:22,491 INFO L290 TraceCheckUtils]: 12: Hoare triple {682#true} ~cond := #in~cond; {723#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:37:22,491 INFO L290 TraceCheckUtils]: 13: Hoare triple {723#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:37:22,491 INFO L290 TraceCheckUtils]: 14: Hoare triple {727#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:37:22,492 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {727#(not (= |assume_abort_if_not_#in~cond| 0))} {682#true} #80#return; {734#(<= 1 main_~y~0)} is VALID [2022-04-28 05:37:22,493 INFO L290 TraceCheckUtils]: 16: Hoare triple {734#(<= 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; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 05:37:22,493 INFO L272 TraceCheckUtils]: 17: Hoare triple {738#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {682#true} is VALID [2022-04-28 05:37:22,493 INFO L290 TraceCheckUtils]: 18: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-28 05:37:22,493 INFO L290 TraceCheckUtils]: 19: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-28 05:37:22,494 INFO L290 TraceCheckUtils]: 20: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 05:37:22,494 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {682#true} {738#(<= 1 main_~b~0)} #82#return; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 05:37:22,494 INFO L272 TraceCheckUtils]: 22: Hoare triple {738#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {682#true} is VALID [2022-04-28 05:37:22,494 INFO L290 TraceCheckUtils]: 23: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-28 05:37:22,495 INFO L290 TraceCheckUtils]: 24: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-28 05:37:22,495 INFO L290 TraceCheckUtils]: 25: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 05:37:22,495 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {682#true} {738#(<= 1 main_~b~0)} #84#return; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 05:37:22,496 INFO L290 TraceCheckUtils]: 27: Hoare triple {738#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 05:37:22,496 INFO L290 TraceCheckUtils]: 28: Hoare triple {738#(<= 1 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 05:37:22,497 INFO L290 TraceCheckUtils]: 29: Hoare triple {738#(<= 1 main_~b~0)} assume !(0 != ~b~0); {683#false} is VALID [2022-04-28 05:37:22,497 INFO L272 TraceCheckUtils]: 30: Hoare triple {683#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {683#false} is VALID [2022-04-28 05:37:22,497 INFO L290 TraceCheckUtils]: 31: Hoare triple {683#false} ~cond := #in~cond; {683#false} is VALID [2022-04-28 05:37:22,497 INFO L290 TraceCheckUtils]: 32: Hoare triple {683#false} assume 0 == ~cond; {683#false} is VALID [2022-04-28 05:37:22,497 INFO L290 TraceCheckUtils]: 33: Hoare triple {683#false} assume !false; {683#false} is VALID [2022-04-28 05:37:22,498 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 05:37:22,498 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:37:22,734 INFO L290 TraceCheckUtils]: 33: Hoare triple {683#false} assume !false; {683#false} is VALID [2022-04-28 05:37:22,734 INFO L290 TraceCheckUtils]: 32: Hoare triple {683#false} assume 0 == ~cond; {683#false} is VALID [2022-04-28 05:37:22,734 INFO L290 TraceCheckUtils]: 31: Hoare triple {683#false} ~cond := #in~cond; {683#false} is VALID [2022-04-28 05:37:22,734 INFO L272 TraceCheckUtils]: 30: Hoare triple {683#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {683#false} is VALID [2022-04-28 05:37:22,735 INFO L290 TraceCheckUtils]: 29: Hoare triple {738#(<= 1 main_~b~0)} assume !(0 != ~b~0); {683#false} is VALID [2022-04-28 05:37:22,735 INFO L290 TraceCheckUtils]: 28: Hoare triple {738#(<= 1 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 05:37:22,736 INFO L290 TraceCheckUtils]: 27: Hoare triple {738#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 05:37:22,736 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {682#true} {738#(<= 1 main_~b~0)} #84#return; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 05:37:22,736 INFO L290 TraceCheckUtils]: 25: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 05:37:22,737 INFO L290 TraceCheckUtils]: 24: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-28 05:37:22,737 INFO L290 TraceCheckUtils]: 23: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-28 05:37:22,737 INFO L272 TraceCheckUtils]: 22: Hoare triple {738#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {682#true} is VALID [2022-04-28 05:37:22,738 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {682#true} {738#(<= 1 main_~b~0)} #82#return; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 05:37:22,738 INFO L290 TraceCheckUtils]: 20: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 05:37:22,738 INFO L290 TraceCheckUtils]: 19: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-28 05:37:22,738 INFO L290 TraceCheckUtils]: 18: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-28 05:37:22,738 INFO L272 TraceCheckUtils]: 17: Hoare triple {738#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {682#true} is VALID [2022-04-28 05:37:22,739 INFO L290 TraceCheckUtils]: 16: Hoare triple {734#(<= 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; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 05:37:22,740 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {727#(not (= |assume_abort_if_not_#in~cond| 0))} {682#true} #80#return; {734#(<= 1 main_~y~0)} is VALID [2022-04-28 05:37:22,740 INFO L290 TraceCheckUtils]: 14: Hoare triple {727#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:37:22,740 INFO L290 TraceCheckUtils]: 13: Hoare triple {853#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:37:22,741 INFO L290 TraceCheckUtils]: 12: Hoare triple {682#true} ~cond := #in~cond; {853#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 05:37:22,741 INFO L272 TraceCheckUtils]: 11: Hoare triple {682#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {682#true} is VALID [2022-04-28 05:37:22,741 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {682#true} {682#true} #78#return; {682#true} is VALID [2022-04-28 05:37:22,741 INFO L290 TraceCheckUtils]: 9: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 05:37:22,742 INFO L290 TraceCheckUtils]: 8: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-28 05:37:22,742 INFO L290 TraceCheckUtils]: 7: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-28 05:37:22,742 INFO L272 TraceCheckUtils]: 6: Hoare triple {682#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {682#true} is VALID [2022-04-28 05:37:22,742 INFO L290 TraceCheckUtils]: 5: Hoare triple {682#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; {682#true} is VALID [2022-04-28 05:37:22,742 INFO L272 TraceCheckUtils]: 4: Hoare triple {682#true} call #t~ret8 := main(); {682#true} is VALID [2022-04-28 05:37:22,742 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {682#true} {682#true} #98#return; {682#true} is VALID [2022-04-28 05:37:22,742 INFO L290 TraceCheckUtils]: 2: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 05:37:22,743 INFO L290 TraceCheckUtils]: 1: Hoare triple {682#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);~counter~0 := 0; {682#true} is VALID [2022-04-28 05:37:22,743 INFO L272 TraceCheckUtils]: 0: Hoare triple {682#true} call ULTIMATE.init(); {682#true} is VALID [2022-04-28 05:37:22,743 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 05:37:22,743 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:37:22,743 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [339267595] [2022-04-28 05:37:22,743 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:37:22,743 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1032996150] [2022-04-28 05:37:22,744 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1032996150] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:37:22,744 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:37:22,744 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-28 05:37:22,744 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:37:22,744 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [608669756] [2022-04-28 05:37:22,744 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [608669756] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:37:22,744 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:37:22,745 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 05:37:22,745 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [715323786] [2022-04-28 05:37:22,745 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:37:22,745 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (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 34 [2022-04-28 05:37:22,745 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:37:22,746 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (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 05:37:22,768 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:37:22,768 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 05:37:22,768 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:37:22,768 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 05:37:22,769 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 05:37:22,769 INFO L87 Difference]: Start difference. First operand 36 states and 47 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (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 05:37:23,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:23,078 INFO L93 Difference]: Finished difference Result 53 states and 71 transitions. [2022-04-28 05:37:23,078 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 05:37:23,078 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (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 34 [2022-04-28 05:37:23,079 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:37:23,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (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 05:37:23,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 71 transitions. [2022-04-28 05:37:23,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (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 05:37:23,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 71 transitions. [2022-04-28 05:37:23,087 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 71 transitions. [2022-04-28 05:37:23,173 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:37:23,174 INFO L225 Difference]: With dead ends: 53 [2022-04-28 05:37:23,175 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 05:37:23,175 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 61 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 05:37:23,176 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 28 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 74 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 135 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 05:37:23,176 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 135 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 74 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:37:23,177 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 05:37:23,216 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 37. [2022-04-28 05:37:23,216 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:37:23,216 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 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 05:37:23,220 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 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 05:37:23,221 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 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 05:37:23,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:23,226 INFO L93 Difference]: Finished difference Result 45 states and 62 transitions. [2022-04-28 05:37:23,226 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-28 05:37:23,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:37:23,227 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:37:23,228 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 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 45 states. [2022-04-28 05:37:23,228 INFO L87 Difference]: Start difference. First operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 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 45 states. [2022-04-28 05:37:23,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:23,231 INFO L93 Difference]: Finished difference Result 45 states and 62 transitions. [2022-04-28 05:37:23,231 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-28 05:37:23,231 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:37:23,231 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:37:23,231 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:37:23,232 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:37:23,232 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 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 05:37:23,234 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 48 transitions. [2022-04-28 05:37:23,234 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 48 transitions. Word has length 34 [2022-04-28 05:37:23,234 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:37:23,234 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 48 transitions. [2022-04-28 05:37:23,234 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (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 05:37:23,235 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 48 transitions. [2022-04-28 05:37:23,286 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:37:23,286 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-04-28 05:37:23,288 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-28 05:37:23,288 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:37:23,288 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, 1, 1] [2022-04-28 05:37:23,315 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 05:37:23,507 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 05:37:23,508 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:37:23,508 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:37:23,508 INFO L85 PathProgramCache]: Analyzing trace with hash 1678606280, now seen corresponding path program 1 times [2022-04-28 05:37:23,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:37:23,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [979685615] [2022-04-28 05:37:23,509 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:37:23,509 INFO L85 PathProgramCache]: Analyzing trace with hash 1678606280, now seen corresponding path program 2 times [2022-04-28 05:37:23,509 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:37:23,509 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1520668228] [2022-04-28 05:37:23,509 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:37:23,509 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:37:23,531 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:37:23,532 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [828845223] [2022-04-28 05:37:23,532 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:37:23,532 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:37:23,532 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:37:23,533 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:37:23,537 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 05:37:23,583 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 05:37:23,583 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:37:23,584 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 05:37:23,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:37:23,596 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:37:23,728 INFO L272 TraceCheckUtils]: 0: Hoare triple {1166#true} call ULTIMATE.init(); {1166#true} is VALID [2022-04-28 05:37:23,728 INFO L290 TraceCheckUtils]: 1: Hoare triple {1166#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);~counter~0 := 0; {1166#true} is VALID [2022-04-28 05:37:23,729 INFO L290 TraceCheckUtils]: 2: Hoare triple {1166#true} assume true; {1166#true} is VALID [2022-04-28 05:37:23,729 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1166#true} {1166#true} #98#return; {1166#true} is VALID [2022-04-28 05:37:23,729 INFO L272 TraceCheckUtils]: 4: Hoare triple {1166#true} call #t~ret8 := main(); {1166#true} is VALID [2022-04-28 05:37:23,729 INFO L290 TraceCheckUtils]: 5: Hoare triple {1166#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; {1166#true} is VALID [2022-04-28 05:37:23,729 INFO L272 TraceCheckUtils]: 6: Hoare triple {1166#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1166#true} is VALID [2022-04-28 05:37:23,729 INFO L290 TraceCheckUtils]: 7: Hoare triple {1166#true} ~cond := #in~cond; {1166#true} is VALID [2022-04-28 05:37:23,729 INFO L290 TraceCheckUtils]: 8: Hoare triple {1166#true} assume !(0 == ~cond); {1166#true} is VALID [2022-04-28 05:37:23,730 INFO L290 TraceCheckUtils]: 9: Hoare triple {1166#true} assume true; {1166#true} is VALID [2022-04-28 05:37:23,730 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1166#true} {1166#true} #78#return; {1166#true} is VALID [2022-04-28 05:37:23,730 INFO L272 TraceCheckUtils]: 11: Hoare triple {1166#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1166#true} is VALID [2022-04-28 05:37:23,731 INFO L290 TraceCheckUtils]: 12: Hoare triple {1166#true} ~cond := #in~cond; {1166#true} is VALID [2022-04-28 05:37:23,731 INFO L290 TraceCheckUtils]: 13: Hoare triple {1166#true} assume !(0 == ~cond); {1166#true} is VALID [2022-04-28 05:37:23,731 INFO L290 TraceCheckUtils]: 14: Hoare triple {1166#true} assume true; {1166#true} is VALID [2022-04-28 05:37:23,731 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1166#true} {1166#true} #80#return; {1166#true} is VALID [2022-04-28 05:37:23,731 INFO L290 TraceCheckUtils]: 16: Hoare triple {1166#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; {1166#true} is VALID [2022-04-28 05:37:23,731 INFO L272 TraceCheckUtils]: 17: Hoare triple {1166#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1166#true} is VALID [2022-04-28 05:37:23,731 INFO L290 TraceCheckUtils]: 18: Hoare triple {1166#true} ~cond := #in~cond; {1166#true} is VALID [2022-04-28 05:37:23,732 INFO L290 TraceCheckUtils]: 19: Hoare triple {1166#true} assume !(0 == ~cond); {1166#true} is VALID [2022-04-28 05:37:23,732 INFO L290 TraceCheckUtils]: 20: Hoare triple {1166#true} assume true; {1166#true} is VALID [2022-04-28 05:37:23,732 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1166#true} {1166#true} #82#return; {1166#true} is VALID [2022-04-28 05:37:23,733 INFO L272 TraceCheckUtils]: 22: Hoare triple {1166#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1166#true} is VALID [2022-04-28 05:37:23,733 INFO L290 TraceCheckUtils]: 23: Hoare triple {1166#true} ~cond := #in~cond; {1166#true} is VALID [2022-04-28 05:37:23,733 INFO L290 TraceCheckUtils]: 24: Hoare triple {1166#true} assume !(0 == ~cond); {1166#true} is VALID [2022-04-28 05:37:23,733 INFO L290 TraceCheckUtils]: 25: Hoare triple {1166#true} assume true; {1166#true} is VALID [2022-04-28 05:37:23,733 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1166#true} {1166#true} #84#return; {1166#true} is VALID [2022-04-28 05:37:23,733 INFO L290 TraceCheckUtils]: 27: Hoare triple {1166#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1166#true} is VALID [2022-04-28 05:37:23,734 INFO L290 TraceCheckUtils]: 28: Hoare triple {1166#true} assume !!(#t~post6 < 100);havoc #t~post6; {1166#true} is VALID [2022-04-28 05:37:23,734 INFO L290 TraceCheckUtils]: 29: Hoare triple {1166#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1258#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 05:37:23,735 INFO L290 TraceCheckUtils]: 30: Hoare triple {1258#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1258#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 05:37:23,735 INFO L290 TraceCheckUtils]: 31: Hoare triple {1258#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} assume !!(#t~post7 < 100);havoc #t~post7; {1258#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 05:37:23,736 INFO L272 TraceCheckUtils]: 32: Hoare triple {1258#(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)); {1268#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:37:23,736 INFO L290 TraceCheckUtils]: 33: Hoare triple {1268#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1272#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:37:23,737 INFO L290 TraceCheckUtils]: 34: Hoare triple {1272#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1167#false} is VALID [2022-04-28 05:37:23,740 INFO L290 TraceCheckUtils]: 35: Hoare triple {1167#false} assume !false; {1167#false} is VALID [2022-04-28 05:37:23,741 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 05:37:23,741 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:37:23,741 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:37:23,742 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1520668228] [2022-04-28 05:37:23,742 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:37:23,742 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [828845223] [2022-04-28 05:37:23,742 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [828845223] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:37:23,742 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:37:23,742 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:37:23,742 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:37:23,742 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [979685615] [2022-04-28 05:37:23,743 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [979685615] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:37:23,743 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:37:23,743 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:37:23,743 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1859785758] [2022-04-28 05:37:23,743 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:37:23,743 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 36 [2022-04-28 05:37:23,744 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:37:23,744 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:37:23,763 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:37:23,764 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:37:23,764 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:37:23,765 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:37:23,765 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:37:23,765 INFO L87 Difference]: Start difference. First operand 37 states and 48 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:37:23,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:23,991 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-28 05:37:23,992 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:37:23,992 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 36 [2022-04-28 05:37:23,993 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:37:23,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:37:23,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 05:37:23,997 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:37:24,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 05:37:24,002 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-28 05:37:24,067 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:37:24,068 INFO L225 Difference]: With dead ends: 51 [2022-04-28 05:37:24,069 INFO L226 Difference]: Without dead ends: 49 [2022-04-28 05:37:24,069 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 05:37:24,070 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 7 mSDsluCounter, 107 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 150 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 05:37:24,070 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 150 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:37:24,071 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-04-28 05:37:24,105 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 44. [2022-04-28 05:37:24,106 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:37:24,106 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 44 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 28 states have internal predecessors, (32), 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 05:37:24,106 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 44 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 28 states have internal predecessors, (32), 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 05:37:24,107 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 44 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 28 states have internal predecessors, (32), 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 05:37:24,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:24,109 INFO L93 Difference]: Finished difference Result 49 states and 65 transitions. [2022-04-28 05:37:24,109 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-28 05:37:24,110 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:37:24,110 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:37:24,110 INFO L74 IsIncluded]: Start isIncluded. First operand has 44 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 28 states have internal predecessors, (32), 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 49 states. [2022-04-28 05:37:24,110 INFO L87 Difference]: Start difference. First operand has 44 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 28 states have internal predecessors, (32), 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 49 states. [2022-04-28 05:37:24,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:24,113 INFO L93 Difference]: Finished difference Result 49 states and 65 transitions. [2022-04-28 05:37:24,113 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-28 05:37:24,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:37:24,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:37:24,113 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:37:24,113 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:37:24,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 28 states have internal predecessors, (32), 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 05:37:24,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 56 transitions. [2022-04-28 05:37:24,116 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 56 transitions. Word has length 36 [2022-04-28 05:37:24,116 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:37:24,116 INFO L495 AbstractCegarLoop]: Abstraction has 44 states and 56 transitions. [2022-04-28 05:37:24,116 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:37:24,116 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 44 states and 56 transitions. [2022-04-28 05:37:24,172 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:37:24,173 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 56 transitions. [2022-04-28 05:37:24,173 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 05:37:24,173 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:37:24,173 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 05:37:24,191 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 05:37:24,379 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 05:37:24,380 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:37:24,380 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:37:24,380 INFO L85 PathProgramCache]: Analyzing trace with hash -2124209112, now seen corresponding path program 1 times [2022-04-28 05:37:24,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:37:24,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [203680407] [2022-04-28 05:37:24,381 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:37:24,381 INFO L85 PathProgramCache]: Analyzing trace with hash -2124209112, now seen corresponding path program 2 times [2022-04-28 05:37:24,381 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:37:24,381 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1921471294] [2022-04-28 05:37:24,381 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:37:24,381 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:37:24,397 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:37:24,397 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [765225269] [2022-04-28 05:37:24,397 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:37:24,397 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:37:24,398 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:37:24,399 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:37:24,407 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 05:37:24,465 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:37:24,465 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:37:24,466 INFO L263 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 05:37:24,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:37:24,481 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:37:24,647 INFO L272 TraceCheckUtils]: 0: Hoare triple {1568#true} call ULTIMATE.init(); {1568#true} is VALID [2022-04-28 05:37:24,648 INFO L290 TraceCheckUtils]: 1: Hoare triple {1568#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);~counter~0 := 0; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,648 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#(<= ~counter~0 0)} assume true; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,649 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#(<= ~counter~0 0)} {1568#true} #98#return; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,649 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#(<= ~counter~0 0)} call #t~ret8 := main(); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,649 INFO L290 TraceCheckUtils]: 5: Hoare triple {1576#(<= ~counter~0 0)} 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; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,650 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,650 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#(<= ~counter~0 0)} ~cond := #in~cond; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,651 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#(<= ~counter~0 0)} assume !(0 == ~cond); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,651 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#(<= ~counter~0 0)} assume true; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,651 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#(<= ~counter~0 0)} {1576#(<= ~counter~0 0)} #78#return; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,652 INFO L272 TraceCheckUtils]: 11: Hoare triple {1576#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,652 INFO L290 TraceCheckUtils]: 12: Hoare triple {1576#(<= ~counter~0 0)} ~cond := #in~cond; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,653 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#(<= ~counter~0 0)} assume !(0 == ~cond); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,653 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#(<= ~counter~0 0)} assume true; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,653 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1576#(<= ~counter~0 0)} {1576#(<= ~counter~0 0)} #80#return; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,654 INFO L290 TraceCheckUtils]: 16: Hoare triple {1576#(<= ~counter~0 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; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,654 INFO L272 TraceCheckUtils]: 17: Hoare triple {1576#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,655 INFO L290 TraceCheckUtils]: 18: Hoare triple {1576#(<= ~counter~0 0)} ~cond := #in~cond; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,655 INFO L290 TraceCheckUtils]: 19: Hoare triple {1576#(<= ~counter~0 0)} assume !(0 == ~cond); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,655 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#(<= ~counter~0 0)} assume true; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,656 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1576#(<= ~counter~0 0)} {1576#(<= ~counter~0 0)} #82#return; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,656 INFO L272 TraceCheckUtils]: 22: Hoare triple {1576#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,657 INFO L290 TraceCheckUtils]: 23: Hoare triple {1576#(<= ~counter~0 0)} ~cond := #in~cond; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,657 INFO L290 TraceCheckUtils]: 24: Hoare triple {1576#(<= ~counter~0 0)} assume !(0 == ~cond); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,657 INFO L290 TraceCheckUtils]: 25: Hoare triple {1576#(<= ~counter~0 0)} assume true; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,658 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1576#(<= ~counter~0 0)} {1576#(<= ~counter~0 0)} #84#return; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 05:37:24,658 INFO L290 TraceCheckUtils]: 27: Hoare triple {1576#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1655#(<= ~counter~0 1)} is VALID [2022-04-28 05:37:24,659 INFO L290 TraceCheckUtils]: 28: Hoare triple {1655#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {1655#(<= ~counter~0 1)} is VALID [2022-04-28 05:37:24,659 INFO L290 TraceCheckUtils]: 29: Hoare triple {1655#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1655#(<= ~counter~0 1)} is VALID [2022-04-28 05:37:24,659 INFO L290 TraceCheckUtils]: 30: Hoare triple {1655#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1665#(<= |main_#t~post7| 1)} is VALID [2022-04-28 05:37:24,660 INFO L290 TraceCheckUtils]: 31: Hoare triple {1665#(<= |main_#t~post7| 1)} assume !(#t~post7 < 100);havoc #t~post7; {1569#false} is VALID [2022-04-28 05:37:24,660 INFO L290 TraceCheckUtils]: 32: Hoare triple {1569#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; {1569#false} is VALID [2022-04-28 05:37:24,660 INFO L290 TraceCheckUtils]: 33: Hoare triple {1569#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1569#false} is VALID [2022-04-28 05:37:24,660 INFO L290 TraceCheckUtils]: 34: Hoare triple {1569#false} assume !(#t~post6 < 100);havoc #t~post6; {1569#false} is VALID [2022-04-28 05:37:24,660 INFO L272 TraceCheckUtils]: 35: Hoare triple {1569#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {1569#false} is VALID [2022-04-28 05:37:24,661 INFO L290 TraceCheckUtils]: 36: Hoare triple {1569#false} ~cond := #in~cond; {1569#false} is VALID [2022-04-28 05:37:24,661 INFO L290 TraceCheckUtils]: 37: Hoare triple {1569#false} assume 0 == ~cond; {1569#false} is VALID [2022-04-28 05:37:24,661 INFO L290 TraceCheckUtils]: 38: Hoare triple {1569#false} assume !false; {1569#false} is VALID [2022-04-28 05:37:24,661 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 05:37:24,661 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:37:24,661 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:37:24,661 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1921471294] [2022-04-28 05:37:24,662 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:37:24,662 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [765225269] [2022-04-28 05:37:24,662 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [765225269] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:37:24,662 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:37:24,662 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:37:24,662 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:37:24,662 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [203680407] [2022-04-28 05:37:24,662 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [203680407] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:37:24,662 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:37:24,663 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:37:24,663 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1000411314] [2022-04-28 05:37:24,663 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:37:24,663 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-28 05:37:24,663 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:37:24,664 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:37:24,684 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:37:24,684 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:37:24,684 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:37:24,685 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:37:24,685 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:37:24,685 INFO L87 Difference]: Start difference. First operand 44 states and 56 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:37:24,839 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:24,839 INFO L93 Difference]: Finished difference Result 72 states and 94 transitions. [2022-04-28 05:37:24,839 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:37:24,840 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-28 05:37:24,840 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:37:24,840 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:37:24,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-28 05:37:24,842 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:37:24,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-28 05:37:24,844 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-28 05:37:24,919 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 05:37:24,922 INFO L225 Difference]: With dead ends: 72 [2022-04-28 05:37:24,922 INFO L226 Difference]: Without dead ends: 46 [2022-04-28 05:37:24,923 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:37:24,926 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 6 mSDsluCounter, 91 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:37:24,926 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 133 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:37:24,928 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-28 05:37:24,975 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-04-28 05:37:24,976 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:37:24,976 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 46 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 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 05:37:24,977 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 46 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 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 05:37:24,977 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 46 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 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 05:37:24,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:24,979 INFO L93 Difference]: Finished difference Result 46 states and 58 transitions. [2022-04-28 05:37:24,979 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 58 transitions. [2022-04-28 05:37:24,979 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:37:24,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:37:24,980 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 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 46 states. [2022-04-28 05:37:24,980 INFO L87 Difference]: Start difference. First operand has 46 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 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 46 states. [2022-04-28 05:37:24,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:24,982 INFO L93 Difference]: Finished difference Result 46 states and 58 transitions. [2022-04-28 05:37:24,982 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 58 transitions. [2022-04-28 05:37:24,982 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:37:24,982 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:37:24,982 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:37:24,982 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:37:24,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 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 05:37:24,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 58 transitions. [2022-04-28 05:37:24,984 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 58 transitions. Word has length 39 [2022-04-28 05:37:24,986 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:37:24,986 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 58 transitions. [2022-04-28 05:37:24,986 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:37:24,987 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 58 transitions. [2022-04-28 05:37:25,049 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:37:25,049 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 58 transitions. [2022-04-28 05:37:25,050 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 05:37:25,050 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:37:25,073 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, 1, 1] [2022-04-28 05:37:25,093 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-28 05:37:25,273 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 05:37:25,274 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:37:25,274 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:37:25,274 INFO L85 PathProgramCache]: Analyzing trace with hash 1052701339, now seen corresponding path program 1 times [2022-04-28 05:37:25,274 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:37:25,275 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [395621883] [2022-04-28 05:37:25,275 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:37:25,275 INFO L85 PathProgramCache]: Analyzing trace with hash 1052701339, now seen corresponding path program 2 times [2022-04-28 05:37:25,275 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:37:25,275 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1629654514] [2022-04-28 05:37:25,275 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:37:25,275 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:37:25,297 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:37:25,298 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1587480187] [2022-04-28 05:37:25,298 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:37:25,298 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:37:25,298 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:37:25,301 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:37:25,303 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 05:37:25,353 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:37:25,354 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:37:25,354 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 05:37:25,365 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:37:25,366 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:37:25,626 INFO L272 TraceCheckUtils]: 0: Hoare triple {2017#true} call ULTIMATE.init(); {2017#true} is VALID [2022-04-28 05:37:25,626 INFO L290 TraceCheckUtils]: 1: Hoare triple {2017#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);~counter~0 := 0; {2017#true} is VALID [2022-04-28 05:37:25,626 INFO L290 TraceCheckUtils]: 2: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 05:37:25,626 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2017#true} {2017#true} #98#return; {2017#true} is VALID [2022-04-28 05:37:25,626 INFO L272 TraceCheckUtils]: 4: Hoare triple {2017#true} call #t~ret8 := main(); {2017#true} is VALID [2022-04-28 05:37:25,626 INFO L290 TraceCheckUtils]: 5: Hoare triple {2017#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; {2017#true} is VALID [2022-04-28 05:37:25,626 INFO L272 TraceCheckUtils]: 6: Hoare triple {2017#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2017#true} is VALID [2022-04-28 05:37:25,627 INFO L290 TraceCheckUtils]: 7: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 05:37:25,627 INFO L290 TraceCheckUtils]: 8: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 05:37:25,627 INFO L290 TraceCheckUtils]: 9: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 05:37:25,627 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2017#true} {2017#true} #78#return; {2017#true} is VALID [2022-04-28 05:37:25,627 INFO L272 TraceCheckUtils]: 11: Hoare triple {2017#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2017#true} is VALID [2022-04-28 05:37:25,628 INFO L290 TraceCheckUtils]: 12: Hoare triple {2017#true} ~cond := #in~cond; {2058#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:37:25,628 INFO L290 TraceCheckUtils]: 13: Hoare triple {2058#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2062#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:37:25,628 INFO L290 TraceCheckUtils]: 14: Hoare triple {2062#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2062#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:37:25,629 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2062#(not (= |assume_abort_if_not_#in~cond| 0))} {2017#true} #80#return; {2069#(<= 1 main_~y~0)} is VALID [2022-04-28 05:37:25,629 INFO L290 TraceCheckUtils]: 16: Hoare triple {2069#(<= 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; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:37:25,630 INFO L272 TraceCheckUtils]: 17: Hoare triple {2073#(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)); {2017#true} is VALID [2022-04-28 05:37:25,630 INFO L290 TraceCheckUtils]: 18: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 05:37:25,630 INFO L290 TraceCheckUtils]: 19: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 05:37:25,630 INFO L290 TraceCheckUtils]: 20: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 05:37:25,631 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2017#true} {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:37:25,631 INFO L272 TraceCheckUtils]: 22: Hoare triple {2073#(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)); {2017#true} is VALID [2022-04-28 05:37:25,631 INFO L290 TraceCheckUtils]: 23: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 05:37:25,631 INFO L290 TraceCheckUtils]: 24: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 05:37:25,631 INFO L290 TraceCheckUtils]: 25: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 05:37:25,633 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2017#true} {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:37:25,633 INFO L290 TraceCheckUtils]: 27: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:37:25,640 INFO L290 TraceCheckUtils]: 28: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:37:25,640 INFO L290 TraceCheckUtils]: 29: Hoare triple {2073#(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; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:37:25,641 INFO L290 TraceCheckUtils]: 30: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:37:25,641 INFO L290 TraceCheckUtils]: 31: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:37:25,641 INFO L272 TraceCheckUtils]: 32: Hoare triple {2073#(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)); {2017#true} is VALID [2022-04-28 05:37:25,641 INFO L290 TraceCheckUtils]: 33: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 05:37:25,642 INFO L290 TraceCheckUtils]: 34: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 05:37:25,642 INFO L290 TraceCheckUtils]: 35: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 05:37:25,642 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2017#true} {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:37:25,643 INFO L272 TraceCheckUtils]: 37: Hoare triple {2073#(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)); {2137#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:37:25,644 INFO L290 TraceCheckUtils]: 38: Hoare triple {2137#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2141#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:37:25,644 INFO L290 TraceCheckUtils]: 39: Hoare triple {2141#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2018#false} is VALID [2022-04-28 05:37:25,644 INFO L290 TraceCheckUtils]: 40: Hoare triple {2018#false} assume !false; {2018#false} is VALID [2022-04-28 05:37:25,644 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 05:37:25,644 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:37:25,883 INFO L290 TraceCheckUtils]: 40: Hoare triple {2018#false} assume !false; {2018#false} is VALID [2022-04-28 05:37:25,883 INFO L290 TraceCheckUtils]: 39: Hoare triple {2141#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2018#false} is VALID [2022-04-28 05:37:25,884 INFO L290 TraceCheckUtils]: 38: Hoare triple {2137#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2141#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:37:25,885 INFO L272 TraceCheckUtils]: 37: Hoare triple {2157#(= 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)); {2137#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:37:25,886 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2017#true} {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #86#return; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:37:25,886 INFO L290 TraceCheckUtils]: 35: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 05:37:25,886 INFO L290 TraceCheckUtils]: 34: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 05:37:25,886 INFO L290 TraceCheckUtils]: 33: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 05:37:25,886 INFO L272 TraceCheckUtils]: 32: Hoare triple {2157#(= 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)); {2017#true} is VALID [2022-04-28 05:37:25,887 INFO L290 TraceCheckUtils]: 31: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:37:25,887 INFO L290 TraceCheckUtils]: 30: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:37:25,888 INFO L290 TraceCheckUtils]: 29: Hoare triple {2157#(= 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; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:37:25,888 INFO L290 TraceCheckUtils]: 28: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:37:25,889 INFO L290 TraceCheckUtils]: 27: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:37:25,889 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2017#true} {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #84#return; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:37:25,889 INFO L290 TraceCheckUtils]: 25: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 05:37:25,890 INFO L290 TraceCheckUtils]: 24: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 05:37:25,890 INFO L290 TraceCheckUtils]: 23: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 05:37:25,890 INFO L272 TraceCheckUtils]: 22: Hoare triple {2157#(= 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)); {2017#true} is VALID [2022-04-28 05:37:25,890 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2017#true} {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #82#return; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:37:25,891 INFO L290 TraceCheckUtils]: 20: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 05:37:25,891 INFO L290 TraceCheckUtils]: 19: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 05:37:25,891 INFO L290 TraceCheckUtils]: 18: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 05:37:25,891 INFO L272 TraceCheckUtils]: 17: Hoare triple {2157#(= 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)); {2017#true} is VALID [2022-04-28 05:37:25,891 INFO L290 TraceCheckUtils]: 16: Hoare triple {2017#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; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:37:25,892 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2017#true} {2017#true} #80#return; {2017#true} is VALID [2022-04-28 05:37:25,892 INFO L290 TraceCheckUtils]: 14: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 05:37:25,892 INFO L290 TraceCheckUtils]: 13: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 05:37:25,892 INFO L290 TraceCheckUtils]: 12: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 05:37:25,892 INFO L272 TraceCheckUtils]: 11: Hoare triple {2017#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2017#true} is VALID [2022-04-28 05:37:25,892 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2017#true} {2017#true} #78#return; {2017#true} is VALID [2022-04-28 05:37:25,892 INFO L290 TraceCheckUtils]: 9: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 05:37:25,892 INFO L290 TraceCheckUtils]: 8: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 05:37:25,893 INFO L290 TraceCheckUtils]: 7: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 05:37:25,893 INFO L272 TraceCheckUtils]: 6: Hoare triple {2017#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2017#true} is VALID [2022-04-28 05:37:25,893 INFO L290 TraceCheckUtils]: 5: Hoare triple {2017#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; {2017#true} is VALID [2022-04-28 05:37:25,893 INFO L272 TraceCheckUtils]: 4: Hoare triple {2017#true} call #t~ret8 := main(); {2017#true} is VALID [2022-04-28 05:37:25,893 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2017#true} {2017#true} #98#return; {2017#true} is VALID [2022-04-28 05:37:25,893 INFO L290 TraceCheckUtils]: 2: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 05:37:25,893 INFO L290 TraceCheckUtils]: 1: Hoare triple {2017#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);~counter~0 := 0; {2017#true} is VALID [2022-04-28 05:37:25,893 INFO L272 TraceCheckUtils]: 0: Hoare triple {2017#true} call ULTIMATE.init(); {2017#true} is VALID [2022-04-28 05:37:25,894 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 05:37:25,894 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:37:25,894 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1629654514] [2022-04-28 05:37:25,894 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:37:25,894 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1587480187] [2022-04-28 05:37:25,894 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1587480187] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 05:37:25,895 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:37:25,895 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-28 05:37:25,895 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:37:25,895 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [395621883] [2022-04-28 05:37:25,895 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [395621883] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:37:25,895 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:37:25,895 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:37:25,895 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [321814441] [2022-04-28 05:37:25,895 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:37:25,896 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 41 [2022-04-28 05:37:25,896 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:37:25,896 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 05:37:25,941 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:37:25,942 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:37:25,942 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:37:25,942 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:37:25,942 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:37:25,942 INFO L87 Difference]: Start difference. First operand 46 states and 58 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 05:37:26,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:26,189 INFO L93 Difference]: Finished difference Result 61 states and 79 transitions. [2022-04-28 05:37:26,189 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:37:26,189 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 41 [2022-04-28 05:37:26,190 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:37:26,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 05:37:26,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-28 05:37:26,192 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 05:37:26,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-28 05:37:26,194 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 67 transitions. [2022-04-28 05:37:26,252 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:37:26,253 INFO L225 Difference]: With dead ends: 61 [2022-04-28 05:37:26,253 INFO L226 Difference]: Without dead ends: 59 [2022-04-28 05:37:26,254 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 05:37:26,254 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 8 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 157 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 05:37:26,255 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 157 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:37:26,255 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-04-28 05:37:26,310 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 58. [2022-04-28 05:37:26,310 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:37:26,310 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 58 states, 34 states have (on average 1.2352941176470589) internal successors, (42), 37 states have internal predecessors, (42), 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 05:37:26,310 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 58 states, 34 states have (on average 1.2352941176470589) internal successors, (42), 37 states have internal predecessors, (42), 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 05:37:26,311 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 58 states, 34 states have (on average 1.2352941176470589) internal successors, (42), 37 states have internal predecessors, (42), 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 05:37:26,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:26,313 INFO L93 Difference]: Finished difference Result 59 states and 77 transitions. [2022-04-28 05:37:26,313 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 77 transitions. [2022-04-28 05:37:26,314 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:37:26,314 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:37:26,314 INFO L74 IsIncluded]: Start isIncluded. First operand has 58 states, 34 states have (on average 1.2352941176470589) internal successors, (42), 37 states have internal predecessors, (42), 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 59 states. [2022-04-28 05:37:26,315 INFO L87 Difference]: Start difference. First operand has 58 states, 34 states have (on average 1.2352941176470589) internal successors, (42), 37 states have internal predecessors, (42), 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 59 states. [2022-04-28 05:37:26,317 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:26,317 INFO L93 Difference]: Finished difference Result 59 states and 77 transitions. [2022-04-28 05:37:26,317 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 77 transitions. [2022-04-28 05:37:26,317 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:37:26,318 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:37:26,318 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:37:26,318 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:37:26,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 34 states have (on average 1.2352941176470589) internal successors, (42), 37 states have internal predecessors, (42), 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 05:37:26,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 76 transitions. [2022-04-28 05:37:26,321 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 76 transitions. Word has length 41 [2022-04-28 05:37:26,321 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:37:26,321 INFO L495 AbstractCegarLoop]: Abstraction has 58 states and 76 transitions. [2022-04-28 05:37:26,321 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 05:37:26,321 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 58 states and 76 transitions. [2022-04-28 05:37:26,400 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:37:26,400 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 76 transitions. [2022-04-28 05:37:26,401 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 05:37:26,401 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:37:26,401 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, 1, 1] [2022-04-28 05:37:26,418 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 05:37:26,603 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 05:37:26,604 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:37:26,604 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:37:26,604 INFO L85 PathProgramCache]: Analyzing trace with hash 1531994984, now seen corresponding path program 1 times [2022-04-28 05:37:26,604 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:37:26,604 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1684734676] [2022-04-28 05:37:26,605 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:37:26,605 INFO L85 PathProgramCache]: Analyzing trace with hash 1531994984, now seen corresponding path program 2 times [2022-04-28 05:37:26,605 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:37:26,605 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1137796349] [2022-04-28 05:37:26,605 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:37:26,605 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:37:26,644 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:37:26,645 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1347966042] [2022-04-28 05:37:26,645 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:37:26,645 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:37:26,645 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:37:26,650 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:37:26,651 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 05:37:26,699 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:37:26,699 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:37:26,700 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 05:37:26,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:37:26,712 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:37:27,041 INFO L272 TraceCheckUtils]: 0: Hoare triple {2629#true} call ULTIMATE.init(); {2629#true} is VALID [2022-04-28 05:37:27,041 INFO L290 TraceCheckUtils]: 1: Hoare triple {2629#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);~counter~0 := 0; {2629#true} is VALID [2022-04-28 05:37:27,041 INFO L290 TraceCheckUtils]: 2: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 05:37:27,041 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2629#true} {2629#true} #98#return; {2629#true} is VALID [2022-04-28 05:37:27,042 INFO L272 TraceCheckUtils]: 4: Hoare triple {2629#true} call #t~ret8 := main(); {2629#true} is VALID [2022-04-28 05:37:27,042 INFO L290 TraceCheckUtils]: 5: Hoare triple {2629#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; {2629#true} is VALID [2022-04-28 05:37:27,042 INFO L272 TraceCheckUtils]: 6: Hoare triple {2629#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2629#true} is VALID [2022-04-28 05:37:27,042 INFO L290 TraceCheckUtils]: 7: Hoare triple {2629#true} ~cond := #in~cond; {2655#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:37:27,043 INFO L290 TraceCheckUtils]: 8: Hoare triple {2655#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2659#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:37:27,043 INFO L290 TraceCheckUtils]: 9: Hoare triple {2659#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2659#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:37:27,044 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2659#(not (= |assume_abort_if_not_#in~cond| 0))} {2629#true} #78#return; {2666#(<= 1 main_~x~0)} is VALID [2022-04-28 05:37:27,044 INFO L272 TraceCheckUtils]: 11: Hoare triple {2666#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2629#true} is VALID [2022-04-28 05:37:27,044 INFO L290 TraceCheckUtils]: 12: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 05:37:27,044 INFO L290 TraceCheckUtils]: 13: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 05:37:27,044 INFO L290 TraceCheckUtils]: 14: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 05:37:27,045 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2629#true} {2666#(<= 1 main_~x~0)} #80#return; {2666#(<= 1 main_~x~0)} is VALID [2022-04-28 05:37:27,045 INFO L290 TraceCheckUtils]: 16: Hoare triple {2666#(<= 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; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:37:27,046 INFO L272 TraceCheckUtils]: 17: Hoare triple {2685#(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)); {2629#true} is VALID [2022-04-28 05:37:27,046 INFO L290 TraceCheckUtils]: 18: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 05:37:27,046 INFO L290 TraceCheckUtils]: 19: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 05:37:27,046 INFO L290 TraceCheckUtils]: 20: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 05:37:27,047 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2629#true} {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #82#return; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:37:27,047 INFO L272 TraceCheckUtils]: 22: Hoare triple {2685#(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)); {2629#true} is VALID [2022-04-28 05:37:27,047 INFO L290 TraceCheckUtils]: 23: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 05:37:27,047 INFO L290 TraceCheckUtils]: 24: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 05:37:27,047 INFO L290 TraceCheckUtils]: 25: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 05:37:27,053 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2629#true} {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #84#return; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:37:27,054 INFO L290 TraceCheckUtils]: 27: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:37:27,054 INFO L290 TraceCheckUtils]: 28: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:37:27,055 INFO L290 TraceCheckUtils]: 29: Hoare triple {2685#(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; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:37:27,055 INFO L290 TraceCheckUtils]: 30: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:37:27,056 INFO L290 TraceCheckUtils]: 31: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post7 < 100);havoc #t~post7; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:37:27,056 INFO L272 TraceCheckUtils]: 32: Hoare triple {2685#(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)); {2629#true} is VALID [2022-04-28 05:37:27,056 INFO L290 TraceCheckUtils]: 33: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 05:37:27,056 INFO L290 TraceCheckUtils]: 34: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 05:37:27,057 INFO L290 TraceCheckUtils]: 35: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 05:37:27,057 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2629#true} {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #86#return; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:37:27,058 INFO L272 TraceCheckUtils]: 37: Hoare triple {2685#(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)); {2629#true} is VALID [2022-04-28 05:37:27,058 INFO L290 TraceCheckUtils]: 38: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 05:37:27,058 INFO L290 TraceCheckUtils]: 39: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 05:37:27,058 INFO L290 TraceCheckUtils]: 40: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 05:37:27,059 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2629#true} {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #88#return; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:37:27,059 INFO L272 TraceCheckUtils]: 42: Hoare triple {2685#(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)); {2764#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:37:27,060 INFO L290 TraceCheckUtils]: 43: Hoare triple {2764#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2768#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:37:27,060 INFO L290 TraceCheckUtils]: 44: Hoare triple {2768#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2630#false} is VALID [2022-04-28 05:37:27,060 INFO L290 TraceCheckUtils]: 45: Hoare triple {2630#false} assume !false; {2630#false} is VALID [2022-04-28 05:37:27,061 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 05:37:27,061 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:37:27,289 INFO L290 TraceCheckUtils]: 45: Hoare triple {2630#false} assume !false; {2630#false} is VALID [2022-04-28 05:37:27,290 INFO L290 TraceCheckUtils]: 44: Hoare triple {2768#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2630#false} is VALID [2022-04-28 05:37:27,290 INFO L290 TraceCheckUtils]: 43: Hoare triple {2764#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2768#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:37:27,291 INFO L272 TraceCheckUtils]: 42: Hoare triple {2784#(= 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)); {2764#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:37:27,292 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2629#true} {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #88#return; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:37:27,292 INFO L290 TraceCheckUtils]: 40: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 05:37:27,292 INFO L290 TraceCheckUtils]: 39: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 05:37:27,292 INFO L290 TraceCheckUtils]: 38: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 05:37:27,292 INFO L272 TraceCheckUtils]: 37: Hoare triple {2784#(= 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)); {2629#true} is VALID [2022-04-28 05:37:27,293 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2629#true} {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #86#return; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:37:27,293 INFO L290 TraceCheckUtils]: 35: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 05:37:27,293 INFO L290 TraceCheckUtils]: 34: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 05:37:27,293 INFO L290 TraceCheckUtils]: 33: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 05:37:27,293 INFO L272 TraceCheckUtils]: 32: Hoare triple {2784#(= 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)); {2629#true} is VALID [2022-04-28 05:37:27,294 INFO L290 TraceCheckUtils]: 31: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:37:27,294 INFO L290 TraceCheckUtils]: 30: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:37:27,295 INFO L290 TraceCheckUtils]: 29: Hoare triple {2784#(= 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; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:37:27,295 INFO L290 TraceCheckUtils]: 28: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:37:27,296 INFO L290 TraceCheckUtils]: 27: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:37:27,296 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2629#true} {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #84#return; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:37:27,296 INFO L290 TraceCheckUtils]: 25: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 05:37:27,297 INFO L290 TraceCheckUtils]: 24: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 05:37:27,297 INFO L290 TraceCheckUtils]: 23: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 05:37:27,297 INFO L272 TraceCheckUtils]: 22: Hoare triple {2784#(= 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)); {2629#true} is VALID [2022-04-28 05:37:27,301 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2629#true} {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #82#return; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:37:27,301 INFO L290 TraceCheckUtils]: 20: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 05:37:27,301 INFO L290 TraceCheckUtils]: 19: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 05:37:27,301 INFO L290 TraceCheckUtils]: 18: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 05:37:27,301 INFO L272 TraceCheckUtils]: 17: Hoare triple {2784#(= 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)); {2629#true} is VALID [2022-04-28 05:37:27,303 INFO L290 TraceCheckUtils]: 16: Hoare triple {2629#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; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:37:27,303 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2629#true} {2629#true} #80#return; {2629#true} is VALID [2022-04-28 05:37:27,303 INFO L290 TraceCheckUtils]: 14: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 05:37:27,303 INFO L290 TraceCheckUtils]: 13: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 05:37:27,303 INFO L290 TraceCheckUtils]: 12: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 05:37:27,303 INFO L272 TraceCheckUtils]: 11: Hoare triple {2629#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2629#true} is VALID [2022-04-28 05:37:27,303 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2629#true} {2629#true} #78#return; {2629#true} is VALID [2022-04-28 05:37:27,304 INFO L290 TraceCheckUtils]: 9: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 05:37:27,304 INFO L290 TraceCheckUtils]: 8: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 05:37:27,304 INFO L290 TraceCheckUtils]: 7: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 05:37:27,304 INFO L272 TraceCheckUtils]: 6: Hoare triple {2629#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2629#true} is VALID [2022-04-28 05:37:27,304 INFO L290 TraceCheckUtils]: 5: Hoare triple {2629#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; {2629#true} is VALID [2022-04-28 05:37:27,304 INFO L272 TraceCheckUtils]: 4: Hoare triple {2629#true} call #t~ret8 := main(); {2629#true} is VALID [2022-04-28 05:37:27,304 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2629#true} {2629#true} #98#return; {2629#true} is VALID [2022-04-28 05:37:27,304 INFO L290 TraceCheckUtils]: 2: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 05:37:27,304 INFO L290 TraceCheckUtils]: 1: Hoare triple {2629#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);~counter~0 := 0; {2629#true} is VALID [2022-04-28 05:37:27,305 INFO L272 TraceCheckUtils]: 0: Hoare triple {2629#true} call ULTIMATE.init(); {2629#true} is VALID [2022-04-28 05:37:27,305 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 05:37:27,305 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:37:27,305 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1137796349] [2022-04-28 05:37:27,305 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:37:27,305 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1347966042] [2022-04-28 05:37:27,305 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1347966042] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 05:37:27,305 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:37:27,306 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-28 05:37:27,306 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:37:27,306 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1684734676] [2022-04-28 05:37:27,306 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1684734676] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:37:27,306 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:37:27,306 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:37:27,306 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1281222816] [2022-04-28 05:37:27,306 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:37:27,307 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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 46 [2022-04-28 05:37:27,307 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:37:27,307 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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 05:37:27,335 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:37:27,336 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:37:27,336 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:37:27,336 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:37:27,336 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:37:27,336 INFO L87 Difference]: Start difference. First operand 58 states and 76 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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 05:37:27,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:27,591 INFO L93 Difference]: Finished difference Result 65 states and 82 transitions. [2022-04-28 05:37:27,591 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:37:27,592 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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 46 [2022-04-28 05:37:27,592 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:37:27,592 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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 05:37:27,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-28 05:37:27,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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 05:37:27,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-28 05:37:27,595 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 67 transitions. [2022-04-28 05:37:27,659 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:37:27,661 INFO L225 Difference]: With dead ends: 65 [2022-04-28 05:37:27,661 INFO L226 Difference]: Without dead ends: 63 [2022-04-28 05:37:27,661 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 83 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 05:37:27,662 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 148 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 05:37:27,662 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 148 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:37:27,663 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-28 05:37:27,731 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 62. [2022-04-28 05:37:27,731 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:37:27,731 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 62 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 40 states have internal predecessors, (45), 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 05:37:27,732 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 62 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 40 states have internal predecessors, (45), 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 05:37:27,732 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 62 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 40 states have internal predecessors, (45), 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 05:37:27,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:27,734 INFO L93 Difference]: Finished difference Result 63 states and 80 transitions. [2022-04-28 05:37:27,734 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 80 transitions. [2022-04-28 05:37:27,735 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:37:27,735 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:37:27,735 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 40 states have internal predecessors, (45), 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 63 states. [2022-04-28 05:37:27,735 INFO L87 Difference]: Start difference. First operand has 62 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 40 states have internal predecessors, (45), 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 63 states. [2022-04-28 05:37:27,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:37:27,738 INFO L93 Difference]: Finished difference Result 63 states and 80 transitions. [2022-04-28 05:37:27,738 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 80 transitions. [2022-04-28 05:37:27,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:37:27,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:37:27,739 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:37:27,739 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:37:27,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 40 states have internal predecessors, (45), 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 05:37:27,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 79 transitions. [2022-04-28 05:37:27,741 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 79 transitions. Word has length 46 [2022-04-28 05:37:27,741 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:37:27,741 INFO L495 AbstractCegarLoop]: Abstraction has 62 states and 79 transitions. [2022-04-28 05:37:27,741 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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 05:37:27,742 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 62 states and 79 transitions. [2022-04-28 05:37:27,833 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:37:27,833 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 79 transitions. [2022-04-28 05:37:27,834 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 05:37:27,834 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:37:27,834 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, 1, 1] [2022-04-28 05:37:27,855 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 05:37:28,043 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 05:37:28,044 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:37:28,044 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:37:28,044 INFO L85 PathProgramCache]: Analyzing trace with hash -300711301, now seen corresponding path program 1 times [2022-04-28 05:37:28,044 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:37:28,044 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1264707844] [2022-04-28 05:37:28,045 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:37:28,045 INFO L85 PathProgramCache]: Analyzing trace with hash -300711301, now seen corresponding path program 2 times [2022-04-28 05:37:28,045 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:37:28,045 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [230182069] [2022-04-28 05:37:28,045 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:37:28,045 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:37:28,070 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:37:28,077 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [528442153] [2022-04-28 05:37:28,077 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:37:28,078 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:37:28,078 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:37:28,080 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:37:28,080 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 05:37:28,135 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:37:28,135 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:37:28,136 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 05:37:28,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:37:28,151 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:37:36,019 INFO L272 TraceCheckUtils]: 0: Hoare triple {3295#true} call ULTIMATE.init(); {3295#true} is VALID [2022-04-28 05:37:36,020 INFO L290 TraceCheckUtils]: 1: Hoare triple {3295#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);~counter~0 := 0; {3295#true} is VALID [2022-04-28 05:37:36,020 INFO L290 TraceCheckUtils]: 2: Hoare triple {3295#true} assume true; {3295#true} is VALID [2022-04-28 05:37:36,020 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3295#true} {3295#true} #98#return; {3295#true} is VALID [2022-04-28 05:37:36,020 INFO L272 TraceCheckUtils]: 4: Hoare triple {3295#true} call #t~ret8 := main(); {3295#true} is VALID [2022-04-28 05:37:36,020 INFO L290 TraceCheckUtils]: 5: Hoare triple {3295#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; {3295#true} is VALID [2022-04-28 05:37:36,020 INFO L272 TraceCheckUtils]: 6: Hoare triple {3295#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3295#true} is VALID [2022-04-28 05:37:36,020 INFO L290 TraceCheckUtils]: 7: Hoare triple {3295#true} ~cond := #in~cond; {3295#true} is VALID [2022-04-28 05:37:36,020 INFO L290 TraceCheckUtils]: 8: Hoare triple {3295#true} assume !(0 == ~cond); {3295#true} is VALID [2022-04-28 05:37:36,021 INFO L290 TraceCheckUtils]: 9: Hoare triple {3295#true} assume true; {3295#true} is VALID [2022-04-28 05:37:36,021 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3295#true} {3295#true} #78#return; {3295#true} is VALID [2022-04-28 05:37:36,021 INFO L272 TraceCheckUtils]: 11: Hoare triple {3295#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3295#true} is VALID [2022-04-28 05:37:36,021 INFO L290 TraceCheckUtils]: 12: Hoare triple {3295#true} ~cond := #in~cond; {3295#true} is VALID [2022-04-28 05:37:36,021 INFO L290 TraceCheckUtils]: 13: Hoare triple {3295#true} assume !(0 == ~cond); {3295#true} is VALID [2022-04-28 05:37:36,021 INFO L290 TraceCheckUtils]: 14: Hoare triple {3295#true} assume true; {3295#true} is VALID [2022-04-28 05:37:36,021 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3295#true} {3295#true} #80#return; {3295#true} is VALID [2022-04-28 05:37:36,022 INFO L290 TraceCheckUtils]: 16: Hoare triple {3295#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; {3348#(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 05:37:36,022 INFO L272 TraceCheckUtils]: 17: Hoare triple {3348#(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)); {3295#true} is VALID [2022-04-28 05:37:36,022 INFO L290 TraceCheckUtils]: 18: Hoare triple {3295#true} ~cond := #in~cond; {3295#true} is VALID [2022-04-28 05:37:36,022 INFO L290 TraceCheckUtils]: 19: Hoare triple {3295#true} assume !(0 == ~cond); {3295#true} is VALID [2022-04-28 05:37:36,022 INFO L290 TraceCheckUtils]: 20: Hoare triple {3295#true} assume true; {3295#true} is VALID [2022-04-28 05:37:36,023 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3295#true} {3348#(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; {3348#(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 05:37:36,023 INFO L272 TraceCheckUtils]: 22: Hoare triple {3348#(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)); {3295#true} is VALID [2022-04-28 05:37:36,023 INFO L290 TraceCheckUtils]: 23: Hoare triple {3295#true} ~cond := #in~cond; {3295#true} is VALID [2022-04-28 05:37:36,023 INFO L290 TraceCheckUtils]: 24: Hoare triple {3295#true} assume !(0 == ~cond); {3295#true} is VALID [2022-04-28 05:37:36,023 INFO L290 TraceCheckUtils]: 25: Hoare triple {3295#true} assume true; {3295#true} is VALID [2022-04-28 05:37:36,024 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3295#true} {3348#(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; {3348#(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 05:37:36,025 INFO L290 TraceCheckUtils]: 27: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3348#(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 05:37:36,025 INFO L290 TraceCheckUtils]: 28: Hoare triple {3348#(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 !!(#t~post6 < 100);havoc #t~post6; {3348#(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 05:37:36,026 INFO L290 TraceCheckUtils]: 29: Hoare triple {3348#(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; {3348#(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 05:37:36,026 INFO L290 TraceCheckUtils]: 30: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {3348#(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 05:37:36,027 INFO L290 TraceCheckUtils]: 31: Hoare triple {3348#(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 !!(#t~post7 < 100);havoc #t~post7; {3348#(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 05:37:36,027 INFO L272 TraceCheckUtils]: 32: Hoare triple {3348#(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)); {3295#true} is VALID [2022-04-28 05:37:36,027 INFO L290 TraceCheckUtils]: 33: Hoare triple {3295#true} ~cond := #in~cond; {3295#true} is VALID [2022-04-28 05:37:36,027 INFO L290 TraceCheckUtils]: 34: Hoare triple {3295#true} assume !(0 == ~cond); {3295#true} is VALID [2022-04-28 05:37:36,027 INFO L290 TraceCheckUtils]: 35: Hoare triple {3295#true} assume true; {3295#true} is VALID [2022-04-28 05:37:36,030 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3295#true} {3348#(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; {3348#(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 05:37:36,030 INFO L272 TraceCheckUtils]: 37: Hoare triple {3348#(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)); {3295#true} is VALID [2022-04-28 05:37:36,030 INFO L290 TraceCheckUtils]: 38: Hoare triple {3295#true} ~cond := #in~cond; {3415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:37:36,031 INFO L290 TraceCheckUtils]: 39: Hoare triple {3415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:37:36,031 INFO L290 TraceCheckUtils]: 40: Hoare triple {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:37:36,032 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} {3348#(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; {3348#(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 05:37:36,032 INFO L272 TraceCheckUtils]: 42: Hoare triple {3348#(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)); {3295#true} is VALID [2022-04-28 05:37:36,032 INFO L290 TraceCheckUtils]: 43: Hoare triple {3295#true} ~cond := #in~cond; {3415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:37:36,033 INFO L290 TraceCheckUtils]: 44: Hoare triple {3415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:37:36,033 INFO L290 TraceCheckUtils]: 45: Hoare triple {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:37:36,034 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #90#return; {3348#(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 05:37:36,035 INFO L272 TraceCheckUtils]: 47: Hoare triple {3348#(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)); {3444#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:37:36,035 INFO L290 TraceCheckUtils]: 48: Hoare triple {3444#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3448#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:37:36,036 INFO L290 TraceCheckUtils]: 49: Hoare triple {3448#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3296#false} is VALID [2022-04-28 05:37:36,036 INFO L290 TraceCheckUtils]: 50: Hoare triple {3296#false} assume !false; {3296#false} is VALID [2022-04-28 05:37:36,036 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 05:37:36,036 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:38:28,287 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:38:28,287 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [230182069] [2022-04-28 05:38:28,288 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:38:28,288 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [528442153] [2022-04-28 05:38:28,288 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [528442153] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 05:38:28,288 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:38:28,288 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2022-04-28 05:38:28,288 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:38:28,288 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1264707844] [2022-04-28 05:38:28,288 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1264707844] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:38:28,288 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:38:28,289 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 05:38:28,289 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1295414985] [2022-04-28 05:38:28,289 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:38:28,289 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 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 51 [2022-04-28 05:38:28,289 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:38:28,290 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 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 05:38:28,326 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:38:28,326 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 05:38:28,326 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:38:28,326 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 05:38:28,326 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:38:28,327 INFO L87 Difference]: Start difference. First operand 62 states and 79 transitions. Second operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 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 05:38:28,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:28,770 INFO L93 Difference]: Finished difference Result 69 states and 85 transitions. [2022-04-28 05:38:28,770 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 05:38:28,770 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 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 51 [2022-04-28 05:38:28,771 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:38:28,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 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 05:38:28,772 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 67 transitions. [2022-04-28 05:38:28,772 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 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 05:38:28,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 67 transitions. [2022-04-28 05:38:28,774 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 67 transitions. [2022-04-28 05:38:28,836 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:38:28,838 INFO L225 Difference]: With dead ends: 69 [2022-04-28 05:38:28,838 INFO L226 Difference]: Without dead ends: 67 [2022-04-28 05:38:28,838 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 47 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 05:38:28,838 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 12 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 128 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:38:28,839 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 160 Invalid, 128 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:38:28,839 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-28 05:38:28,906 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 66. [2022-04-28 05:38:28,907 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:38:28,907 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 66 states, 40 states have (on average 1.2) internal successors, (48), 43 states have internal predecessors, (48), 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 05:38:28,907 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 66 states, 40 states have (on average 1.2) internal successors, (48), 43 states have internal predecessors, (48), 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 05:38:28,908 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 66 states, 40 states have (on average 1.2) internal successors, (48), 43 states have internal predecessors, (48), 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 05:38:28,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:28,911 INFO L93 Difference]: Finished difference Result 67 states and 83 transitions. [2022-04-28 05:38:28,911 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 83 transitions. [2022-04-28 05:38:28,911 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:38:28,911 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:38:28,918 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 40 states have (on average 1.2) internal successors, (48), 43 states have internal predecessors, (48), 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 67 states. [2022-04-28 05:38:28,922 INFO L87 Difference]: Start difference. First operand has 66 states, 40 states have (on average 1.2) internal successors, (48), 43 states have internal predecessors, (48), 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 67 states. [2022-04-28 05:38:28,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:28,924 INFO L93 Difference]: Finished difference Result 67 states and 83 transitions. [2022-04-28 05:38:28,924 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 83 transitions. [2022-04-28 05:38:28,925 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:38:28,925 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:38:28,925 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:38:28,925 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:38:28,925 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 40 states have (on average 1.2) internal successors, (48), 43 states have internal predecessors, (48), 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 05:38:28,927 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 82 transitions. [2022-04-28 05:38:28,928 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 82 transitions. Word has length 51 [2022-04-28 05:38:28,928 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:38:28,928 INFO L495 AbstractCegarLoop]: Abstraction has 66 states and 82 transitions. [2022-04-28 05:38:28,928 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 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 05:38:28,928 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 66 states and 82 transitions. [2022-04-28 05:38:29,011 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:38:29,011 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 82 transitions. [2022-04-28 05:38:29,011 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 05:38:29,011 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:38:29,012 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:38:29,028 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 05:38:29,215 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 05:38:29,215 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:38:29,216 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:38:29,216 INFO L85 PathProgramCache]: Analyzing trace with hash -2044027516, now seen corresponding path program 1 times [2022-04-28 05:38:29,216 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:38:29,216 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [93080883] [2022-04-28 05:38:29,216 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:38:29,216 INFO L85 PathProgramCache]: Analyzing trace with hash -2044027516, now seen corresponding path program 2 times [2022-04-28 05:38:29,216 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:38:29,216 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [606696448] [2022-04-28 05:38:29,216 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:38:29,217 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:38:29,243 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:38:29,243 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [862125646] [2022-04-28 05:38:29,243 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:38:29,243 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:38:29,244 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:38:29,250 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:38:29,251 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 05:38:29,301 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:38:29,301 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:38:29,302 INFO L263 TraceCheckSpWp]: Trace formula consists of 181 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 05:38:29,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:38:29,314 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:38:29,508 INFO L272 TraceCheckUtils]: 0: Hoare triple {3879#true} call ULTIMATE.init(); {3879#true} is VALID [2022-04-28 05:38:29,509 INFO L290 TraceCheckUtils]: 1: Hoare triple {3879#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);~counter~0 := 0; {3879#true} is VALID [2022-04-28 05:38:29,509 INFO L290 TraceCheckUtils]: 2: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 05:38:29,509 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3879#true} {3879#true} #98#return; {3879#true} is VALID [2022-04-28 05:38:29,509 INFO L272 TraceCheckUtils]: 4: Hoare triple {3879#true} call #t~ret8 := main(); {3879#true} is VALID [2022-04-28 05:38:29,509 INFO L290 TraceCheckUtils]: 5: Hoare triple {3879#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; {3879#true} is VALID [2022-04-28 05:38:29,509 INFO L272 TraceCheckUtils]: 6: Hoare triple {3879#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3879#true} is VALID [2022-04-28 05:38:29,509 INFO L290 TraceCheckUtils]: 7: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 05:38:29,509 INFO L290 TraceCheckUtils]: 8: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 05:38:29,509 INFO L290 TraceCheckUtils]: 9: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 05:38:29,510 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3879#true} {3879#true} #78#return; {3879#true} is VALID [2022-04-28 05:38:29,510 INFO L272 TraceCheckUtils]: 11: Hoare triple {3879#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3879#true} is VALID [2022-04-28 05:38:29,510 INFO L290 TraceCheckUtils]: 12: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 05:38:29,510 INFO L290 TraceCheckUtils]: 13: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 05:38:29,510 INFO L290 TraceCheckUtils]: 14: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 05:38:29,510 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3879#true} {3879#true} #80#return; {3879#true} is VALID [2022-04-28 05:38:29,510 INFO L290 TraceCheckUtils]: 16: Hoare triple {3879#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; {3879#true} is VALID [2022-04-28 05:38:29,510 INFO L272 TraceCheckUtils]: 17: Hoare triple {3879#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3879#true} is VALID [2022-04-28 05:38:29,510 INFO L290 TraceCheckUtils]: 18: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 05:38:29,510 INFO L290 TraceCheckUtils]: 19: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 05:38:29,511 INFO L290 TraceCheckUtils]: 20: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 05:38:29,511 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3879#true} {3879#true} #82#return; {3879#true} is VALID [2022-04-28 05:38:29,511 INFO L272 TraceCheckUtils]: 22: Hoare triple {3879#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3879#true} is VALID [2022-04-28 05:38:29,511 INFO L290 TraceCheckUtils]: 23: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 05:38:29,511 INFO L290 TraceCheckUtils]: 24: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 05:38:29,511 INFO L290 TraceCheckUtils]: 25: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 05:38:29,511 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3879#true} {3879#true} #84#return; {3879#true} is VALID [2022-04-28 05:38:29,511 INFO L290 TraceCheckUtils]: 27: Hoare triple {3879#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3879#true} is VALID [2022-04-28 05:38:29,512 INFO L290 TraceCheckUtils]: 28: Hoare triple {3879#true} assume !!(#t~post6 < 100);havoc #t~post6; {3879#true} is VALID [2022-04-28 05:38:29,512 INFO L290 TraceCheckUtils]: 29: Hoare triple {3879#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:38:29,513 INFO L290 TraceCheckUtils]: 30: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:38:29,513 INFO L290 TraceCheckUtils]: 31: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(#t~post7 < 100);havoc #t~post7; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:38:29,513 INFO L272 TraceCheckUtils]: 32: Hoare triple {3971#(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)); {3879#true} is VALID [2022-04-28 05:38:29,513 INFO L290 TraceCheckUtils]: 33: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 05:38:29,513 INFO L290 TraceCheckUtils]: 34: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 05:38:29,513 INFO L290 TraceCheckUtils]: 35: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 05:38:29,514 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #86#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:38:29,514 INFO L272 TraceCheckUtils]: 37: Hoare triple {3971#(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)); {3879#true} is VALID [2022-04-28 05:38:29,514 INFO L290 TraceCheckUtils]: 38: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 05:38:29,515 INFO L290 TraceCheckUtils]: 39: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 05:38:29,515 INFO L290 TraceCheckUtils]: 40: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 05:38:29,515 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #88#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:38:29,516 INFO L272 TraceCheckUtils]: 42: Hoare triple {3971#(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)); {3879#true} is VALID [2022-04-28 05:38:29,516 INFO L290 TraceCheckUtils]: 43: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 05:38:29,516 INFO L290 TraceCheckUtils]: 44: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 05:38:29,516 INFO L290 TraceCheckUtils]: 45: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 05:38:29,517 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #90#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:38:29,517 INFO L272 TraceCheckUtils]: 47: Hoare triple {3971#(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)); {3879#true} is VALID [2022-04-28 05:38:29,517 INFO L290 TraceCheckUtils]: 48: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 05:38:29,517 INFO L290 TraceCheckUtils]: 49: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 05:38:29,517 INFO L290 TraceCheckUtils]: 50: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 05:38:29,518 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #92#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:38:29,519 INFO L290 TraceCheckUtils]: 52: Hoare triple {3971#(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; {4041#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} is VALID [2022-04-28 05:38:29,519 INFO L290 TraceCheckUtils]: 53: Hoare triple {4041#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4041#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} is VALID [2022-04-28 05:38:29,520 INFO L290 TraceCheckUtils]: 54: Hoare triple {4041#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {4041#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} is VALID [2022-04-28 05:38:29,521 INFO L272 TraceCheckUtils]: 55: Hoare triple {4041#(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)); {4051#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:38:29,521 INFO L290 TraceCheckUtils]: 56: Hoare triple {4051#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4055#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:38:29,521 INFO L290 TraceCheckUtils]: 57: Hoare triple {4055#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3880#false} is VALID [2022-04-28 05:38:29,522 INFO L290 TraceCheckUtils]: 58: Hoare triple {3880#false} assume !false; {3880#false} is VALID [2022-04-28 05:38:29,522 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 05:38:29,522 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:38:42,108 INFO L290 TraceCheckUtils]: 58: Hoare triple {3880#false} assume !false; {3880#false} is VALID [2022-04-28 05:38:42,108 INFO L290 TraceCheckUtils]: 57: Hoare triple {4055#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3880#false} is VALID [2022-04-28 05:38:42,109 INFO L290 TraceCheckUtils]: 56: Hoare triple {4051#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4055#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:38:42,109 INFO L272 TraceCheckUtils]: 55: Hoare triple {4071#(= 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)); {4051#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:38:42,110 INFO L290 TraceCheckUtils]: 54: Hoare triple {4071#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {4071#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:38:42,110 INFO L290 TraceCheckUtils]: 53: Hoare triple {4071#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4071#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:38:42,111 INFO L290 TraceCheckUtils]: 52: Hoare triple {3971#(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; {4071#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:38:42,112 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #92#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:38:42,113 INFO L290 TraceCheckUtils]: 50: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 05:38:42,113 INFO L290 TraceCheckUtils]: 49: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 05:38:42,113 INFO L290 TraceCheckUtils]: 48: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 05:38:42,113 INFO L272 TraceCheckUtils]: 47: Hoare triple {3971#(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)); {3879#true} is VALID [2022-04-28 05:38:42,114 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #90#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:38:42,114 INFO L290 TraceCheckUtils]: 45: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 05:38:42,114 INFO L290 TraceCheckUtils]: 44: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 05:38:42,114 INFO L290 TraceCheckUtils]: 43: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 05:38:42,114 INFO L272 TraceCheckUtils]: 42: Hoare triple {3971#(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)); {3879#true} is VALID [2022-04-28 05:38:42,115 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #88#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:38:42,115 INFO L290 TraceCheckUtils]: 40: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 05:38:42,116 INFO L290 TraceCheckUtils]: 39: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 05:38:42,116 INFO L290 TraceCheckUtils]: 38: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 05:38:42,116 INFO L272 TraceCheckUtils]: 37: Hoare triple {3971#(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)); {3879#true} is VALID [2022-04-28 05:38:42,116 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #86#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:38:42,116 INFO L290 TraceCheckUtils]: 35: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 05:38:42,116 INFO L290 TraceCheckUtils]: 34: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 05:38:42,117 INFO L290 TraceCheckUtils]: 33: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 05:38:42,117 INFO L272 TraceCheckUtils]: 32: Hoare triple {3971#(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)); {3879#true} is VALID [2022-04-28 05:38:42,117 INFO L290 TraceCheckUtils]: 31: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(#t~post7 < 100);havoc #t~post7; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:38:42,118 INFO L290 TraceCheckUtils]: 30: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:38:42,118 INFO L290 TraceCheckUtils]: 29: Hoare triple {3879#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:38:42,118 INFO L290 TraceCheckUtils]: 28: Hoare triple {3879#true} assume !!(#t~post6 < 100);havoc #t~post6; {3879#true} is VALID [2022-04-28 05:38:42,118 INFO L290 TraceCheckUtils]: 27: Hoare triple {3879#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3879#true} is VALID [2022-04-28 05:38:42,118 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3879#true} {3879#true} #84#return; {3879#true} is VALID [2022-04-28 05:38:42,118 INFO L290 TraceCheckUtils]: 25: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 05:38:42,119 INFO L290 TraceCheckUtils]: 24: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 05:38:42,119 INFO L290 TraceCheckUtils]: 23: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 05:38:42,119 INFO L272 TraceCheckUtils]: 22: Hoare triple {3879#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3879#true} is VALID [2022-04-28 05:38:42,119 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3879#true} {3879#true} #82#return; {3879#true} is VALID [2022-04-28 05:38:42,119 INFO L290 TraceCheckUtils]: 20: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 05:38:42,119 INFO L290 TraceCheckUtils]: 19: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 05:38:42,119 INFO L290 TraceCheckUtils]: 18: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 05:38:42,119 INFO L272 TraceCheckUtils]: 17: Hoare triple {3879#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3879#true} is VALID [2022-04-28 05:38:42,119 INFO L290 TraceCheckUtils]: 16: Hoare triple {3879#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; {3879#true} is VALID [2022-04-28 05:38:42,119 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3879#true} {3879#true} #80#return; {3879#true} is VALID [2022-04-28 05:38:42,119 INFO L290 TraceCheckUtils]: 14: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 05:38:42,119 INFO L290 TraceCheckUtils]: 13: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 05:38:42,119 INFO L290 TraceCheckUtils]: 12: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 05:38:42,119 INFO L272 TraceCheckUtils]: 11: Hoare triple {3879#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3879#true} is VALID [2022-04-28 05:38:42,120 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3879#true} {3879#true} #78#return; {3879#true} is VALID [2022-04-28 05:38:42,120 INFO L290 TraceCheckUtils]: 9: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 05:38:42,120 INFO L290 TraceCheckUtils]: 8: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 05:38:42,120 INFO L290 TraceCheckUtils]: 7: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 05:38:42,120 INFO L272 TraceCheckUtils]: 6: Hoare triple {3879#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3879#true} is VALID [2022-04-28 05:38:42,120 INFO L290 TraceCheckUtils]: 5: Hoare triple {3879#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; {3879#true} is VALID [2022-04-28 05:38:42,120 INFO L272 TraceCheckUtils]: 4: Hoare triple {3879#true} call #t~ret8 := main(); {3879#true} is VALID [2022-04-28 05:38:42,120 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3879#true} {3879#true} #98#return; {3879#true} is VALID [2022-04-28 05:38:42,120 INFO L290 TraceCheckUtils]: 2: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 05:38:42,120 INFO L290 TraceCheckUtils]: 1: Hoare triple {3879#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);~counter~0 := 0; {3879#true} is VALID [2022-04-28 05:38:42,120 INFO L272 TraceCheckUtils]: 0: Hoare triple {3879#true} call ULTIMATE.init(); {3879#true} is VALID [2022-04-28 05:38:42,121 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 05:38:42,121 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:38:42,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [606696448] [2022-04-28 05:38:42,121 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:38:42,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [862125646] [2022-04-28 05:38:42,121 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [862125646] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:38:42,121 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:38:42,121 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-28 05:38:42,122 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:38:42,122 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [93080883] [2022-04-28 05:38:42,122 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [93080883] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:38:42,122 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:38:42,122 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 05:38:42,122 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [847006876] [2022-04-28 05:38:42,122 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:38:42,123 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 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 59 [2022-04-28 05:38:42,123 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:38:42,123 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 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 05:38:42,191 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:38:42,191 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 05:38:42,191 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:38:42,191 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 05:38:42,192 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 05:38:42,192 INFO L87 Difference]: Start difference. First operand 66 states and 82 transitions. Second operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 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 05:38:42,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:42,571 INFO L93 Difference]: Finished difference Result 96 states and 131 transitions. [2022-04-28 05:38:42,571 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 05:38:42,571 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 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 59 [2022-04-28 05:38:42,572 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:38:42,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 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 05:38:42,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 78 transitions. [2022-04-28 05:38:42,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 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 05:38:42,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 78 transitions. [2022-04-28 05:38:42,575 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 78 transitions. [2022-04-28 05:38:42,641 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 05:38:42,647 INFO L225 Difference]: With dead ends: 96 [2022-04-28 05:38:42,647 INFO L226 Difference]: Without dead ends: 94 [2022-04-28 05:38:42,648 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 118 GetRequests, 110 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 05:38:42,648 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 9 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 88 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 208 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 05:38:42,649 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 208 Invalid, 89 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 88 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:38:42,649 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-28 05:38:42,718 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 84. [2022-04-28 05:38:42,718 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:38:42,718 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand has 84 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 52 states have internal predecessors, (61), 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 05:38:42,718 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand has 84 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 52 states have internal predecessors, (61), 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 05:38:42,719 INFO L87 Difference]: Start difference. First operand 94 states. Second operand has 84 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 52 states have internal predecessors, (61), 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 05:38:42,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:42,722 INFO L93 Difference]: Finished difference Result 94 states and 129 transitions. [2022-04-28 05:38:42,723 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 129 transitions. [2022-04-28 05:38:42,723 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:38:42,723 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:38:42,724 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 52 states have internal predecessors, (61), 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 94 states. [2022-04-28 05:38:42,724 INFO L87 Difference]: Start difference. First operand has 84 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 52 states have internal predecessors, (61), 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 94 states. [2022-04-28 05:38:42,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:42,727 INFO L93 Difference]: Finished difference Result 94 states and 129 transitions. [2022-04-28 05:38:42,727 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 129 transitions. [2022-04-28 05:38:42,728 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:38:42,728 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:38:42,728 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:38:42,728 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:38:42,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 52 states have internal predecessors, (61), 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 05:38:42,732 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 111 transitions. [2022-04-28 05:38:42,732 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 111 transitions. Word has length 59 [2022-04-28 05:38:42,732 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:38:42,733 INFO L495 AbstractCegarLoop]: Abstraction has 84 states and 111 transitions. [2022-04-28 05:38:42,733 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 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 05:38:42,733 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 111 transitions. [2022-04-28 05:38:42,880 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:38:42,881 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 111 transitions. [2022-04-28 05:38:42,881 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-28 05:38:42,881 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:38:42,882 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, 1, 1] [2022-04-28 05:38:42,905 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 05:38:43,082 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 05:38:43,082 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:38:43,083 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:38:43,083 INFO L85 PathProgramCache]: Analyzing trace with hash 35160305, now seen corresponding path program 1 times [2022-04-28 05:38:43,083 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:38:43,083 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [782768888] [2022-04-28 05:38:43,083 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:38:43,083 INFO L85 PathProgramCache]: Analyzing trace with hash 35160305, now seen corresponding path program 2 times [2022-04-28 05:38:43,083 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:38:43,083 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1641811851] [2022-04-28 05:38:43,083 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:38:43,083 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:38:43,094 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:38:43,095 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1908091262] [2022-04-28 05:38:43,095 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:38:43,095 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:38:43,095 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:38:43,096 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:38:43,122 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 05:38:43,160 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:38:43,160 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:38:43,161 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 05:38:43,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:38:43,176 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:38:43,463 INFO L272 TraceCheckUtils]: 0: Hoare triple {4789#true} call ULTIMATE.init(); {4789#true} is VALID [2022-04-28 05:38:43,464 INFO L290 TraceCheckUtils]: 1: Hoare triple {4789#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);~counter~0 := 0; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,464 INFO L290 TraceCheckUtils]: 2: Hoare triple {4797#(<= ~counter~0 0)} assume true; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,465 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4797#(<= ~counter~0 0)} {4789#true} #98#return; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,466 INFO L272 TraceCheckUtils]: 4: Hoare triple {4797#(<= ~counter~0 0)} call #t~ret8 := main(); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,466 INFO L290 TraceCheckUtils]: 5: Hoare triple {4797#(<= ~counter~0 0)} 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; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,466 INFO L272 TraceCheckUtils]: 6: Hoare triple {4797#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,467 INFO L290 TraceCheckUtils]: 7: Hoare triple {4797#(<= ~counter~0 0)} ~cond := #in~cond; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,467 INFO L290 TraceCheckUtils]: 8: Hoare triple {4797#(<= ~counter~0 0)} assume !(0 == ~cond); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,467 INFO L290 TraceCheckUtils]: 9: Hoare triple {4797#(<= ~counter~0 0)} assume true; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,468 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4797#(<= ~counter~0 0)} {4797#(<= ~counter~0 0)} #78#return; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,468 INFO L272 TraceCheckUtils]: 11: Hoare triple {4797#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,468 INFO L290 TraceCheckUtils]: 12: Hoare triple {4797#(<= ~counter~0 0)} ~cond := #in~cond; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,469 INFO L290 TraceCheckUtils]: 13: Hoare triple {4797#(<= ~counter~0 0)} assume !(0 == ~cond); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,469 INFO L290 TraceCheckUtils]: 14: Hoare triple {4797#(<= ~counter~0 0)} assume true; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,470 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4797#(<= ~counter~0 0)} {4797#(<= ~counter~0 0)} #80#return; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,470 INFO L290 TraceCheckUtils]: 16: Hoare triple {4797#(<= ~counter~0 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; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,471 INFO L272 TraceCheckUtils]: 17: Hoare triple {4797#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,471 INFO L290 TraceCheckUtils]: 18: Hoare triple {4797#(<= ~counter~0 0)} ~cond := #in~cond; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,471 INFO L290 TraceCheckUtils]: 19: Hoare triple {4797#(<= ~counter~0 0)} assume !(0 == ~cond); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,472 INFO L290 TraceCheckUtils]: 20: Hoare triple {4797#(<= ~counter~0 0)} assume true; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,472 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4797#(<= ~counter~0 0)} {4797#(<= ~counter~0 0)} #82#return; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,472 INFO L272 TraceCheckUtils]: 22: Hoare triple {4797#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,473 INFO L290 TraceCheckUtils]: 23: Hoare triple {4797#(<= ~counter~0 0)} ~cond := #in~cond; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,473 INFO L290 TraceCheckUtils]: 24: Hoare triple {4797#(<= ~counter~0 0)} assume !(0 == ~cond); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,473 INFO L290 TraceCheckUtils]: 25: Hoare triple {4797#(<= ~counter~0 0)} assume true; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,474 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4797#(<= ~counter~0 0)} {4797#(<= ~counter~0 0)} #84#return; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:43,474 INFO L290 TraceCheckUtils]: 27: Hoare triple {4797#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4876#(<= ~counter~0 1)} is VALID [2022-04-28 05:38:43,475 INFO L290 TraceCheckUtils]: 28: Hoare triple {4876#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {4876#(<= ~counter~0 1)} is VALID [2022-04-28 05:38:43,475 INFO L290 TraceCheckUtils]: 29: Hoare triple {4876#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4876#(<= ~counter~0 1)} is VALID [2022-04-28 05:38:43,475 INFO L290 TraceCheckUtils]: 30: Hoare triple {4876#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,476 INFO L290 TraceCheckUtils]: 31: Hoare triple {4886#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,476 INFO L272 TraceCheckUtils]: 32: Hoare triple {4886#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,476 INFO L290 TraceCheckUtils]: 33: Hoare triple {4886#(<= ~counter~0 2)} ~cond := #in~cond; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,477 INFO L290 TraceCheckUtils]: 34: Hoare triple {4886#(<= ~counter~0 2)} assume !(0 == ~cond); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,477 INFO L290 TraceCheckUtils]: 35: Hoare triple {4886#(<= ~counter~0 2)} assume true; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,478 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4886#(<= ~counter~0 2)} {4886#(<= ~counter~0 2)} #86#return; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,478 INFO L272 TraceCheckUtils]: 37: Hoare triple {4886#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,478 INFO L290 TraceCheckUtils]: 38: Hoare triple {4886#(<= ~counter~0 2)} ~cond := #in~cond; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,479 INFO L290 TraceCheckUtils]: 39: Hoare triple {4886#(<= ~counter~0 2)} assume !(0 == ~cond); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,479 INFO L290 TraceCheckUtils]: 40: Hoare triple {4886#(<= ~counter~0 2)} assume true; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,480 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4886#(<= ~counter~0 2)} {4886#(<= ~counter~0 2)} #88#return; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,480 INFO L272 TraceCheckUtils]: 42: Hoare triple {4886#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,480 INFO L290 TraceCheckUtils]: 43: Hoare triple {4886#(<= ~counter~0 2)} ~cond := #in~cond; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,481 INFO L290 TraceCheckUtils]: 44: Hoare triple {4886#(<= ~counter~0 2)} assume !(0 == ~cond); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,481 INFO L290 TraceCheckUtils]: 45: Hoare triple {4886#(<= ~counter~0 2)} assume true; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,482 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4886#(<= ~counter~0 2)} {4886#(<= ~counter~0 2)} #90#return; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,482 INFO L272 TraceCheckUtils]: 47: Hoare triple {4886#(<= ~counter~0 2)} 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)); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,483 INFO L290 TraceCheckUtils]: 48: Hoare triple {4886#(<= ~counter~0 2)} ~cond := #in~cond; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,483 INFO L290 TraceCheckUtils]: 49: Hoare triple {4886#(<= ~counter~0 2)} assume !(0 == ~cond); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,483 INFO L290 TraceCheckUtils]: 50: Hoare triple {4886#(<= ~counter~0 2)} assume true; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,484 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4886#(<= ~counter~0 2)} {4886#(<= ~counter~0 2)} #92#return; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,484 INFO L290 TraceCheckUtils]: 52: Hoare triple {4886#(<= ~counter~0 2)} assume !(~c~0 >= ~b~0); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,484 INFO L290 TraceCheckUtils]: 53: Hoare triple {4886#(<= ~counter~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; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:43,485 INFO L290 TraceCheckUtils]: 54: Hoare triple {4886#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4959#(<= |main_#t~post6| 2)} is VALID [2022-04-28 05:38:43,485 INFO L290 TraceCheckUtils]: 55: Hoare triple {4959#(<= |main_#t~post6| 2)} assume !(#t~post6 < 100);havoc #t~post6; {4790#false} is VALID [2022-04-28 05:38:43,485 INFO L272 TraceCheckUtils]: 56: Hoare triple {4790#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {4790#false} is VALID [2022-04-28 05:38:43,485 INFO L290 TraceCheckUtils]: 57: Hoare triple {4790#false} ~cond := #in~cond; {4790#false} is VALID [2022-04-28 05:38:43,485 INFO L290 TraceCheckUtils]: 58: Hoare triple {4790#false} assume 0 == ~cond; {4790#false} is VALID [2022-04-28 05:38:43,485 INFO L290 TraceCheckUtils]: 59: Hoare triple {4790#false} assume !false; {4790#false} is VALID [2022-04-28 05:38:43,486 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 05:38:43,486 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:38:43,755 INFO L290 TraceCheckUtils]: 59: Hoare triple {4790#false} assume !false; {4790#false} is VALID [2022-04-28 05:38:43,755 INFO L290 TraceCheckUtils]: 58: Hoare triple {4790#false} assume 0 == ~cond; {4790#false} is VALID [2022-04-28 05:38:43,755 INFO L290 TraceCheckUtils]: 57: Hoare triple {4790#false} ~cond := #in~cond; {4790#false} is VALID [2022-04-28 05:38:43,755 INFO L272 TraceCheckUtils]: 56: Hoare triple {4790#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {4790#false} is VALID [2022-04-28 05:38:43,755 INFO L290 TraceCheckUtils]: 55: Hoare triple {4987#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {4790#false} is VALID [2022-04-28 05:38:43,756 INFO L290 TraceCheckUtils]: 54: Hoare triple {4991#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4987#(< |main_#t~post6| 100)} is VALID [2022-04-28 05:38:43,756 INFO L290 TraceCheckUtils]: 53: Hoare triple {4991#(< ~counter~0 100)} ~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; {4991#(< ~counter~0 100)} is VALID [2022-04-28 05:38:43,756 INFO L290 TraceCheckUtils]: 52: Hoare triple {4991#(< ~counter~0 100)} assume !(~c~0 >= ~b~0); {4991#(< ~counter~0 100)} is VALID [2022-04-28 05:38:43,757 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4789#true} {4991#(< ~counter~0 100)} #92#return; {4991#(< ~counter~0 100)} is VALID [2022-04-28 05:38:43,757 INFO L290 TraceCheckUtils]: 50: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 05:38:43,757 INFO L290 TraceCheckUtils]: 49: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 05:38:43,757 INFO L290 TraceCheckUtils]: 48: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 05:38:43,757 INFO L272 TraceCheckUtils]: 47: Hoare triple {4991#(< ~counter~0 100)} 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)); {4789#true} is VALID [2022-04-28 05:38:43,758 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4789#true} {4991#(< ~counter~0 100)} #90#return; {4991#(< ~counter~0 100)} is VALID [2022-04-28 05:38:43,758 INFO L290 TraceCheckUtils]: 45: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 05:38:43,758 INFO L290 TraceCheckUtils]: 44: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 05:38:43,758 INFO L290 TraceCheckUtils]: 43: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 05:38:43,758 INFO L272 TraceCheckUtils]: 42: Hoare triple {4991#(< ~counter~0 100)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4789#true} is VALID [2022-04-28 05:38:43,759 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4789#true} {4991#(< ~counter~0 100)} #88#return; {4991#(< ~counter~0 100)} is VALID [2022-04-28 05:38:43,759 INFO L290 TraceCheckUtils]: 40: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 05:38:43,759 INFO L290 TraceCheckUtils]: 39: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 05:38:43,759 INFO L290 TraceCheckUtils]: 38: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 05:38:43,760 INFO L272 TraceCheckUtils]: 37: Hoare triple {4991#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4789#true} is VALID [2022-04-28 05:38:43,760 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4789#true} {4991#(< ~counter~0 100)} #86#return; {4991#(< ~counter~0 100)} is VALID [2022-04-28 05:38:43,760 INFO L290 TraceCheckUtils]: 35: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 05:38:43,760 INFO L290 TraceCheckUtils]: 34: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 05:38:43,760 INFO L290 TraceCheckUtils]: 33: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 05:38:43,760 INFO L272 TraceCheckUtils]: 32: Hoare triple {4991#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4789#true} is VALID [2022-04-28 05:38:43,761 INFO L290 TraceCheckUtils]: 31: Hoare triple {4991#(< ~counter~0 100)} assume !!(#t~post7 < 100);havoc #t~post7; {4991#(< ~counter~0 100)} is VALID [2022-04-28 05:38:43,761 INFO L290 TraceCheckUtils]: 30: Hoare triple {5064#(< ~counter~0 99)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4991#(< ~counter~0 100)} is VALID [2022-04-28 05:38:43,761 INFO L290 TraceCheckUtils]: 29: Hoare triple {5064#(< ~counter~0 99)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5064#(< ~counter~0 99)} is VALID [2022-04-28 05:38:43,762 INFO L290 TraceCheckUtils]: 28: Hoare triple {5064#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {5064#(< ~counter~0 99)} is VALID [2022-04-28 05:38:43,762 INFO L290 TraceCheckUtils]: 27: Hoare triple {5074#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5064#(< ~counter~0 99)} is VALID [2022-04-28 05:38:43,763 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4789#true} {5074#(< ~counter~0 98)} #84#return; {5074#(< ~counter~0 98)} is VALID [2022-04-28 05:38:43,763 INFO L290 TraceCheckUtils]: 25: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 05:38:43,763 INFO L290 TraceCheckUtils]: 24: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 05:38:43,763 INFO L290 TraceCheckUtils]: 23: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 05:38:43,763 INFO L272 TraceCheckUtils]: 22: Hoare triple {5074#(< ~counter~0 98)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4789#true} is VALID [2022-04-28 05:38:43,763 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4789#true} {5074#(< ~counter~0 98)} #82#return; {5074#(< ~counter~0 98)} is VALID [2022-04-28 05:38:43,763 INFO L290 TraceCheckUtils]: 20: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 05:38:43,763 INFO L290 TraceCheckUtils]: 19: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 05:38:43,763 INFO L290 TraceCheckUtils]: 18: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 05:38:43,764 INFO L272 TraceCheckUtils]: 17: Hoare triple {5074#(< ~counter~0 98)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4789#true} is VALID [2022-04-28 05:38:43,764 INFO L290 TraceCheckUtils]: 16: Hoare triple {5074#(< ~counter~0 98)} ~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; {5074#(< ~counter~0 98)} is VALID [2022-04-28 05:38:43,764 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4789#true} {5074#(< ~counter~0 98)} #80#return; {5074#(< ~counter~0 98)} is VALID [2022-04-28 05:38:43,764 INFO L290 TraceCheckUtils]: 14: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 05:38:43,764 INFO L290 TraceCheckUtils]: 13: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 05:38:43,764 INFO L290 TraceCheckUtils]: 12: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 05:38:43,765 INFO L272 TraceCheckUtils]: 11: Hoare triple {5074#(< ~counter~0 98)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4789#true} is VALID [2022-04-28 05:38:43,765 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4789#true} {5074#(< ~counter~0 98)} #78#return; {5074#(< ~counter~0 98)} is VALID [2022-04-28 05:38:43,765 INFO L290 TraceCheckUtils]: 9: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 05:38:43,765 INFO L290 TraceCheckUtils]: 8: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 05:38:43,765 INFO L290 TraceCheckUtils]: 7: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 05:38:43,765 INFO L272 TraceCheckUtils]: 6: Hoare triple {5074#(< ~counter~0 98)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4789#true} is VALID [2022-04-28 05:38:43,765 INFO L290 TraceCheckUtils]: 5: Hoare triple {5074#(< ~counter~0 98)} 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; {5074#(< ~counter~0 98)} is VALID [2022-04-28 05:38:43,766 INFO L272 TraceCheckUtils]: 4: Hoare triple {5074#(< ~counter~0 98)} call #t~ret8 := main(); {5074#(< ~counter~0 98)} is VALID [2022-04-28 05:38:43,766 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5074#(< ~counter~0 98)} {4789#true} #98#return; {5074#(< ~counter~0 98)} is VALID [2022-04-28 05:38:43,766 INFO L290 TraceCheckUtils]: 2: Hoare triple {5074#(< ~counter~0 98)} assume true; {5074#(< ~counter~0 98)} is VALID [2022-04-28 05:38:43,767 INFO L290 TraceCheckUtils]: 1: Hoare triple {4789#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);~counter~0 := 0; {5074#(< ~counter~0 98)} is VALID [2022-04-28 05:38:43,767 INFO L272 TraceCheckUtils]: 0: Hoare triple {4789#true} call ULTIMATE.init(); {4789#true} is VALID [2022-04-28 05:38:43,767 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 05:38:43,767 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:38:43,767 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1641811851] [2022-04-28 05:38:43,768 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:38:43,768 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1908091262] [2022-04-28 05:38:43,768 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1908091262] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:38:43,768 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:38:43,768 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 05:38:43,768 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:38:43,768 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [782768888] [2022-04-28 05:38:43,768 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [782768888] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:38:43,768 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:38:43,768 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 05:38:43,768 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [737555625] [2022-04-28 05:38:43,768 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:38:43,769 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 60 [2022-04-28 05:38:43,769 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:38:43,769 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:38:43,809 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:38:43,810 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 05:38:43,810 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:38:43,810 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 05:38:43,810 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 05:38:43,810 INFO L87 Difference]: Start difference. First operand 84 states and 111 transitions. Second operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:38:44,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:44,039 INFO L93 Difference]: Finished difference Result 111 states and 135 transitions. [2022-04-28 05:38:44,039 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 05:38:44,039 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 60 [2022-04-28 05:38:44,040 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:38:44,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:38:44,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 76 transitions. [2022-04-28 05:38:44,041 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:38:44,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 76 transitions. [2022-04-28 05:38:44,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 76 transitions. [2022-04-28 05:38:44,110 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:38:44,112 INFO L225 Difference]: With dead ends: 111 [2022-04-28 05:38:44,112 INFO L226 Difference]: Without dead ends: 103 [2022-04-28 05:38:44,113 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 111 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=42, Invalid=68, Unknown=0, NotChecked=0, Total=110 [2022-04-28 05:38:44,113 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 8 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:38:44,113 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 138 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:38:44,114 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-28 05:38:44,218 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-28 05:38:44,219 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:38:44,219 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 103 states, 64 states have (on average 1.1875) internal successors, (76), 67 states have internal predecessors, (76), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 05:38:44,219 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 103 states, 64 states have (on average 1.1875) internal successors, (76), 67 states have internal predecessors, (76), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 05:38:44,220 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 103 states, 64 states have (on average 1.1875) internal successors, (76), 67 states have internal predecessors, (76), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 05:38:44,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:44,225 INFO L93 Difference]: Finished difference Result 103 states and 126 transitions. [2022-04-28 05:38:44,225 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 126 transitions. [2022-04-28 05:38:44,225 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:38:44,225 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:38:44,226 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 64 states have (on average 1.1875) internal successors, (76), 67 states have internal predecessors, (76), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 103 states. [2022-04-28 05:38:44,226 INFO L87 Difference]: Start difference. First operand has 103 states, 64 states have (on average 1.1875) internal successors, (76), 67 states have internal predecessors, (76), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 103 states. [2022-04-28 05:38:44,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:44,230 INFO L93 Difference]: Finished difference Result 103 states and 126 transitions. [2022-04-28 05:38:44,230 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 126 transitions. [2022-04-28 05:38:44,230 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:38:44,230 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:38:44,230 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:38:44,231 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:38:44,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 64 states have (on average 1.1875) internal successors, (76), 67 states have internal predecessors, (76), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 05:38:44,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 126 transitions. [2022-04-28 05:38:44,234 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 126 transitions. Word has length 60 [2022-04-28 05:38:44,234 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:38:44,234 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 126 transitions. [2022-04-28 05:38:44,234 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:38:44,234 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 126 transitions. [2022-04-28 05:38:44,399 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:38:44,399 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 126 transitions. [2022-04-28 05:38:44,399 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 05:38:44,399 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:38:44,399 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, 1, 1, 1, 1, 1] [2022-04-28 05:38:44,416 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 05:38:44,600 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 05:38:44,600 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:38:44,601 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:38:44,601 INFO L85 PathProgramCache]: Analyzing trace with hash 1088000375, now seen corresponding path program 1 times [2022-04-28 05:38:44,601 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:38:44,602 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1853461320] [2022-04-28 05:38:44,602 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:38:44,602 INFO L85 PathProgramCache]: Analyzing trace with hash 1088000375, now seen corresponding path program 2 times [2022-04-28 05:38:44,602 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:38:44,602 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1385680195] [2022-04-28 05:38:44,602 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:38:44,603 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:38:44,619 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:38:44,619 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [349475138] [2022-04-28 05:38:44,620 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:38:44,620 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:38:44,620 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:38:44,621 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:38:44,623 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 05:38:44,663 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:38:44,664 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:38:44,664 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 05:38:44,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:38:44,677 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:38:44,882 INFO L272 TraceCheckUtils]: 0: Hoare triple {5794#true} call ULTIMATE.init(); {5794#true} is VALID [2022-04-28 05:38:44,883 INFO L290 TraceCheckUtils]: 1: Hoare triple {5794#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);~counter~0 := 0; {5794#true} is VALID [2022-04-28 05:38:44,883 INFO L290 TraceCheckUtils]: 2: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 05:38:44,883 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5794#true} {5794#true} #98#return; {5794#true} is VALID [2022-04-28 05:38:44,883 INFO L272 TraceCheckUtils]: 4: Hoare triple {5794#true} call #t~ret8 := main(); {5794#true} is VALID [2022-04-28 05:38:44,883 INFO L290 TraceCheckUtils]: 5: Hoare triple {5794#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; {5794#true} is VALID [2022-04-28 05:38:44,883 INFO L272 TraceCheckUtils]: 6: Hoare triple {5794#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5794#true} is VALID [2022-04-28 05:38:44,883 INFO L290 TraceCheckUtils]: 7: Hoare triple {5794#true} ~cond := #in~cond; {5820#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:38:44,884 INFO L290 TraceCheckUtils]: 8: Hoare triple {5820#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:38:44,884 INFO L290 TraceCheckUtils]: 9: Hoare triple {5824#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:38:44,884 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5824#(not (= |assume_abort_if_not_#in~cond| 0))} {5794#true} #78#return; {5831#(<= 1 main_~x~0)} is VALID [2022-04-28 05:38:44,884 INFO L272 TraceCheckUtils]: 11: Hoare triple {5831#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5794#true} is VALID [2022-04-28 05:38:44,885 INFO L290 TraceCheckUtils]: 12: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 05:38:44,885 INFO L290 TraceCheckUtils]: 13: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 05:38:44,885 INFO L290 TraceCheckUtils]: 14: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 05:38:44,885 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5794#true} {5831#(<= 1 main_~x~0)} #80#return; {5831#(<= 1 main_~x~0)} is VALID [2022-04-28 05:38:44,885 INFO L290 TraceCheckUtils]: 16: Hoare triple {5831#(<= 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; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 05:38:44,886 INFO L272 TraceCheckUtils]: 17: Hoare triple {5850#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5794#true} is VALID [2022-04-28 05:38:44,886 INFO L290 TraceCheckUtils]: 18: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 05:38:44,886 INFO L290 TraceCheckUtils]: 19: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 05:38:44,886 INFO L290 TraceCheckUtils]: 20: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 05:38:44,886 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5794#true} {5850#(<= 1 main_~a~0)} #82#return; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 05:38:44,886 INFO L272 TraceCheckUtils]: 22: Hoare triple {5850#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5794#true} is VALID [2022-04-28 05:38:44,886 INFO L290 TraceCheckUtils]: 23: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 05:38:44,886 INFO L290 TraceCheckUtils]: 24: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 05:38:44,887 INFO L290 TraceCheckUtils]: 25: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 05:38:44,887 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5794#true} {5850#(<= 1 main_~a~0)} #84#return; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 05:38:44,887 INFO L290 TraceCheckUtils]: 27: Hoare triple {5850#(<= 1 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 05:38:44,887 INFO L290 TraceCheckUtils]: 28: Hoare triple {5850#(<= 1 main_~a~0)} assume !!(#t~post6 < 100);havoc #t~post6; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 05:38:44,888 INFO L290 TraceCheckUtils]: 29: Hoare triple {5850#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 05:38:44,888 INFO L290 TraceCheckUtils]: 30: Hoare triple {5890#(<= 1 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 05:38:44,888 INFO L290 TraceCheckUtils]: 31: Hoare triple {5890#(<= 1 main_~c~0)} assume !!(#t~post7 < 100);havoc #t~post7; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 05:38:44,888 INFO L272 TraceCheckUtils]: 32: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 05:38:44,888 INFO L290 TraceCheckUtils]: 33: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 05:38:44,889 INFO L290 TraceCheckUtils]: 34: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 05:38:44,889 INFO L290 TraceCheckUtils]: 35: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 05:38:44,889 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #86#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 05:38:44,889 INFO L272 TraceCheckUtils]: 37: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 05:38:44,889 INFO L290 TraceCheckUtils]: 38: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 05:38:44,889 INFO L290 TraceCheckUtils]: 39: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 05:38:44,889 INFO L290 TraceCheckUtils]: 40: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 05:38:44,900 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #88#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 05:38:44,900 INFO L272 TraceCheckUtils]: 42: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 05:38:44,900 INFO L290 TraceCheckUtils]: 43: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 05:38:44,900 INFO L290 TraceCheckUtils]: 44: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 05:38:44,901 INFO L290 TraceCheckUtils]: 45: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 05:38:44,901 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #90#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 05:38:44,902 INFO L272 TraceCheckUtils]: 47: Hoare triple {5890#(<= 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)); {5794#true} is VALID [2022-04-28 05:38:44,902 INFO L290 TraceCheckUtils]: 48: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 05:38:44,902 INFO L290 TraceCheckUtils]: 49: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 05:38:44,902 INFO L290 TraceCheckUtils]: 50: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 05:38:44,902 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #92#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 05:38:44,903 INFO L290 TraceCheckUtils]: 52: Hoare triple {5890#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 05:38:44,903 INFO L290 TraceCheckUtils]: 53: Hoare triple {5890#(<= 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; {5963#(<= 1 main_~b~0)} is VALID [2022-04-28 05:38:44,904 INFO L290 TraceCheckUtils]: 54: Hoare triple {5963#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5963#(<= 1 main_~b~0)} is VALID [2022-04-28 05:38:44,904 INFO L290 TraceCheckUtils]: 55: Hoare triple {5963#(<= 1 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {5963#(<= 1 main_~b~0)} is VALID [2022-04-28 05:38:44,904 INFO L290 TraceCheckUtils]: 56: Hoare triple {5963#(<= 1 main_~b~0)} assume !(0 != ~b~0); {5795#false} is VALID [2022-04-28 05:38:44,904 INFO L272 TraceCheckUtils]: 57: Hoare triple {5795#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {5795#false} is VALID [2022-04-28 05:38:44,904 INFO L290 TraceCheckUtils]: 58: Hoare triple {5795#false} ~cond := #in~cond; {5795#false} is VALID [2022-04-28 05:38:44,904 INFO L290 TraceCheckUtils]: 59: Hoare triple {5795#false} assume 0 == ~cond; {5795#false} is VALID [2022-04-28 05:38:44,904 INFO L290 TraceCheckUtils]: 60: Hoare triple {5795#false} assume !false; {5795#false} is VALID [2022-04-28 05:38:44,905 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 12 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 05:38:44,905 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:38:45,222 INFO L290 TraceCheckUtils]: 60: Hoare triple {5795#false} assume !false; {5795#false} is VALID [2022-04-28 05:38:45,222 INFO L290 TraceCheckUtils]: 59: Hoare triple {5795#false} assume 0 == ~cond; {5795#false} is VALID [2022-04-28 05:38:45,222 INFO L290 TraceCheckUtils]: 58: Hoare triple {5795#false} ~cond := #in~cond; {5795#false} is VALID [2022-04-28 05:38:45,222 INFO L272 TraceCheckUtils]: 57: Hoare triple {5795#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {5795#false} is VALID [2022-04-28 05:38:45,222 INFO L290 TraceCheckUtils]: 56: Hoare triple {5963#(<= 1 main_~b~0)} assume !(0 != ~b~0); {5795#false} is VALID [2022-04-28 05:38:45,223 INFO L290 TraceCheckUtils]: 55: Hoare triple {5963#(<= 1 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {5963#(<= 1 main_~b~0)} is VALID [2022-04-28 05:38:45,223 INFO L290 TraceCheckUtils]: 54: Hoare triple {5963#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5963#(<= 1 main_~b~0)} is VALID [2022-04-28 05:38:45,224 INFO L290 TraceCheckUtils]: 53: Hoare triple {5890#(<= 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; {5963#(<= 1 main_~b~0)} is VALID [2022-04-28 05:38:45,224 INFO L290 TraceCheckUtils]: 52: Hoare triple {5890#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 05:38:45,225 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #92#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 05:38:45,225 INFO L290 TraceCheckUtils]: 50: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 05:38:45,225 INFO L290 TraceCheckUtils]: 49: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 05:38:45,225 INFO L290 TraceCheckUtils]: 48: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 05:38:45,225 INFO L272 TraceCheckUtils]: 47: Hoare triple {5890#(<= 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)); {5794#true} is VALID [2022-04-28 05:38:45,226 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #90#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 05:38:45,226 INFO L290 TraceCheckUtils]: 45: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 05:38:45,226 INFO L290 TraceCheckUtils]: 44: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 05:38:45,226 INFO L290 TraceCheckUtils]: 43: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 05:38:45,226 INFO L272 TraceCheckUtils]: 42: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 05:38:45,227 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #88#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 05:38:45,227 INFO L290 TraceCheckUtils]: 40: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 05:38:45,227 INFO L290 TraceCheckUtils]: 39: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 05:38:45,227 INFO L290 TraceCheckUtils]: 38: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 05:38:45,227 INFO L272 TraceCheckUtils]: 37: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 05:38:45,228 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #86#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 05:38:45,228 INFO L290 TraceCheckUtils]: 35: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 05:38:45,228 INFO L290 TraceCheckUtils]: 34: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 05:38:45,228 INFO L290 TraceCheckUtils]: 33: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 05:38:45,228 INFO L272 TraceCheckUtils]: 32: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 05:38:45,229 INFO L290 TraceCheckUtils]: 31: Hoare triple {5890#(<= 1 main_~c~0)} assume !!(#t~post7 < 100);havoc #t~post7; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 05:38:45,229 INFO L290 TraceCheckUtils]: 30: Hoare triple {5890#(<= 1 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 05:38:45,229 INFO L290 TraceCheckUtils]: 29: Hoare triple {5850#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 05:38:45,230 INFO L290 TraceCheckUtils]: 28: Hoare triple {5850#(<= 1 main_~a~0)} assume !!(#t~post6 < 100);havoc #t~post6; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 05:38:45,230 INFO L290 TraceCheckUtils]: 27: Hoare triple {5850#(<= 1 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 05:38:45,231 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5794#true} {5850#(<= 1 main_~a~0)} #84#return; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 05:38:45,231 INFO L290 TraceCheckUtils]: 25: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 05:38:45,231 INFO L290 TraceCheckUtils]: 24: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 05:38:45,231 INFO L290 TraceCheckUtils]: 23: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 05:38:45,231 INFO L272 TraceCheckUtils]: 22: Hoare triple {5850#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5794#true} is VALID [2022-04-28 05:38:45,232 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5794#true} {5850#(<= 1 main_~a~0)} #82#return; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 05:38:45,232 INFO L290 TraceCheckUtils]: 20: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 05:38:45,232 INFO L290 TraceCheckUtils]: 19: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 05:38:45,232 INFO L290 TraceCheckUtils]: 18: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 05:38:45,232 INFO L272 TraceCheckUtils]: 17: Hoare triple {5850#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5794#true} is VALID [2022-04-28 05:38:45,235 INFO L290 TraceCheckUtils]: 16: Hoare triple {5831#(<= 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; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 05:38:45,236 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5794#true} {5831#(<= 1 main_~x~0)} #80#return; {5831#(<= 1 main_~x~0)} is VALID [2022-04-28 05:38:45,236 INFO L290 TraceCheckUtils]: 14: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 05:38:45,236 INFO L290 TraceCheckUtils]: 13: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 05:38:45,236 INFO L290 TraceCheckUtils]: 12: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 05:38:45,236 INFO L272 TraceCheckUtils]: 11: Hoare triple {5831#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5794#true} is VALID [2022-04-28 05:38:45,237 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5824#(not (= |assume_abort_if_not_#in~cond| 0))} {5794#true} #78#return; {5831#(<= 1 main_~x~0)} is VALID [2022-04-28 05:38:45,237 INFO L290 TraceCheckUtils]: 9: Hoare triple {5824#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:38:45,238 INFO L290 TraceCheckUtils]: 8: Hoare triple {6144#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {5824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:38:45,238 INFO L290 TraceCheckUtils]: 7: Hoare triple {5794#true} ~cond := #in~cond; {6144#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 05:38:45,238 INFO L272 TraceCheckUtils]: 6: Hoare triple {5794#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5794#true} is VALID [2022-04-28 05:38:45,238 INFO L290 TraceCheckUtils]: 5: Hoare triple {5794#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; {5794#true} is VALID [2022-04-28 05:38:45,239 INFO L272 TraceCheckUtils]: 4: Hoare triple {5794#true} call #t~ret8 := main(); {5794#true} is VALID [2022-04-28 05:38:45,239 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5794#true} {5794#true} #98#return; {5794#true} is VALID [2022-04-28 05:38:45,239 INFO L290 TraceCheckUtils]: 2: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 05:38:45,239 INFO L290 TraceCheckUtils]: 1: Hoare triple {5794#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);~counter~0 := 0; {5794#true} is VALID [2022-04-28 05:38:45,239 INFO L272 TraceCheckUtils]: 0: Hoare triple {5794#true} call ULTIMATE.init(); {5794#true} is VALID [2022-04-28 05:38:45,239 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 12 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 05:38:45,239 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:38:45,240 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1385680195] [2022-04-28 05:38:45,240 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:38:45,240 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [349475138] [2022-04-28 05:38:45,240 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [349475138] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:38:45,240 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:38:45,240 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 05:38:45,240 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:38:45,241 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1853461320] [2022-04-28 05:38:45,241 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1853461320] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:38:45,241 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:38:45,241 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 05:38:45,241 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [406829830] [2022-04-28 05:38:45,241 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:38:45,242 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 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 61 [2022-04-28 05:38:45,242 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:38:45,242 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 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 05:38:45,286 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:38:45,286 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 05:38:45,286 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:38:45,287 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 05:38:45,287 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:38:45,287 INFO L87 Difference]: Start difference. First operand 103 states and 126 transitions. Second operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 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 05:38:46,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:46,284 INFO L93 Difference]: Finished difference Result 182 states and 256 transitions. [2022-04-28 05:38:46,284 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 05:38:46,284 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 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 61 [2022-04-28 05:38:46,284 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:38:46,284 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 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 05:38:46,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 147 transitions. [2022-04-28 05:38:46,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 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 05:38:46,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 147 transitions. [2022-04-28 05:38:46,289 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 147 transitions. [2022-04-28 05:38:46,424 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 147 edges. 147 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:38:46,428 INFO L225 Difference]: With dead ends: 182 [2022-04-28 05:38:46,429 INFO L226 Difference]: Without dead ends: 174 [2022-04-28 05:38:46,429 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 128 GetRequests, 113 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=60, Invalid=180, Unknown=0, NotChecked=0, Total=240 [2022-04-28 05:38:46,430 INFO L413 NwaCegarLoop]: 71 mSDtfsCounter, 59 mSDsluCounter, 246 mSDsCounter, 0 mSdLazyCounter, 161 mSolverCounterSat, 71 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 64 SdHoareTripleChecker+Valid, 317 SdHoareTripleChecker+Invalid, 232 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 71 IncrementalHoareTripleChecker+Valid, 161 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 05:38:46,430 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [64 Valid, 317 Invalid, 232 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [71 Valid, 161 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 05:38:46,430 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states. [2022-04-28 05:38:46,731 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 146. [2022-04-28 05:38:46,732 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:38:46,732 INFO L82 GeneralOperation]: Start isEquivalent. First operand 174 states. Second operand has 146 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 94 states have internal predecessors, (115), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 05:38:46,732 INFO L74 IsIncluded]: Start isIncluded. First operand 174 states. Second operand has 146 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 94 states have internal predecessors, (115), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 05:38:46,733 INFO L87 Difference]: Start difference. First operand 174 states. Second operand has 146 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 94 states have internal predecessors, (115), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 05:38:46,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:46,740 INFO L93 Difference]: Finished difference Result 174 states and 246 transitions. [2022-04-28 05:38:46,740 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 246 transitions. [2022-04-28 05:38:46,742 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:38:46,742 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:38:46,742 INFO L74 IsIncluded]: Start isIncluded. First operand has 146 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 94 states have internal predecessors, (115), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) Second operand 174 states. [2022-04-28 05:38:46,743 INFO L87 Difference]: Start difference. First operand has 146 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 94 states have internal predecessors, (115), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) Second operand 174 states. [2022-04-28 05:38:46,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:46,752 INFO L93 Difference]: Finished difference Result 174 states and 246 transitions. [2022-04-28 05:38:46,752 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 246 transitions. [2022-04-28 05:38:46,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:38:46,753 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:38:46,753 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:38:46,753 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:38:46,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 146 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 94 states have internal predecessors, (115), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 05:38:46,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 146 states to 146 states and 199 transitions. [2022-04-28 05:38:46,758 INFO L78 Accepts]: Start accepts. Automaton has 146 states and 199 transitions. Word has length 61 [2022-04-28 05:38:46,758 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:38:46,758 INFO L495 AbstractCegarLoop]: Abstraction has 146 states and 199 transitions. [2022-04-28 05:38:46,758 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 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 05:38:46,758 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 146 states and 199 transitions. [2022-04-28 05:38:47,011 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 199 edges. 199 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:38:47,011 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 199 transitions. [2022-04-28 05:38:47,014 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-28 05:38:47,014 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:38:47,014 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, 1, 1, 1, 1, 1, 1] [2022-04-28 05:38:47,034 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 05:38:47,223 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 05:38:47,223 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:38:47,224 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:38:47,224 INFO L85 PathProgramCache]: Analyzing trace with hash 1537891564, now seen corresponding path program 1 times [2022-04-28 05:38:47,224 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:38:47,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1969223000] [2022-04-28 05:38:47,224 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:38:47,224 INFO L85 PathProgramCache]: Analyzing trace with hash 1537891564, now seen corresponding path program 2 times [2022-04-28 05:38:47,225 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:38:47,225 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1189276019] [2022-04-28 05:38:47,225 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:38:47,225 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:38:47,235 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:38:47,236 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1749142909] [2022-04-28 05:38:47,236 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:38:47,236 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:38:47,236 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:38:47,237 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:38:47,259 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 05:38:47,293 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:38:47,293 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:38:47,294 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 05:38:47,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:38:47,307 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:38:47,533 INFO L272 TraceCheckUtils]: 0: Hoare triple {7186#true} call ULTIMATE.init(); {7186#true} is VALID [2022-04-28 05:38:47,533 INFO L290 TraceCheckUtils]: 1: Hoare triple {7186#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);~counter~0 := 0; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,535 INFO L290 TraceCheckUtils]: 2: Hoare triple {7194#(<= ~counter~0 0)} assume true; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,535 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7194#(<= ~counter~0 0)} {7186#true} #98#return; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,536 INFO L272 TraceCheckUtils]: 4: Hoare triple {7194#(<= ~counter~0 0)} call #t~ret8 := main(); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,536 INFO L290 TraceCheckUtils]: 5: Hoare triple {7194#(<= ~counter~0 0)} 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; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,537 INFO L272 TraceCheckUtils]: 6: Hoare triple {7194#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,537 INFO L290 TraceCheckUtils]: 7: Hoare triple {7194#(<= ~counter~0 0)} ~cond := #in~cond; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,537 INFO L290 TraceCheckUtils]: 8: Hoare triple {7194#(<= ~counter~0 0)} assume !(0 == ~cond); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,538 INFO L290 TraceCheckUtils]: 9: Hoare triple {7194#(<= ~counter~0 0)} assume true; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,538 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7194#(<= ~counter~0 0)} {7194#(<= ~counter~0 0)} #78#return; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,539 INFO L272 TraceCheckUtils]: 11: Hoare triple {7194#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,539 INFO L290 TraceCheckUtils]: 12: Hoare triple {7194#(<= ~counter~0 0)} ~cond := #in~cond; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,539 INFO L290 TraceCheckUtils]: 13: Hoare triple {7194#(<= ~counter~0 0)} assume !(0 == ~cond); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,539 INFO L290 TraceCheckUtils]: 14: Hoare triple {7194#(<= ~counter~0 0)} assume true; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,540 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7194#(<= ~counter~0 0)} {7194#(<= ~counter~0 0)} #80#return; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,540 INFO L290 TraceCheckUtils]: 16: Hoare triple {7194#(<= ~counter~0 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; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,541 INFO L272 TraceCheckUtils]: 17: Hoare triple {7194#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,541 INFO L290 TraceCheckUtils]: 18: Hoare triple {7194#(<= ~counter~0 0)} ~cond := #in~cond; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,541 INFO L290 TraceCheckUtils]: 19: Hoare triple {7194#(<= ~counter~0 0)} assume !(0 == ~cond); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,541 INFO L290 TraceCheckUtils]: 20: Hoare triple {7194#(<= ~counter~0 0)} assume true; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,542 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7194#(<= ~counter~0 0)} {7194#(<= ~counter~0 0)} #82#return; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,542 INFO L272 TraceCheckUtils]: 22: Hoare triple {7194#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,542 INFO L290 TraceCheckUtils]: 23: Hoare triple {7194#(<= ~counter~0 0)} ~cond := #in~cond; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,543 INFO L290 TraceCheckUtils]: 24: Hoare triple {7194#(<= ~counter~0 0)} assume !(0 == ~cond); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,543 INFO L290 TraceCheckUtils]: 25: Hoare triple {7194#(<= ~counter~0 0)} assume true; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,543 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7194#(<= ~counter~0 0)} {7194#(<= ~counter~0 0)} #84#return; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:47,544 INFO L290 TraceCheckUtils]: 27: Hoare triple {7194#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7273#(<= ~counter~0 1)} is VALID [2022-04-28 05:38:47,544 INFO L290 TraceCheckUtils]: 28: Hoare triple {7273#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {7273#(<= ~counter~0 1)} is VALID [2022-04-28 05:38:47,545 INFO L290 TraceCheckUtils]: 29: Hoare triple {7273#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7273#(<= ~counter~0 1)} is VALID [2022-04-28 05:38:47,545 INFO L290 TraceCheckUtils]: 30: Hoare triple {7273#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,545 INFO L290 TraceCheckUtils]: 31: Hoare triple {7283#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,546 INFO L272 TraceCheckUtils]: 32: Hoare triple {7283#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,546 INFO L290 TraceCheckUtils]: 33: Hoare triple {7283#(<= ~counter~0 2)} ~cond := #in~cond; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,546 INFO L290 TraceCheckUtils]: 34: Hoare triple {7283#(<= ~counter~0 2)} assume !(0 == ~cond); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,547 INFO L290 TraceCheckUtils]: 35: Hoare triple {7283#(<= ~counter~0 2)} assume true; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,547 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7283#(<= ~counter~0 2)} {7283#(<= ~counter~0 2)} #86#return; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,548 INFO L272 TraceCheckUtils]: 37: Hoare triple {7283#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,548 INFO L290 TraceCheckUtils]: 38: Hoare triple {7283#(<= ~counter~0 2)} ~cond := #in~cond; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,548 INFO L290 TraceCheckUtils]: 39: Hoare triple {7283#(<= ~counter~0 2)} assume !(0 == ~cond); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,549 INFO L290 TraceCheckUtils]: 40: Hoare triple {7283#(<= ~counter~0 2)} assume true; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,549 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7283#(<= ~counter~0 2)} {7283#(<= ~counter~0 2)} #88#return; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,550 INFO L272 TraceCheckUtils]: 42: Hoare triple {7283#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,550 INFO L290 TraceCheckUtils]: 43: Hoare triple {7283#(<= ~counter~0 2)} ~cond := #in~cond; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,550 INFO L290 TraceCheckUtils]: 44: Hoare triple {7283#(<= ~counter~0 2)} assume !(0 == ~cond); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,550 INFO L290 TraceCheckUtils]: 45: Hoare triple {7283#(<= ~counter~0 2)} assume true; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,551 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7283#(<= ~counter~0 2)} {7283#(<= ~counter~0 2)} #90#return; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,552 INFO L272 TraceCheckUtils]: 47: Hoare triple {7283#(<= ~counter~0 2)} 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)); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,552 INFO L290 TraceCheckUtils]: 48: Hoare triple {7283#(<= ~counter~0 2)} ~cond := #in~cond; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,552 INFO L290 TraceCheckUtils]: 49: Hoare triple {7283#(<= ~counter~0 2)} assume !(0 == ~cond); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,553 INFO L290 TraceCheckUtils]: 50: Hoare triple {7283#(<= ~counter~0 2)} assume true; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,553 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7283#(<= ~counter~0 2)} {7283#(<= ~counter~0 2)} #92#return; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,553 INFO L290 TraceCheckUtils]: 52: Hoare triple {7283#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:47,554 INFO L290 TraceCheckUtils]: 53: Hoare triple {7283#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7353#(<= |main_#t~post7| 2)} is VALID [2022-04-28 05:38:47,554 INFO L290 TraceCheckUtils]: 54: Hoare triple {7353#(<= |main_#t~post7| 2)} assume !(#t~post7 < 100);havoc #t~post7; {7187#false} is VALID [2022-04-28 05:38:47,554 INFO L290 TraceCheckUtils]: 55: Hoare triple {7187#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; {7187#false} is VALID [2022-04-28 05:38:47,554 INFO L290 TraceCheckUtils]: 56: Hoare triple {7187#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7187#false} is VALID [2022-04-28 05:38:47,554 INFO L290 TraceCheckUtils]: 57: Hoare triple {7187#false} assume !(#t~post6 < 100);havoc #t~post6; {7187#false} is VALID [2022-04-28 05:38:47,554 INFO L272 TraceCheckUtils]: 58: Hoare triple {7187#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {7187#false} is VALID [2022-04-28 05:38:47,555 INFO L290 TraceCheckUtils]: 59: Hoare triple {7187#false} ~cond := #in~cond; {7187#false} is VALID [2022-04-28 05:38:47,555 INFO L290 TraceCheckUtils]: 60: Hoare triple {7187#false} assume 0 == ~cond; {7187#false} is VALID [2022-04-28 05:38:47,555 INFO L290 TraceCheckUtils]: 61: Hoare triple {7187#false} assume !false; {7187#false} is VALID [2022-04-28 05:38:47,555 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 05:38:47,555 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:38:47,801 INFO L290 TraceCheckUtils]: 61: Hoare triple {7187#false} assume !false; {7187#false} is VALID [2022-04-28 05:38:47,801 INFO L290 TraceCheckUtils]: 60: Hoare triple {7187#false} assume 0 == ~cond; {7187#false} is VALID [2022-04-28 05:38:47,801 INFO L290 TraceCheckUtils]: 59: Hoare triple {7187#false} ~cond := #in~cond; {7187#false} is VALID [2022-04-28 05:38:47,802 INFO L272 TraceCheckUtils]: 58: Hoare triple {7187#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {7187#false} is VALID [2022-04-28 05:38:47,802 INFO L290 TraceCheckUtils]: 57: Hoare triple {7187#false} assume !(#t~post6 < 100);havoc #t~post6; {7187#false} is VALID [2022-04-28 05:38:47,802 INFO L290 TraceCheckUtils]: 56: Hoare triple {7187#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7187#false} is VALID [2022-04-28 05:38:47,802 INFO L290 TraceCheckUtils]: 55: Hoare triple {7187#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; {7187#false} is VALID [2022-04-28 05:38:47,802 INFO L290 TraceCheckUtils]: 54: Hoare triple {7399#(< |main_#t~post7| 100)} assume !(#t~post7 < 100);havoc #t~post7; {7187#false} is VALID [2022-04-28 05:38:47,802 INFO L290 TraceCheckUtils]: 53: Hoare triple {7403#(< ~counter~0 100)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7399#(< |main_#t~post7| 100)} is VALID [2022-04-28 05:38:47,803 INFO L290 TraceCheckUtils]: 52: Hoare triple {7403#(< ~counter~0 100)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {7403#(< ~counter~0 100)} is VALID [2022-04-28 05:38:47,803 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7186#true} {7403#(< ~counter~0 100)} #92#return; {7403#(< ~counter~0 100)} is VALID [2022-04-28 05:38:47,803 INFO L290 TraceCheckUtils]: 50: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 05:38:47,804 INFO L290 TraceCheckUtils]: 49: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 05:38:47,804 INFO L290 TraceCheckUtils]: 48: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 05:38:47,804 INFO L272 TraceCheckUtils]: 47: Hoare triple {7403#(< ~counter~0 100)} 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)); {7186#true} is VALID [2022-04-28 05:38:47,804 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7186#true} {7403#(< ~counter~0 100)} #90#return; {7403#(< ~counter~0 100)} is VALID [2022-04-28 05:38:47,804 INFO L290 TraceCheckUtils]: 45: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 05:38:47,804 INFO L290 TraceCheckUtils]: 44: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 05:38:47,804 INFO L290 TraceCheckUtils]: 43: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 05:38:47,805 INFO L272 TraceCheckUtils]: 42: Hoare triple {7403#(< ~counter~0 100)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7186#true} is VALID [2022-04-28 05:38:47,805 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7186#true} {7403#(< ~counter~0 100)} #88#return; {7403#(< ~counter~0 100)} is VALID [2022-04-28 05:38:47,805 INFO L290 TraceCheckUtils]: 40: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 05:38:47,805 INFO L290 TraceCheckUtils]: 39: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 05:38:47,805 INFO L290 TraceCheckUtils]: 38: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 05:38:47,805 INFO L272 TraceCheckUtils]: 37: Hoare triple {7403#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7186#true} is VALID [2022-04-28 05:38:47,806 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7186#true} {7403#(< ~counter~0 100)} #86#return; {7403#(< ~counter~0 100)} is VALID [2022-04-28 05:38:47,806 INFO L290 TraceCheckUtils]: 35: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 05:38:47,806 INFO L290 TraceCheckUtils]: 34: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 05:38:47,806 INFO L290 TraceCheckUtils]: 33: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 05:38:47,806 INFO L272 TraceCheckUtils]: 32: Hoare triple {7403#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7186#true} is VALID [2022-04-28 05:38:47,806 INFO L290 TraceCheckUtils]: 31: Hoare triple {7403#(< ~counter~0 100)} assume !!(#t~post7 < 100);havoc #t~post7; {7403#(< ~counter~0 100)} is VALID [2022-04-28 05:38:47,807 INFO L290 TraceCheckUtils]: 30: Hoare triple {7473#(< ~counter~0 99)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7403#(< ~counter~0 100)} is VALID [2022-04-28 05:38:47,807 INFO L290 TraceCheckUtils]: 29: Hoare triple {7473#(< ~counter~0 99)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7473#(< ~counter~0 99)} is VALID [2022-04-28 05:38:47,808 INFO L290 TraceCheckUtils]: 28: Hoare triple {7473#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {7473#(< ~counter~0 99)} is VALID [2022-04-28 05:38:47,808 INFO L290 TraceCheckUtils]: 27: Hoare triple {7483#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7473#(< ~counter~0 99)} is VALID [2022-04-28 05:38:47,808 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7186#true} {7483#(< ~counter~0 98)} #84#return; {7483#(< ~counter~0 98)} is VALID [2022-04-28 05:38:47,809 INFO L290 TraceCheckUtils]: 25: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 05:38:47,809 INFO L290 TraceCheckUtils]: 24: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 05:38:47,809 INFO L290 TraceCheckUtils]: 23: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 05:38:47,809 INFO L272 TraceCheckUtils]: 22: Hoare triple {7483#(< ~counter~0 98)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {7186#true} is VALID [2022-04-28 05:38:47,811 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7186#true} {7483#(< ~counter~0 98)} #82#return; {7483#(< ~counter~0 98)} is VALID [2022-04-28 05:38:47,811 INFO L290 TraceCheckUtils]: 20: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 05:38:47,811 INFO L290 TraceCheckUtils]: 19: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 05:38:47,811 INFO L290 TraceCheckUtils]: 18: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 05:38:47,811 INFO L272 TraceCheckUtils]: 17: Hoare triple {7483#(< ~counter~0 98)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {7186#true} is VALID [2022-04-28 05:38:47,814 INFO L290 TraceCheckUtils]: 16: Hoare triple {7483#(< ~counter~0 98)} ~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; {7483#(< ~counter~0 98)} is VALID [2022-04-28 05:38:47,814 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7186#true} {7483#(< ~counter~0 98)} #80#return; {7483#(< ~counter~0 98)} is VALID [2022-04-28 05:38:47,814 INFO L290 TraceCheckUtils]: 14: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 05:38:47,814 INFO L290 TraceCheckUtils]: 13: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 05:38:47,814 INFO L290 TraceCheckUtils]: 12: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 05:38:47,815 INFO L272 TraceCheckUtils]: 11: Hoare triple {7483#(< ~counter~0 98)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7186#true} is VALID [2022-04-28 05:38:47,815 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7186#true} {7483#(< ~counter~0 98)} #78#return; {7483#(< ~counter~0 98)} is VALID [2022-04-28 05:38:47,815 INFO L290 TraceCheckUtils]: 9: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 05:38:47,815 INFO L290 TraceCheckUtils]: 8: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 05:38:47,815 INFO L290 TraceCheckUtils]: 7: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 05:38:47,815 INFO L272 TraceCheckUtils]: 6: Hoare triple {7483#(< ~counter~0 98)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7186#true} is VALID [2022-04-28 05:38:47,816 INFO L290 TraceCheckUtils]: 5: Hoare triple {7483#(< ~counter~0 98)} 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; {7483#(< ~counter~0 98)} is VALID [2022-04-28 05:38:47,816 INFO L272 TraceCheckUtils]: 4: Hoare triple {7483#(< ~counter~0 98)} call #t~ret8 := main(); {7483#(< ~counter~0 98)} is VALID [2022-04-28 05:38:47,816 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7483#(< ~counter~0 98)} {7186#true} #98#return; {7483#(< ~counter~0 98)} is VALID [2022-04-28 05:38:47,816 INFO L290 TraceCheckUtils]: 2: Hoare triple {7483#(< ~counter~0 98)} assume true; {7483#(< ~counter~0 98)} is VALID [2022-04-28 05:38:47,817 INFO L290 TraceCheckUtils]: 1: Hoare triple {7186#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);~counter~0 := 0; {7483#(< ~counter~0 98)} is VALID [2022-04-28 05:38:47,817 INFO L272 TraceCheckUtils]: 0: Hoare triple {7186#true} call ULTIMATE.init(); {7186#true} is VALID [2022-04-28 05:38:47,817 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 05:38:47,817 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:38:47,817 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1189276019] [2022-04-28 05:38:47,818 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:38:47,818 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1749142909] [2022-04-28 05:38:47,818 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1749142909] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:38:47,818 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:38:47,818 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 05:38:47,818 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:38:47,818 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1969223000] [2022-04-28 05:38:47,818 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1969223000] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:38:47,818 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:38:47,818 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 05:38:47,819 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [80324135] [2022-04-28 05:38:47,819 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:38:47,819 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 62 [2022-04-28 05:38:47,819 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:38:47,819 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:38:47,852 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:38:47,852 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 05:38:47,852 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:38:47,852 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 05:38:47,853 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 05:38:47,853 INFO L87 Difference]: Start difference. First operand 146 states and 199 transitions. Second operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:38:48,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:48,252 INFO L93 Difference]: Finished difference Result 183 states and 250 transitions. [2022-04-28 05:38:48,252 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 05:38:48,252 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 62 [2022-04-28 05:38:48,253 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:38:48,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:38:48,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 95 transitions. [2022-04-28 05:38:48,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:38:48,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 95 transitions. [2022-04-28 05:38:48,256 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 95 transitions. [2022-04-28 05:38:48,337 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:38:48,340 INFO L225 Difference]: With dead ends: 183 [2022-04-28 05:38:48,341 INFO L226 Difference]: Without dead ends: 146 [2022-04-28 05:38:48,341 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 115 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2022-04-28 05:38:48,342 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 16 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 31 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 31 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:38:48,342 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 143 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 31 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:38:48,342 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 146 states. [2022-04-28 05:38:48,559 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 146 to 146. [2022-04-28 05:38:48,559 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:38:48,560 INFO L82 GeneralOperation]: Start isEquivalent. First operand 146 states. Second operand has 146 states, 90 states have (on average 1.2666666666666666) internal successors, (114), 94 states have internal predecessors, (114), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 05:38:48,560 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand has 146 states, 90 states have (on average 1.2666666666666666) internal successors, (114), 94 states have internal predecessors, (114), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 05:38:48,561 INFO L87 Difference]: Start difference. First operand 146 states. Second operand has 146 states, 90 states have (on average 1.2666666666666666) internal successors, (114), 94 states have internal predecessors, (114), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 05:38:48,565 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:48,565 INFO L93 Difference]: Finished difference Result 146 states and 198 transitions. [2022-04-28 05:38:48,565 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 198 transitions. [2022-04-28 05:38:48,565 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:38:48,566 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:38:48,566 INFO L74 IsIncluded]: Start isIncluded. First operand has 146 states, 90 states have (on average 1.2666666666666666) internal successors, (114), 94 states have internal predecessors, (114), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) Second operand 146 states. [2022-04-28 05:38:48,566 INFO L87 Difference]: Start difference. First operand has 146 states, 90 states have (on average 1.2666666666666666) internal successors, (114), 94 states have internal predecessors, (114), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) Second operand 146 states. [2022-04-28 05:38:48,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:48,570 INFO L93 Difference]: Finished difference Result 146 states and 198 transitions. [2022-04-28 05:38:48,570 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 198 transitions. [2022-04-28 05:38:48,571 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:38:48,571 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:38:48,571 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:38:48,571 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:38:48,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 146 states, 90 states have (on average 1.2666666666666666) internal successors, (114), 94 states have internal predecessors, (114), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 05:38:48,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 146 states to 146 states and 198 transitions. [2022-04-28 05:38:48,576 INFO L78 Accepts]: Start accepts. Automaton has 146 states and 198 transitions. Word has length 62 [2022-04-28 05:38:48,576 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:38:48,576 INFO L495 AbstractCegarLoop]: Abstraction has 146 states and 198 transitions. [2022-04-28 05:38:48,576 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:38:48,576 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 146 states and 198 transitions. [2022-04-28 05:38:48,802 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 198 edges. 198 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:38:48,802 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 198 transitions. [2022-04-28 05:38:48,803 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-28 05:38:48,803 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:38:48,803 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:38:48,819 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 05:38:49,007 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 05:38:49,007 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:38:49,008 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:38:49,008 INFO L85 PathProgramCache]: Analyzing trace with hash -385934262, now seen corresponding path program 1 times [2022-04-28 05:38:49,008 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:38:49,008 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [196452991] [2022-04-28 05:38:49,008 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:38:49,008 INFO L85 PathProgramCache]: Analyzing trace with hash -385934262, now seen corresponding path program 2 times [2022-04-28 05:38:49,008 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:38:49,008 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [291572497] [2022-04-28 05:38:49,008 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:38:49,008 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:38:49,019 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:38:49,019 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [966084401] [2022-04-28 05:38:49,019 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:38:49,019 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:38:49,019 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:38:49,020 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:38:49,047 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 05:38:49,080 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:38:49,081 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:38:49,081 INFO L263 TraceCheckSpWp]: Trace formula consists of 220 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 05:38:49,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:38:49,095 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:38:49,382 INFO L272 TraceCheckUtils]: 0: Hoare triple {8519#true} call ULTIMATE.init(); {8519#true} is VALID [2022-04-28 05:38:49,383 INFO L290 TraceCheckUtils]: 1: Hoare triple {8519#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);~counter~0 := 0; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,383 INFO L290 TraceCheckUtils]: 2: Hoare triple {8527#(<= ~counter~0 0)} assume true; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,383 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8527#(<= ~counter~0 0)} {8519#true} #98#return; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,384 INFO L272 TraceCheckUtils]: 4: Hoare triple {8527#(<= ~counter~0 0)} call #t~ret8 := main(); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,384 INFO L290 TraceCheckUtils]: 5: Hoare triple {8527#(<= ~counter~0 0)} 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; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,384 INFO L272 TraceCheckUtils]: 6: Hoare triple {8527#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,385 INFO L290 TraceCheckUtils]: 7: Hoare triple {8527#(<= ~counter~0 0)} ~cond := #in~cond; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,385 INFO L290 TraceCheckUtils]: 8: Hoare triple {8527#(<= ~counter~0 0)} assume !(0 == ~cond); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,385 INFO L290 TraceCheckUtils]: 9: Hoare triple {8527#(<= ~counter~0 0)} assume true; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,385 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8527#(<= ~counter~0 0)} {8527#(<= ~counter~0 0)} #78#return; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,386 INFO L272 TraceCheckUtils]: 11: Hoare triple {8527#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,386 INFO L290 TraceCheckUtils]: 12: Hoare triple {8527#(<= ~counter~0 0)} ~cond := #in~cond; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,386 INFO L290 TraceCheckUtils]: 13: Hoare triple {8527#(<= ~counter~0 0)} assume !(0 == ~cond); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,387 INFO L290 TraceCheckUtils]: 14: Hoare triple {8527#(<= ~counter~0 0)} assume true; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,387 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8527#(<= ~counter~0 0)} {8527#(<= ~counter~0 0)} #80#return; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,388 INFO L290 TraceCheckUtils]: 16: Hoare triple {8527#(<= ~counter~0 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; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,388 INFO L272 TraceCheckUtils]: 17: Hoare triple {8527#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,389 INFO L290 TraceCheckUtils]: 18: Hoare triple {8527#(<= ~counter~0 0)} ~cond := #in~cond; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,389 INFO L290 TraceCheckUtils]: 19: Hoare triple {8527#(<= ~counter~0 0)} assume !(0 == ~cond); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,389 INFO L290 TraceCheckUtils]: 20: Hoare triple {8527#(<= ~counter~0 0)} assume true; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,390 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8527#(<= ~counter~0 0)} {8527#(<= ~counter~0 0)} #82#return; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,390 INFO L272 TraceCheckUtils]: 22: Hoare triple {8527#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,390 INFO L290 TraceCheckUtils]: 23: Hoare triple {8527#(<= ~counter~0 0)} ~cond := #in~cond; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,391 INFO L290 TraceCheckUtils]: 24: Hoare triple {8527#(<= ~counter~0 0)} assume !(0 == ~cond); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,391 INFO L290 TraceCheckUtils]: 25: Hoare triple {8527#(<= ~counter~0 0)} assume true; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,391 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8527#(<= ~counter~0 0)} {8527#(<= ~counter~0 0)} #84#return; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 05:38:49,392 INFO L290 TraceCheckUtils]: 27: Hoare triple {8527#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8606#(<= ~counter~0 1)} is VALID [2022-04-28 05:38:49,392 INFO L290 TraceCheckUtils]: 28: Hoare triple {8606#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {8606#(<= ~counter~0 1)} is VALID [2022-04-28 05:38:49,393 INFO L290 TraceCheckUtils]: 29: Hoare triple {8606#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8606#(<= ~counter~0 1)} is VALID [2022-04-28 05:38:49,393 INFO L290 TraceCheckUtils]: 30: Hoare triple {8606#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,393 INFO L290 TraceCheckUtils]: 31: Hoare triple {8616#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,394 INFO L272 TraceCheckUtils]: 32: Hoare triple {8616#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,394 INFO L290 TraceCheckUtils]: 33: Hoare triple {8616#(<= ~counter~0 2)} ~cond := #in~cond; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,394 INFO L290 TraceCheckUtils]: 34: Hoare triple {8616#(<= ~counter~0 2)} assume !(0 == ~cond); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,395 INFO L290 TraceCheckUtils]: 35: Hoare triple {8616#(<= ~counter~0 2)} assume true; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,395 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8616#(<= ~counter~0 2)} {8616#(<= ~counter~0 2)} #86#return; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,396 INFO L272 TraceCheckUtils]: 37: Hoare triple {8616#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,396 INFO L290 TraceCheckUtils]: 38: Hoare triple {8616#(<= ~counter~0 2)} ~cond := #in~cond; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,396 INFO L290 TraceCheckUtils]: 39: Hoare triple {8616#(<= ~counter~0 2)} assume !(0 == ~cond); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,397 INFO L290 TraceCheckUtils]: 40: Hoare triple {8616#(<= ~counter~0 2)} assume true; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,397 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8616#(<= ~counter~0 2)} {8616#(<= ~counter~0 2)} #88#return; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,399 INFO L272 TraceCheckUtils]: 42: Hoare triple {8616#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,399 INFO L290 TraceCheckUtils]: 43: Hoare triple {8616#(<= ~counter~0 2)} ~cond := #in~cond; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,399 INFO L290 TraceCheckUtils]: 44: Hoare triple {8616#(<= ~counter~0 2)} assume !(0 == ~cond); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,399 INFO L290 TraceCheckUtils]: 45: Hoare triple {8616#(<= ~counter~0 2)} assume true; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,400 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8616#(<= ~counter~0 2)} {8616#(<= ~counter~0 2)} #90#return; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,401 INFO L272 TraceCheckUtils]: 47: Hoare triple {8616#(<= ~counter~0 2)} 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)); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,403 INFO L290 TraceCheckUtils]: 48: Hoare triple {8616#(<= ~counter~0 2)} ~cond := #in~cond; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,404 INFO L290 TraceCheckUtils]: 49: Hoare triple {8616#(<= ~counter~0 2)} assume !(0 == ~cond); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,404 INFO L290 TraceCheckUtils]: 50: Hoare triple {8616#(<= ~counter~0 2)} assume true; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,405 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8616#(<= ~counter~0 2)} {8616#(<= ~counter~0 2)} #92#return; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,405 INFO L290 TraceCheckUtils]: 52: Hoare triple {8616#(<= ~counter~0 2)} assume !(~c~0 >= ~b~0); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,405 INFO L290 TraceCheckUtils]: 53: Hoare triple {8616#(<= ~counter~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; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 05:38:49,406 INFO L290 TraceCheckUtils]: 54: Hoare triple {8616#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8689#(<= ~counter~0 3)} is VALID [2022-04-28 05:38:49,407 INFO L290 TraceCheckUtils]: 55: Hoare triple {8689#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {8689#(<= ~counter~0 3)} is VALID [2022-04-28 05:38:49,407 INFO L290 TraceCheckUtils]: 56: Hoare triple {8689#(<= ~counter~0 3)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8689#(<= ~counter~0 3)} is VALID [2022-04-28 05:38:49,407 INFO L290 TraceCheckUtils]: 57: Hoare triple {8689#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8699#(<= |main_#t~post7| 3)} is VALID [2022-04-28 05:38:49,408 INFO L290 TraceCheckUtils]: 58: Hoare triple {8699#(<= |main_#t~post7| 3)} assume !(#t~post7 < 100);havoc #t~post7; {8520#false} is VALID [2022-04-28 05:38:49,408 INFO L290 TraceCheckUtils]: 59: Hoare triple {8520#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; {8520#false} is VALID [2022-04-28 05:38:49,408 INFO L290 TraceCheckUtils]: 60: Hoare triple {8520#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8520#false} is VALID [2022-04-28 05:38:49,408 INFO L290 TraceCheckUtils]: 61: Hoare triple {8520#false} assume !(#t~post6 < 100);havoc #t~post6; {8520#false} is VALID [2022-04-28 05:38:49,408 INFO L272 TraceCheckUtils]: 62: Hoare triple {8520#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {8520#false} is VALID [2022-04-28 05:38:49,408 INFO L290 TraceCheckUtils]: 63: Hoare triple {8520#false} ~cond := #in~cond; {8520#false} is VALID [2022-04-28 05:38:49,409 INFO L290 TraceCheckUtils]: 64: Hoare triple {8520#false} assume 0 == ~cond; {8520#false} is VALID [2022-04-28 05:38:49,409 INFO L290 TraceCheckUtils]: 65: Hoare triple {8520#false} assume !false; {8520#false} is VALID [2022-04-28 05:38:49,409 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 13 proven. 5 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 05:38:49,409 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:38:49,702 INFO L290 TraceCheckUtils]: 65: Hoare triple {8520#false} assume !false; {8520#false} is VALID [2022-04-28 05:38:49,703 INFO L290 TraceCheckUtils]: 64: Hoare triple {8520#false} assume 0 == ~cond; {8520#false} is VALID [2022-04-28 05:38:49,703 INFO L290 TraceCheckUtils]: 63: Hoare triple {8520#false} ~cond := #in~cond; {8520#false} is VALID [2022-04-28 05:38:49,703 INFO L272 TraceCheckUtils]: 62: Hoare triple {8520#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {8520#false} is VALID [2022-04-28 05:38:49,703 INFO L290 TraceCheckUtils]: 61: Hoare triple {8520#false} assume !(#t~post6 < 100);havoc #t~post6; {8520#false} is VALID [2022-04-28 05:38:49,703 INFO L290 TraceCheckUtils]: 60: Hoare triple {8520#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8520#false} is VALID [2022-04-28 05:38:49,703 INFO L290 TraceCheckUtils]: 59: Hoare triple {8520#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; {8520#false} is VALID [2022-04-28 05:38:49,703 INFO L290 TraceCheckUtils]: 58: Hoare triple {8745#(< |main_#t~post7| 100)} assume !(#t~post7 < 100);havoc #t~post7; {8520#false} is VALID [2022-04-28 05:38:49,704 INFO L290 TraceCheckUtils]: 57: Hoare triple {8749#(< ~counter~0 100)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8745#(< |main_#t~post7| 100)} is VALID [2022-04-28 05:38:49,704 INFO L290 TraceCheckUtils]: 56: Hoare triple {8749#(< ~counter~0 100)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8749#(< ~counter~0 100)} is VALID [2022-04-28 05:38:49,704 INFO L290 TraceCheckUtils]: 55: Hoare triple {8749#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {8749#(< ~counter~0 100)} is VALID [2022-04-28 05:38:49,705 INFO L290 TraceCheckUtils]: 54: Hoare triple {8759#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8749#(< ~counter~0 100)} is VALID [2022-04-28 05:38:49,705 INFO L290 TraceCheckUtils]: 53: Hoare triple {8759#(< ~counter~0 99)} ~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; {8759#(< ~counter~0 99)} is VALID [2022-04-28 05:38:49,706 INFO L290 TraceCheckUtils]: 52: Hoare triple {8759#(< ~counter~0 99)} assume !(~c~0 >= ~b~0); {8759#(< ~counter~0 99)} is VALID [2022-04-28 05:38:49,706 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8519#true} {8759#(< ~counter~0 99)} #92#return; {8759#(< ~counter~0 99)} is VALID [2022-04-28 05:38:49,706 INFO L290 TraceCheckUtils]: 50: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 05:38:49,706 INFO L290 TraceCheckUtils]: 49: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 05:38:49,707 INFO L290 TraceCheckUtils]: 48: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 05:38:49,707 INFO L272 TraceCheckUtils]: 47: Hoare triple {8759#(< ~counter~0 99)} 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)); {8519#true} is VALID [2022-04-28 05:38:49,709 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8519#true} {8759#(< ~counter~0 99)} #90#return; {8759#(< ~counter~0 99)} is VALID [2022-04-28 05:38:49,709 INFO L290 TraceCheckUtils]: 45: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 05:38:49,709 INFO L290 TraceCheckUtils]: 44: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 05:38:49,709 INFO L290 TraceCheckUtils]: 43: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 05:38:49,709 INFO L272 TraceCheckUtils]: 42: Hoare triple {8759#(< ~counter~0 99)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8519#true} is VALID [2022-04-28 05:38:49,710 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8519#true} {8759#(< ~counter~0 99)} #88#return; {8759#(< ~counter~0 99)} is VALID [2022-04-28 05:38:49,710 INFO L290 TraceCheckUtils]: 40: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 05:38:49,710 INFO L290 TraceCheckUtils]: 39: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 05:38:49,710 INFO L290 TraceCheckUtils]: 38: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 05:38:49,710 INFO L272 TraceCheckUtils]: 37: Hoare triple {8759#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8519#true} is VALID [2022-04-28 05:38:49,711 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8519#true} {8759#(< ~counter~0 99)} #86#return; {8759#(< ~counter~0 99)} is VALID [2022-04-28 05:38:49,711 INFO L290 TraceCheckUtils]: 35: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 05:38:49,711 INFO L290 TraceCheckUtils]: 34: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 05:38:49,711 INFO L290 TraceCheckUtils]: 33: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 05:38:49,711 INFO L272 TraceCheckUtils]: 32: Hoare triple {8759#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8519#true} is VALID [2022-04-28 05:38:49,711 INFO L290 TraceCheckUtils]: 31: Hoare triple {8759#(< ~counter~0 99)} assume !!(#t~post7 < 100);havoc #t~post7; {8759#(< ~counter~0 99)} is VALID [2022-04-28 05:38:49,721 INFO L290 TraceCheckUtils]: 30: Hoare triple {8832#(< ~counter~0 98)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8759#(< ~counter~0 99)} is VALID [2022-04-28 05:38:49,722 INFO L290 TraceCheckUtils]: 29: Hoare triple {8832#(< ~counter~0 98)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8832#(< ~counter~0 98)} is VALID [2022-04-28 05:38:49,722 INFO L290 TraceCheckUtils]: 28: Hoare triple {8832#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {8832#(< ~counter~0 98)} is VALID [2022-04-28 05:38:49,722 INFO L290 TraceCheckUtils]: 27: Hoare triple {8842#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8832#(< ~counter~0 98)} is VALID [2022-04-28 05:38:49,723 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8519#true} {8842#(< ~counter~0 97)} #84#return; {8842#(< ~counter~0 97)} is VALID [2022-04-28 05:38:49,723 INFO L290 TraceCheckUtils]: 25: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 05:38:49,723 INFO L290 TraceCheckUtils]: 24: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 05:38:49,723 INFO L290 TraceCheckUtils]: 23: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 05:38:49,723 INFO L272 TraceCheckUtils]: 22: Hoare triple {8842#(< ~counter~0 97)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8519#true} is VALID [2022-04-28 05:38:49,724 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8519#true} {8842#(< ~counter~0 97)} #82#return; {8842#(< ~counter~0 97)} is VALID [2022-04-28 05:38:49,724 INFO L290 TraceCheckUtils]: 20: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 05:38:49,724 INFO L290 TraceCheckUtils]: 19: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 05:38:49,724 INFO L290 TraceCheckUtils]: 18: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 05:38:49,724 INFO L272 TraceCheckUtils]: 17: Hoare triple {8842#(< ~counter~0 97)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8519#true} is VALID [2022-04-28 05:38:49,724 INFO L290 TraceCheckUtils]: 16: Hoare triple {8842#(< ~counter~0 97)} ~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; {8842#(< ~counter~0 97)} is VALID [2022-04-28 05:38:49,724 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8519#true} {8842#(< ~counter~0 97)} #80#return; {8842#(< ~counter~0 97)} is VALID [2022-04-28 05:38:49,725 INFO L290 TraceCheckUtils]: 14: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 05:38:49,725 INFO L290 TraceCheckUtils]: 13: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 05:38:49,725 INFO L290 TraceCheckUtils]: 12: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 05:38:49,725 INFO L272 TraceCheckUtils]: 11: Hoare triple {8842#(< ~counter~0 97)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8519#true} is VALID [2022-04-28 05:38:49,725 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8519#true} {8842#(< ~counter~0 97)} #78#return; {8842#(< ~counter~0 97)} is VALID [2022-04-28 05:38:49,725 INFO L290 TraceCheckUtils]: 9: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 05:38:49,725 INFO L290 TraceCheckUtils]: 8: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 05:38:49,725 INFO L290 TraceCheckUtils]: 7: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 05:38:49,726 INFO L272 TraceCheckUtils]: 6: Hoare triple {8842#(< ~counter~0 97)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8519#true} is VALID [2022-04-28 05:38:49,726 INFO L290 TraceCheckUtils]: 5: Hoare triple {8842#(< ~counter~0 97)} 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; {8842#(< ~counter~0 97)} is VALID [2022-04-28 05:38:49,726 INFO L272 TraceCheckUtils]: 4: Hoare triple {8842#(< ~counter~0 97)} call #t~ret8 := main(); {8842#(< ~counter~0 97)} is VALID [2022-04-28 05:38:49,726 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8842#(< ~counter~0 97)} {8519#true} #98#return; {8842#(< ~counter~0 97)} is VALID [2022-04-28 05:38:49,727 INFO L290 TraceCheckUtils]: 2: Hoare triple {8842#(< ~counter~0 97)} assume true; {8842#(< ~counter~0 97)} is VALID [2022-04-28 05:38:49,727 INFO L290 TraceCheckUtils]: 1: Hoare triple {8519#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);~counter~0 := 0; {8842#(< ~counter~0 97)} is VALID [2022-04-28 05:38:49,727 INFO L272 TraceCheckUtils]: 0: Hoare triple {8519#true} call ULTIMATE.init(); {8519#true} is VALID [2022-04-28 05:38:49,728 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 13 proven. 5 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 05:38:49,728 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:38:49,728 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [291572497] [2022-04-28 05:38:49,728 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:38:49,728 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [966084401] [2022-04-28 05:38:49,728 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [966084401] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:38:49,728 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:38:49,728 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 05:38:49,728 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:38:49,728 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [196452991] [2022-04-28 05:38:49,728 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [196452991] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:38:49,728 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:38:49,728 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 05:38:49,729 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [532308696] [2022-04-28 05:38:49,729 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:38:49,729 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 66 [2022-04-28 05:38:49,729 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:38:49,729 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:38:49,764 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:38:49,764 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 05:38:49,764 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:38:49,765 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 05:38:49,765 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 05:38:49,765 INFO L87 Difference]: Start difference. First operand 146 states and 198 transitions. Second operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:38:50,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:50,262 INFO L93 Difference]: Finished difference Result 253 states and 351 transitions. [2022-04-28 05:38:50,262 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 05:38:50,262 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 66 [2022-04-28 05:38:50,263 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:38:50,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:38:50,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 114 transitions. [2022-04-28 05:38:50,264 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:38:50,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 114 transitions. [2022-04-28 05:38:50,266 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 114 transitions. [2022-04-28 05:38:50,370 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:38:50,373 INFO L225 Difference]: With dead ends: 253 [2022-04-28 05:38:50,373 INFO L226 Difference]: Without dead ends: 173 [2022-04-28 05:38:50,375 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 121 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=70, Invalid=112, Unknown=0, NotChecked=0, Total=182 [2022-04-28 05:38:50,376 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 29 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 37 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 61 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 37 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:38:50,376 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 155 Invalid, 61 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 37 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:38:50,378 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-28 05:38:50,649 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 171. [2022-04-28 05:38:50,649 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:38:50,649 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 171 states, 108 states have (on average 1.2314814814814814) internal successors, (133), 111 states have internal predecessors, (133), 46 states have call successors, (46), 17 states have call predecessors, (46), 16 states have return successors, (44), 42 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:38:50,650 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 171 states, 108 states have (on average 1.2314814814814814) internal successors, (133), 111 states have internal predecessors, (133), 46 states have call successors, (46), 17 states have call predecessors, (46), 16 states have return successors, (44), 42 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:38:50,650 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 171 states, 108 states have (on average 1.2314814814814814) internal successors, (133), 111 states have internal predecessors, (133), 46 states have call successors, (46), 17 states have call predecessors, (46), 16 states have return successors, (44), 42 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:38:50,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:50,654 INFO L93 Difference]: Finished difference Result 173 states and 225 transitions. [2022-04-28 05:38:50,654 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 225 transitions. [2022-04-28 05:38:50,655 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:38:50,655 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:38:50,655 INFO L74 IsIncluded]: Start isIncluded. First operand has 171 states, 108 states have (on average 1.2314814814814814) internal successors, (133), 111 states have internal predecessors, (133), 46 states have call successors, (46), 17 states have call predecessors, (46), 16 states have return successors, (44), 42 states have call predecessors, (44), 44 states have call successors, (44) Second operand 173 states. [2022-04-28 05:38:50,656 INFO L87 Difference]: Start difference. First operand has 171 states, 108 states have (on average 1.2314814814814814) internal successors, (133), 111 states have internal predecessors, (133), 46 states have call successors, (46), 17 states have call predecessors, (46), 16 states have return successors, (44), 42 states have call predecessors, (44), 44 states have call successors, (44) Second operand 173 states. [2022-04-28 05:38:50,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:50,660 INFO L93 Difference]: Finished difference Result 173 states and 225 transitions. [2022-04-28 05:38:50,660 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 225 transitions. [2022-04-28 05:38:50,661 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:38:50,661 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:38:50,661 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:38:50,661 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:38:50,662 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 171 states, 108 states have (on average 1.2314814814814814) internal successors, (133), 111 states have internal predecessors, (133), 46 states have call successors, (46), 17 states have call predecessors, (46), 16 states have return successors, (44), 42 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:38:50,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 171 states to 171 states and 223 transitions. [2022-04-28 05:38:50,666 INFO L78 Accepts]: Start accepts. Automaton has 171 states and 223 transitions. Word has length 66 [2022-04-28 05:38:50,666 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:38:50,667 INFO L495 AbstractCegarLoop]: Abstraction has 171 states and 223 transitions. [2022-04-28 05:38:50,667 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:38:50,667 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 171 states and 223 transitions. [2022-04-28 05:38:50,911 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 05:38:50,911 INFO L276 IsEmpty]: Start isEmpty. Operand 171 states and 223 transitions. [2022-04-28 05:38:50,912 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-28 05:38:50,912 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:38:50,912 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 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, 1, 1] [2022-04-28 05:38:50,930 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 05:38:51,123 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 05:38:51,124 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:38:51,124 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:38:51,124 INFO L85 PathProgramCache]: Analyzing trace with hash 792554045, now seen corresponding path program 1 times [2022-04-28 05:38:51,124 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:38:51,125 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1539005224] [2022-04-28 05:38:51,125 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:38:51,125 INFO L85 PathProgramCache]: Analyzing trace with hash 792554045, now seen corresponding path program 2 times [2022-04-28 05:38:51,125 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:38:51,125 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [396036263] [2022-04-28 05:38:51,125 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:38:51,126 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:38:51,136 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:38:51,136 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1995622365] [2022-04-28 05:38:51,136 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:38:51,136 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:38:51,137 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:38:51,137 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:38:51,142 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 05:38:51,188 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:38:51,188 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:38:51,189 INFO L263 TraceCheckSpWp]: Trace formula consists of 210 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 05:38:51,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:38:51,202 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:38:51,478 INFO L272 TraceCheckUtils]: 0: Hoare triple {10124#true} call ULTIMATE.init(); {10124#true} is VALID [2022-04-28 05:38:51,478 INFO L290 TraceCheckUtils]: 1: Hoare triple {10124#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);~counter~0 := 0; {10124#true} is VALID [2022-04-28 05:38:51,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 05:38:51,478 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10124#true} {10124#true} #98#return; {10124#true} is VALID [2022-04-28 05:38:51,478 INFO L272 TraceCheckUtils]: 4: Hoare triple {10124#true} call #t~ret8 := main(); {10124#true} is VALID [2022-04-28 05:38:51,478 INFO L290 TraceCheckUtils]: 5: Hoare triple {10124#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; {10124#true} is VALID [2022-04-28 05:38:51,478 INFO L272 TraceCheckUtils]: 6: Hoare triple {10124#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10124#true} is VALID [2022-04-28 05:38:51,478 INFO L290 TraceCheckUtils]: 7: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 05:38:51,479 INFO L290 TraceCheckUtils]: 8: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 05:38:51,479 INFO L290 TraceCheckUtils]: 9: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 05:38:51,479 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10124#true} {10124#true} #78#return; {10124#true} is VALID [2022-04-28 05:38:51,479 INFO L272 TraceCheckUtils]: 11: Hoare triple {10124#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10124#true} is VALID [2022-04-28 05:38:51,479 INFO L290 TraceCheckUtils]: 12: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 05:38:51,479 INFO L290 TraceCheckUtils]: 13: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 05:38:51,479 INFO L290 TraceCheckUtils]: 14: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 05:38:51,479 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10124#true} {10124#true} #80#return; {10124#true} is VALID [2022-04-28 05:38:51,479 INFO L290 TraceCheckUtils]: 16: Hoare triple {10124#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; {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:38:51,480 INFO L272 TraceCheckUtils]: 17: Hoare triple {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {10124#true} is VALID [2022-04-28 05:38:51,480 INFO L290 TraceCheckUtils]: 18: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 05:38:51,480 INFO L290 TraceCheckUtils]: 19: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 05:38:51,480 INFO L290 TraceCheckUtils]: 20: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 05:38:51,481 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10124#true} {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} #82#return; {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:38:51,481 INFO L272 TraceCheckUtils]: 22: Hoare triple {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {10124#true} is VALID [2022-04-28 05:38:51,481 INFO L290 TraceCheckUtils]: 23: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 05:38:51,481 INFO L290 TraceCheckUtils]: 24: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 05:38:51,481 INFO L290 TraceCheckUtils]: 25: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 05:38:51,481 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10124#true} {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} #84#return; {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:38:51,482 INFO L290 TraceCheckUtils]: 27: Hoare triple {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:38:51,482 INFO L290 TraceCheckUtils]: 28: Hoare triple {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:38:51,482 INFO L290 TraceCheckUtils]: 29: Hoare triple {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:38:51,483 INFO L290 TraceCheckUtils]: 30: Hoare triple {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:38:51,483 INFO L290 TraceCheckUtils]: 31: Hoare triple {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !!(#t~post7 < 100);havoc #t~post7; {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:38:51,483 INFO L272 TraceCheckUtils]: 32: Hoare triple {10217#(and (= 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)); {10124#true} is VALID [2022-04-28 05:38:51,483 INFO L290 TraceCheckUtils]: 33: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 05:38:51,483 INFO L290 TraceCheckUtils]: 34: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 05:38:51,483 INFO L290 TraceCheckUtils]: 35: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 05:38:51,484 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10124#true} {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} #86#return; {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:38:51,484 INFO L272 TraceCheckUtils]: 37: Hoare triple {10217#(and (= 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)); {10124#true} is VALID [2022-04-28 05:38:51,484 INFO L290 TraceCheckUtils]: 38: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 05:38:51,484 INFO L290 TraceCheckUtils]: 39: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 05:38:51,484 INFO L290 TraceCheckUtils]: 40: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 05:38:51,485 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10124#true} {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} #88#return; {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:38:51,485 INFO L272 TraceCheckUtils]: 42: Hoare triple {10217#(and (= 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)); {10124#true} is VALID [2022-04-28 05:38:51,485 INFO L290 TraceCheckUtils]: 43: Hoare triple {10124#true} ~cond := #in~cond; {10260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:38:51,485 INFO L290 TraceCheckUtils]: 44: Hoare triple {10260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:38:51,486 INFO L290 TraceCheckUtils]: 45: Hoare triple {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:38:51,486 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} #90#return; {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:38:51,486 INFO L272 TraceCheckUtils]: 47: Hoare triple {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= 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)); {10124#true} is VALID [2022-04-28 05:38:51,486 INFO L290 TraceCheckUtils]: 48: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 05:38:51,487 INFO L290 TraceCheckUtils]: 49: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 05:38:51,487 INFO L290 TraceCheckUtils]: 50: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 05:38:51,487 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10124#true} {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #92#return; {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:38:51,488 INFO L290 TraceCheckUtils]: 52: Hoare triple {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:38:51,488 INFO L290 TraceCheckUtils]: 53: Hoare triple {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= 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; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:38:51,488 INFO L290 TraceCheckUtils]: 54: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:38:51,489 INFO L290 TraceCheckUtils]: 55: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(#t~post6 < 100);havoc #t~post6; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:38:51,489 INFO L290 TraceCheckUtils]: 56: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:38:51,490 INFO L290 TraceCheckUtils]: 57: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:38:51,490 INFO L290 TraceCheckUtils]: 58: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(#t~post7 < 100);havoc #t~post7; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:38:51,490 INFO L272 TraceCheckUtils]: 59: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 05:38:51,490 INFO L290 TraceCheckUtils]: 60: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 05:38:51,490 INFO L290 TraceCheckUtils]: 61: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 05:38:51,490 INFO L290 TraceCheckUtils]: 62: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 05:38:51,491 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {10124#true} {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #86#return; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:38:51,491 INFO L272 TraceCheckUtils]: 64: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10327#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:38:51,492 INFO L290 TraceCheckUtils]: 65: Hoare triple {10327#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10331#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:38:51,492 INFO L290 TraceCheckUtils]: 66: Hoare triple {10331#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10125#false} is VALID [2022-04-28 05:38:51,492 INFO L290 TraceCheckUtils]: 67: Hoare triple {10125#false} assume !false; {10125#false} is VALID [2022-04-28 05:38:51,492 INFO L134 CoverageAnalysis]: Checked inductivity of 81 backedges. 15 proven. 14 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-28 05:38:51,492 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:39:07,173 INFO L290 TraceCheckUtils]: 67: Hoare triple {10125#false} assume !false; {10125#false} is VALID [2022-04-28 05:39:07,174 INFO L290 TraceCheckUtils]: 66: Hoare triple {10331#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10125#false} is VALID [2022-04-28 05:39:07,174 INFO L290 TraceCheckUtils]: 65: Hoare triple {10327#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10331#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:39:07,175 INFO L272 TraceCheckUtils]: 64: Hoare triple {10347#(= 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)); {10327#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:39:07,176 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {10124#true} {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #86#return; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:39:07,176 INFO L290 TraceCheckUtils]: 62: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 05:39:07,176 INFO L290 TraceCheckUtils]: 61: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 05:39:07,176 INFO L290 TraceCheckUtils]: 60: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 05:39:07,176 INFO L272 TraceCheckUtils]: 59: Hoare triple {10347#(= 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)); {10124#true} is VALID [2022-04-28 05:39:07,176 INFO L290 TraceCheckUtils]: 58: Hoare triple {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:39:07,177 INFO L290 TraceCheckUtils]: 57: Hoare triple {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:39:07,177 INFO L290 TraceCheckUtils]: 56: Hoare triple {10347#(= 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; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:39:07,177 INFO L290 TraceCheckUtils]: 55: Hoare triple {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:39:07,178 INFO L290 TraceCheckUtils]: 54: Hoare triple {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:39:07,178 INFO L290 TraceCheckUtils]: 53: Hoare triple {10381#(= 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; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:39:07,178 INFO L290 TraceCheckUtils]: 52: Hoare triple {10381#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {10381#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:39:07,179 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10124#true} {10381#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #92#return; {10381#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:39:07,179 INFO L290 TraceCheckUtils]: 50: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 05:39:07,179 INFO L290 TraceCheckUtils]: 49: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 05:39:07,179 INFO L290 TraceCheckUtils]: 48: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 05:39:07,179 INFO L272 TraceCheckUtils]: 47: Hoare triple {10381#(= 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)); {10124#true} is VALID [2022-04-28 05:39:07,180 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} {10124#true} #90#return; {10381#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:39:07,180 INFO L290 TraceCheckUtils]: 45: Hoare triple {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:39:07,180 INFO L290 TraceCheckUtils]: 44: Hoare triple {10412#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:39:07,181 INFO L290 TraceCheckUtils]: 43: Hoare triple {10124#true} ~cond := #in~cond; {10412#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:39:07,181 INFO L272 TraceCheckUtils]: 42: Hoare triple {10124#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 05:39:07,181 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10124#true} {10124#true} #88#return; {10124#true} is VALID [2022-04-28 05:39:07,181 INFO L290 TraceCheckUtils]: 40: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 05:39:07,181 INFO L290 TraceCheckUtils]: 39: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 05:39:07,181 INFO L290 TraceCheckUtils]: 38: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 05:39:07,181 INFO L272 TraceCheckUtils]: 37: Hoare triple {10124#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 05:39:07,181 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10124#true} {10124#true} #86#return; {10124#true} is VALID [2022-04-28 05:39:07,181 INFO L290 TraceCheckUtils]: 35: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 05:39:07,181 INFO L290 TraceCheckUtils]: 34: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 05:39:07,181 INFO L290 TraceCheckUtils]: 33: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 05:39:07,182 INFO L272 TraceCheckUtils]: 32: Hoare triple {10124#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 05:39:07,182 INFO L290 TraceCheckUtils]: 31: Hoare triple {10124#true} assume !!(#t~post7 < 100);havoc #t~post7; {10124#true} is VALID [2022-04-28 05:39:07,182 INFO L290 TraceCheckUtils]: 30: Hoare triple {10124#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10124#true} is VALID [2022-04-28 05:39:07,182 INFO L290 TraceCheckUtils]: 29: Hoare triple {10124#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10124#true} is VALID [2022-04-28 05:39:07,182 INFO L290 TraceCheckUtils]: 28: Hoare triple {10124#true} assume !!(#t~post6 < 100);havoc #t~post6; {10124#true} is VALID [2022-04-28 05:39:07,182 INFO L290 TraceCheckUtils]: 27: Hoare triple {10124#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10124#true} is VALID [2022-04-28 05:39:07,182 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10124#true} {10124#true} #84#return; {10124#true} is VALID [2022-04-28 05:39:07,182 INFO L290 TraceCheckUtils]: 25: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 05:39:07,182 INFO L290 TraceCheckUtils]: 24: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 05:39:07,182 INFO L290 TraceCheckUtils]: 23: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 05:39:07,182 INFO L272 TraceCheckUtils]: 22: Hoare triple {10124#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {10124#true} is VALID [2022-04-28 05:39:07,182 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10124#true} {10124#true} #82#return; {10124#true} is VALID [2022-04-28 05:39:07,182 INFO L290 TraceCheckUtils]: 20: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 05:39:07,182 INFO L290 TraceCheckUtils]: 19: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 05:39:07,183 INFO L290 TraceCheckUtils]: 18: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 05:39:07,183 INFO L272 TraceCheckUtils]: 17: Hoare triple {10124#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {10124#true} is VALID [2022-04-28 05:39:07,183 INFO L290 TraceCheckUtils]: 16: Hoare triple {10124#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; {10124#true} is VALID [2022-04-28 05:39:07,183 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10124#true} {10124#true} #80#return; {10124#true} is VALID [2022-04-28 05:39:07,183 INFO L290 TraceCheckUtils]: 14: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 05:39:07,183 INFO L290 TraceCheckUtils]: 13: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 05:39:07,183 INFO L290 TraceCheckUtils]: 12: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 05:39:07,183 INFO L272 TraceCheckUtils]: 11: Hoare triple {10124#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10124#true} is VALID [2022-04-28 05:39:07,183 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10124#true} {10124#true} #78#return; {10124#true} is VALID [2022-04-28 05:39:07,183 INFO L290 TraceCheckUtils]: 9: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 05:39:07,183 INFO L290 TraceCheckUtils]: 8: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 05:39:07,183 INFO L290 TraceCheckUtils]: 7: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 05:39:07,183 INFO L272 TraceCheckUtils]: 6: Hoare triple {10124#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10124#true} is VALID [2022-04-28 05:39:07,183 INFO L290 TraceCheckUtils]: 5: Hoare triple {10124#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; {10124#true} is VALID [2022-04-28 05:39:07,184 INFO L272 TraceCheckUtils]: 4: Hoare triple {10124#true} call #t~ret8 := main(); {10124#true} is VALID [2022-04-28 05:39:07,184 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10124#true} {10124#true} #98#return; {10124#true} is VALID [2022-04-28 05:39:07,184 INFO L290 TraceCheckUtils]: 2: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 05:39:07,184 INFO L290 TraceCheckUtils]: 1: Hoare triple {10124#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);~counter~0 := 0; {10124#true} is VALID [2022-04-28 05:39:07,184 INFO L272 TraceCheckUtils]: 0: Hoare triple {10124#true} call ULTIMATE.init(); {10124#true} is VALID [2022-04-28 05:39:07,184 INFO L134 CoverageAnalysis]: Checked inductivity of 81 backedges. 22 proven. 7 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-28 05:39:07,184 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:39:07,185 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [396036263] [2022-04-28 05:39:07,185 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:39:07,185 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1995622365] [2022-04-28 05:39:07,185 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1995622365] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:39:07,185 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:39:07,185 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 13 [2022-04-28 05:39:07,185 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:39:07,185 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1539005224] [2022-04-28 05:39:07,186 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1539005224] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:39:07,186 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:39:07,186 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 05:39:07,186 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [945867644] [2022-04-28 05:39:07,186 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:39:07,186 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Word has length 68 [2022-04-28 05:39:07,186 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:39:07,187 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 05:39:07,226 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:39:07,226 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 05:39:07,226 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:39:07,227 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 05:39:07,227 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=126, Unknown=0, NotChecked=0, Total=156 [2022-04-28 05:39:07,227 INFO L87 Difference]: Start difference. First operand 171 states and 223 transitions. Second operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 05:39:08,358 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:39:08,358 INFO L93 Difference]: Finished difference Result 195 states and 259 transitions. [2022-04-28 05:39:08,358 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 05:39:08,359 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Word has length 68 [2022-04-28 05:39:08,359 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:39:08,359 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 05:39:08,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-28 05:39:08,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 05:39:08,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-28 05:39:08,362 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 97 transitions. [2022-04-28 05:39:08,448 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:39:08,452 INFO L225 Difference]: With dead ends: 195 [2022-04-28 05:39:08,452 INFO L226 Difference]: Without dead ends: 193 [2022-04-28 05:39:08,452 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 139 GetRequests, 123 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-28 05:39:08,452 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 22 mSDsluCounter, 248 mSDsCounter, 0 mSdLazyCounter, 312 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 295 SdHoareTripleChecker+Invalid, 320 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 312 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 05:39:08,453 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 295 Invalid, 320 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 312 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 05:39:08,453 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 193 states. [2022-04-28 05:39:08,755 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 193 to 190. [2022-04-28 05:39:08,755 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:39:08,756 INFO L82 GeneralOperation]: Start isEquivalent. First operand 193 states. Second operand has 190 states, 117 states have (on average 1.2478632478632479) internal successors, (146), 121 states have internal predecessors, (146), 55 states have call successors, (55), 18 states have call predecessors, (55), 17 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:39:08,756 INFO L74 IsIncluded]: Start isIncluded. First operand 193 states. Second operand has 190 states, 117 states have (on average 1.2478632478632479) internal successors, (146), 121 states have internal predecessors, (146), 55 states have call successors, (55), 18 states have call predecessors, (55), 17 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:39:08,756 INFO L87 Difference]: Start difference. First operand 193 states. Second operand has 190 states, 117 states have (on average 1.2478632478632479) internal successors, (146), 121 states have internal predecessors, (146), 55 states have call successors, (55), 18 states have call predecessors, (55), 17 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:39:08,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:39:08,761 INFO L93 Difference]: Finished difference Result 193 states and 257 transitions. [2022-04-28 05:39:08,761 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 257 transitions. [2022-04-28 05:39:08,761 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:39:08,762 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:39:08,762 INFO L74 IsIncluded]: Start isIncluded. First operand has 190 states, 117 states have (on average 1.2478632478632479) internal successors, (146), 121 states have internal predecessors, (146), 55 states have call successors, (55), 18 states have call predecessors, (55), 17 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) Second operand 193 states. [2022-04-28 05:39:08,762 INFO L87 Difference]: Start difference. First operand has 190 states, 117 states have (on average 1.2478632478632479) internal successors, (146), 121 states have internal predecessors, (146), 55 states have call successors, (55), 18 states have call predecessors, (55), 17 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) Second operand 193 states. [2022-04-28 05:39:08,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:39:08,768 INFO L93 Difference]: Finished difference Result 193 states and 257 transitions. [2022-04-28 05:39:08,768 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 257 transitions. [2022-04-28 05:39:08,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:39:08,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:39:08,769 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:39:08,769 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:39:08,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 190 states, 117 states have (on average 1.2478632478632479) internal successors, (146), 121 states have internal predecessors, (146), 55 states have call successors, (55), 18 states have call predecessors, (55), 17 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:39:08,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 190 states to 190 states and 254 transitions. [2022-04-28 05:39:08,775 INFO L78 Accepts]: Start accepts. Automaton has 190 states and 254 transitions. Word has length 68 [2022-04-28 05:39:08,775 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:39:08,775 INFO L495 AbstractCegarLoop]: Abstraction has 190 states and 254 transitions. [2022-04-28 05:39:08,776 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 05:39:08,776 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 190 states and 254 transitions. [2022-04-28 05:39:09,094 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 254 edges. 254 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:39:09,094 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 254 transitions. [2022-04-28 05:39:09,095 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-28 05:39:09,095 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:39:09,095 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 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] [2022-04-28 05:39:09,115 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Ended with exit code 0 [2022-04-28 05:39:09,311 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 05:39:09,311 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:39:09,312 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:39:09,312 INFO L85 PathProgramCache]: Analyzing trace with hash 783638790, now seen corresponding path program 3 times [2022-04-28 05:39:09,312 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:39:09,312 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1908873584] [2022-04-28 05:39:09,312 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:39:09,312 INFO L85 PathProgramCache]: Analyzing trace with hash 783638790, now seen corresponding path program 4 times [2022-04-28 05:39:09,313 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:39:09,313 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1849453219] [2022-04-28 05:39:09,313 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:39:09,313 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:39:09,325 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:39:09,325 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1571475044] [2022-04-28 05:39:09,325 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:39:09,325 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:39:09,325 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:39:09,326 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:39:09,349 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 05:39:09,385 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:39:09,385 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:39:09,386 INFO L263 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 05:39:09,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:39:09,399 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:39:12,179 INFO L272 TraceCheckUtils]: 0: Hoare triple {11708#true} call ULTIMATE.init(); {11708#true} is VALID [2022-04-28 05:39:12,179 INFO L290 TraceCheckUtils]: 1: Hoare triple {11708#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);~counter~0 := 0; {11708#true} is VALID [2022-04-28 05:39:12,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 05:39:12,180 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11708#true} {11708#true} #98#return; {11708#true} is VALID [2022-04-28 05:39:12,180 INFO L272 TraceCheckUtils]: 4: Hoare triple {11708#true} call #t~ret8 := main(); {11708#true} is VALID [2022-04-28 05:39:12,180 INFO L290 TraceCheckUtils]: 5: Hoare triple {11708#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; {11708#true} is VALID [2022-04-28 05:39:12,180 INFO L272 TraceCheckUtils]: 6: Hoare triple {11708#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11708#true} is VALID [2022-04-28 05:39:12,180 INFO L290 TraceCheckUtils]: 7: Hoare triple {11708#true} ~cond := #in~cond; {11734#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:39:12,180 INFO L290 TraceCheckUtils]: 8: Hoare triple {11734#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {11738#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:39:12,181 INFO L290 TraceCheckUtils]: 9: Hoare triple {11738#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11738#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:39:12,182 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11738#(not (= |assume_abort_if_not_#in~cond| 0))} {11708#true} #78#return; {11745#(<= 1 main_~x~0)} is VALID [2022-04-28 05:39:12,182 INFO L272 TraceCheckUtils]: 11: Hoare triple {11745#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11708#true} is VALID [2022-04-28 05:39:12,182 INFO L290 TraceCheckUtils]: 12: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 05:39:12,182 INFO L290 TraceCheckUtils]: 13: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 05:39:12,182 INFO L290 TraceCheckUtils]: 14: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 05:39:12,183 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11708#true} {11745#(<= 1 main_~x~0)} #80#return; {11745#(<= 1 main_~x~0)} is VALID [2022-04-28 05:39:12,183 INFO L290 TraceCheckUtils]: 16: Hoare triple {11745#(<= 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; {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:12,183 INFO L272 TraceCheckUtils]: 17: Hoare triple {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 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)); {11708#true} is VALID [2022-04-28 05:39:12,183 INFO L290 TraceCheckUtils]: 18: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 05:39:12,184 INFO L290 TraceCheckUtils]: 19: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 05:39:12,184 INFO L290 TraceCheckUtils]: 20: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 05:39:12,184 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11708#true} {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:12,184 INFO L272 TraceCheckUtils]: 22: Hoare triple {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 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)); {11708#true} is VALID [2022-04-28 05:39:12,184 INFO L290 TraceCheckUtils]: 23: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 05:39:12,184 INFO L290 TraceCheckUtils]: 24: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 05:39:12,185 INFO L290 TraceCheckUtils]: 25: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 05:39:12,185 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11708#true} {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:12,186 INFO L290 TraceCheckUtils]: 27: Hoare triple {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:12,186 INFO L290 TraceCheckUtils]: 28: Hoare triple {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:12,186 INFO L290 TraceCheckUtils]: 29: Hoare triple {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 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; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:12,187 INFO L290 TraceCheckUtils]: 30: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:12,187 INFO L290 TraceCheckUtils]: 31: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:12,187 INFO L272 TraceCheckUtils]: 32: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11708#true} is VALID [2022-04-28 05:39:12,187 INFO L290 TraceCheckUtils]: 33: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 05:39:12,187 INFO L290 TraceCheckUtils]: 34: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 05:39:12,188 INFO L290 TraceCheckUtils]: 35: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 05:39:12,188 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11708#true} {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #86#return; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:12,188 INFO L272 TraceCheckUtils]: 37: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11708#true} is VALID [2022-04-28 05:39:12,188 INFO L290 TraceCheckUtils]: 38: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 05:39:12,188 INFO L290 TraceCheckUtils]: 39: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 05:39:12,189 INFO L290 TraceCheckUtils]: 40: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 05:39:12,189 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11708#true} {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #88#return; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:12,189 INFO L272 TraceCheckUtils]: 42: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11708#true} is VALID [2022-04-28 05:39:12,189 INFO L290 TraceCheckUtils]: 43: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 05:39:12,189 INFO L290 TraceCheckUtils]: 44: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 05:39:12,190 INFO L290 TraceCheckUtils]: 45: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 05:39:12,190 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {11708#true} {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #90#return; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:12,190 INFO L272 TraceCheckUtils]: 47: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11708#true} is VALID [2022-04-28 05:39:12,190 INFO L290 TraceCheckUtils]: 48: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 05:39:12,190 INFO L290 TraceCheckUtils]: 49: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 05:39:12,191 INFO L290 TraceCheckUtils]: 50: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 05:39:12,191 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11708#true} {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #92#return; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:12,192 INFO L290 TraceCheckUtils]: 52: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {11874#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (= main_~k~0 0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:12,192 INFO L290 TraceCheckUtils]: 53: Hoare triple {11874#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (= main_~k~0 0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11878#(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 05:39:12,193 INFO L290 TraceCheckUtils]: 54: Hoare triple {11878#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11878#(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 05:39:12,193 INFO L290 TraceCheckUtils]: 55: Hoare triple {11878#(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 !!(#t~post6 < 100);havoc #t~post6; {11878#(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 05:39:12,194 INFO L290 TraceCheckUtils]: 56: Hoare triple {11878#(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; {11878#(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 05:39:12,194 INFO L290 TraceCheckUtils]: 57: Hoare triple {11878#(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))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11878#(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 05:39:12,194 INFO L290 TraceCheckUtils]: 58: Hoare triple {11878#(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 !!(#t~post7 < 100);havoc #t~post7; {11878#(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 05:39:12,195 INFO L272 TraceCheckUtils]: 59: Hoare triple {11878#(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)); {11708#true} is VALID [2022-04-28 05:39:12,195 INFO L290 TraceCheckUtils]: 60: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 05:39:12,195 INFO L290 TraceCheckUtils]: 61: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 05:39:12,195 INFO L290 TraceCheckUtils]: 62: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 05:39:12,195 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {11708#true} {11878#(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; {11878#(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 05:39:12,196 INFO L272 TraceCheckUtils]: 64: Hoare triple {11878#(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)); {11708#true} is VALID [2022-04-28 05:39:12,196 INFO L290 TraceCheckUtils]: 65: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 05:39:12,196 INFO L290 TraceCheckUtils]: 66: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 05:39:12,196 INFO L290 TraceCheckUtils]: 67: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 05:39:12,196 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {11708#true} {11878#(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))} #88#return; {11878#(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 05:39:12,197 INFO L272 TraceCheckUtils]: 69: Hoare triple {11878#(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)); {11927#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:39:12,197 INFO L290 TraceCheckUtils]: 70: Hoare triple {11927#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11931#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:39:12,198 INFO L290 TraceCheckUtils]: 71: Hoare triple {11931#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11709#false} is VALID [2022-04-28 05:39:12,198 INFO L290 TraceCheckUtils]: 72: Hoare triple {11709#false} assume !false; {11709#false} is VALID [2022-04-28 05:39:12,198 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 12 proven. 17 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2022-04-28 05:39:12,198 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:40:36,690 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:40:36,690 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1849453219] [2022-04-28 05:40:36,691 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:40:36,691 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1571475044] [2022-04-28 05:40:36,691 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1571475044] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 05:40:36,691 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:40:36,691 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-28 05:40:36,691 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:40:36,691 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1908873584] [2022-04-28 05:40:36,691 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1908873584] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:40:36,691 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:40:36,691 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 05:40:36,691 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [892476959] [2022-04-28 05:40:36,691 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:40:36,692 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 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 73 [2022-04-28 05:40:36,692 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:40:36,692 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 05:40:36,736 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:40:36,736 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 05:40:36,737 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:40:36,737 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 05:40:36,737 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2022-04-28 05:40:36,737 INFO L87 Difference]: Start difference. First operand 190 states and 254 transitions. Second operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 05:40:38,157 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:40:38,157 INFO L93 Difference]: Finished difference Result 199 states and 262 transitions. [2022-04-28 05:40:38,158 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 05:40:38,158 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 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 73 [2022-04-28 05:40:38,158 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:40:38,158 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 05:40:38,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 05:40:38,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 05:40:38,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 05:40:38,161 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-28 05:40:38,257 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:40:38,260 INFO L225 Difference]: With dead ends: 199 [2022-04-28 05:40:38,260 INFO L226 Difference]: Without dead ends: 197 [2022-04-28 05:40:38,261 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 80 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=63, Invalid=279, Unknown=0, NotChecked=0, Total=342 [2022-04-28 05:40:38,261 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 39 mSDsluCounter, 252 mSDsCounter, 0 mSdLazyCounter, 321 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 303 SdHoareTripleChecker+Invalid, 336 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 321 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 05:40:38,262 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 303 Invalid, 336 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 321 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 05:40:38,262 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-28 05:40:38,583 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 194. [2022-04-28 05:40:38,583 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:40:38,583 INFO L82 GeneralOperation]: Start isEquivalent. First operand 197 states. Second operand has 194 states, 120 states have (on average 1.2416666666666667) internal successors, (149), 124 states have internal predecessors, (149), 55 states have call successors, (55), 19 states have call predecessors, (55), 18 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:40:38,584 INFO L74 IsIncluded]: Start isIncluded. First operand 197 states. Second operand has 194 states, 120 states have (on average 1.2416666666666667) internal successors, (149), 124 states have internal predecessors, (149), 55 states have call successors, (55), 19 states have call predecessors, (55), 18 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:40:38,584 INFO L87 Difference]: Start difference. First operand 197 states. Second operand has 194 states, 120 states have (on average 1.2416666666666667) internal successors, (149), 124 states have internal predecessors, (149), 55 states have call successors, (55), 19 states have call predecessors, (55), 18 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:40:38,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:40:38,590 INFO L93 Difference]: Finished difference Result 197 states and 260 transitions. [2022-04-28 05:40:38,590 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 260 transitions. [2022-04-28 05:40:38,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:40:38,591 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:40:38,591 INFO L74 IsIncluded]: Start isIncluded. First operand has 194 states, 120 states have (on average 1.2416666666666667) internal successors, (149), 124 states have internal predecessors, (149), 55 states have call successors, (55), 19 states have call predecessors, (55), 18 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) Second operand 197 states. [2022-04-28 05:40:38,591 INFO L87 Difference]: Start difference. First operand has 194 states, 120 states have (on average 1.2416666666666667) internal successors, (149), 124 states have internal predecessors, (149), 55 states have call successors, (55), 19 states have call predecessors, (55), 18 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) Second operand 197 states. [2022-04-28 05:40:38,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:40:38,597 INFO L93 Difference]: Finished difference Result 197 states and 260 transitions. [2022-04-28 05:40:38,597 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 260 transitions. [2022-04-28 05:40:38,597 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:40:38,598 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:40:38,598 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:40:38,598 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:40:38,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 194 states, 120 states have (on average 1.2416666666666667) internal successors, (149), 124 states have internal predecessors, (149), 55 states have call successors, (55), 19 states have call predecessors, (55), 18 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:40:38,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 194 states to 194 states and 257 transitions. [2022-04-28 05:40:38,604 INFO L78 Accepts]: Start accepts. Automaton has 194 states and 257 transitions. Word has length 73 [2022-04-28 05:40:38,604 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:40:38,604 INFO L495 AbstractCegarLoop]: Abstraction has 194 states and 257 transitions. [2022-04-28 05:40:38,604 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 05:40:38,604 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 194 states and 257 transitions. [2022-04-28 05:40:38,995 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 257 edges. 257 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:40:38,995 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 257 transitions. [2022-04-28 05:40:38,996 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2022-04-28 05:40:38,996 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:40:38,996 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:40:39,021 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 05:40:39,196 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 05:40:39,197 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:40:39,197 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:40:39,197 INFO L85 PathProgramCache]: Analyzing trace with hash 1625446301, now seen corresponding path program 5 times [2022-04-28 05:40:39,197 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:40:39,197 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1436772414] [2022-04-28 05:40:39,197 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:40:39,197 INFO L85 PathProgramCache]: Analyzing trace with hash 1625446301, now seen corresponding path program 6 times [2022-04-28 05:40:39,198 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:40:39,198 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1284098056] [2022-04-28 05:40:39,198 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:40:39,198 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:40:39,208 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:40:39,208 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [935202102] [2022-04-28 05:40:39,208 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:40:39,208 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:40:39,208 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:40:39,209 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:40:39,211 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 05:40:39,264 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 05:40:39,264 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:40:39,265 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-28 05:40:39,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:40:39,280 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:40:43,750 INFO L272 TraceCheckUtils]: 0: Hoare triple {13195#true} call ULTIMATE.init(); {13195#true} is VALID [2022-04-28 05:40:43,750 INFO L290 TraceCheckUtils]: 1: Hoare triple {13195#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);~counter~0 := 0; {13195#true} is VALID [2022-04-28 05:40:43,750 INFO L290 TraceCheckUtils]: 2: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 05:40:43,750 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13195#true} {13195#true} #98#return; {13195#true} is VALID [2022-04-28 05:40:43,750 INFO L272 TraceCheckUtils]: 4: Hoare triple {13195#true} call #t~ret8 := main(); {13195#true} is VALID [2022-04-28 05:40:43,750 INFO L290 TraceCheckUtils]: 5: Hoare triple {13195#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; {13195#true} is VALID [2022-04-28 05:40:43,750 INFO L272 TraceCheckUtils]: 6: Hoare triple {13195#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13195#true} is VALID [2022-04-28 05:40:43,750 INFO L290 TraceCheckUtils]: 7: Hoare triple {13195#true} ~cond := #in~cond; {13221#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:40:43,751 INFO L290 TraceCheckUtils]: 8: Hoare triple {13221#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {13225#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:40:43,751 INFO L290 TraceCheckUtils]: 9: Hoare triple {13225#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {13225#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:40:43,752 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13225#(not (= |assume_abort_if_not_#in~cond| 0))} {13195#true} #78#return; {13232#(<= 1 main_~x~0)} is VALID [2022-04-28 05:40:43,752 INFO L272 TraceCheckUtils]: 11: Hoare triple {13232#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13195#true} is VALID [2022-04-28 05:40:43,752 INFO L290 TraceCheckUtils]: 12: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 05:40:43,752 INFO L290 TraceCheckUtils]: 13: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 05:40:43,752 INFO L290 TraceCheckUtils]: 14: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 05:40:43,752 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13195#true} {13232#(<= 1 main_~x~0)} #80#return; {13232#(<= 1 main_~x~0)} is VALID [2022-04-28 05:40:43,753 INFO L290 TraceCheckUtils]: 16: Hoare triple {13232#(<= 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; {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:40:43,753 INFO L272 TraceCheckUtils]: 17: Hoare triple {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {13195#true} is VALID [2022-04-28 05:40:43,753 INFO L290 TraceCheckUtils]: 18: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 05:40:43,753 INFO L290 TraceCheckUtils]: 19: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 05:40:43,753 INFO L290 TraceCheckUtils]: 20: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 05:40:43,754 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13195#true} {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:40:43,754 INFO L272 TraceCheckUtils]: 22: Hoare triple {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {13195#true} is VALID [2022-04-28 05:40:43,754 INFO L290 TraceCheckUtils]: 23: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 05:40:43,754 INFO L290 TraceCheckUtils]: 24: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 05:40:43,754 INFO L290 TraceCheckUtils]: 25: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 05:40:43,755 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13195#true} {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:40:43,755 INFO L290 TraceCheckUtils]: 27: Hoare triple {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:40:43,756 INFO L290 TraceCheckUtils]: 28: Hoare triple {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:40:43,756 INFO L290 TraceCheckUtils]: 29: Hoare triple {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13291#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:40:43,756 INFO L290 TraceCheckUtils]: 30: Hoare triple {13291#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13291#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:40:43,757 INFO L290 TraceCheckUtils]: 31: Hoare triple {13291#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {13291#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:40:43,757 INFO L272 TraceCheckUtils]: 32: Hoare triple {13291#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13195#true} is VALID [2022-04-28 05:40:43,757 INFO L290 TraceCheckUtils]: 33: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 05:40:43,757 INFO L290 TraceCheckUtils]: 34: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 05:40:43,757 INFO L290 TraceCheckUtils]: 35: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 05:40:43,758 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13195#true} {13291#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #86#return; {13291#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:40:43,758 INFO L272 TraceCheckUtils]: 37: Hoare triple {13291#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13195#true} is VALID [2022-04-28 05:40:43,758 INFO L290 TraceCheckUtils]: 38: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 05:40:43,758 INFO L290 TraceCheckUtils]: 39: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 05:40:43,758 INFO L290 TraceCheckUtils]: 40: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 05:40:43,759 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13195#true} {13291#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #88#return; {13291#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:40:43,759 INFO L272 TraceCheckUtils]: 42: Hoare triple {13291#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13195#true} is VALID [2022-04-28 05:40:43,759 INFO L290 TraceCheckUtils]: 43: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 05:40:43,759 INFO L290 TraceCheckUtils]: 44: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 05:40:43,759 INFO L290 TraceCheckUtils]: 45: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 05:40:43,760 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {13195#true} {13291#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #90#return; {13291#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:40:43,760 INFO L272 TraceCheckUtils]: 47: Hoare triple {13291#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {13195#true} is VALID [2022-04-28 05:40:43,760 INFO L290 TraceCheckUtils]: 48: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 05:40:43,760 INFO L290 TraceCheckUtils]: 49: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 05:40:43,760 INFO L290 TraceCheckUtils]: 50: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 05:40:43,766 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13195#true} {13291#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #92#return; {13291#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:40:43,766 INFO L290 TraceCheckUtils]: 52: Hoare triple {13291#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {13361#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:40:43,767 INFO L290 TraceCheckUtils]: 53: Hoare triple {13361#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {13365#(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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:40:43,767 INFO L290 TraceCheckUtils]: 54: Hoare triple {13365#(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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13365#(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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:40:43,768 INFO L290 TraceCheckUtils]: 55: Hoare triple {13365#(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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {13365#(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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:40:43,768 INFO L290 TraceCheckUtils]: 56: Hoare triple {13365#(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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13365#(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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:40:43,768 INFO L290 TraceCheckUtils]: 57: Hoare triple {13365#(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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13365#(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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:40:43,769 INFO L290 TraceCheckUtils]: 58: Hoare triple {13365#(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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {13365#(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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:40:43,769 INFO L272 TraceCheckUtils]: 59: Hoare triple {13365#(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) (= 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)); {13195#true} is VALID [2022-04-28 05:40:43,769 INFO L290 TraceCheckUtils]: 60: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 05:40:43,769 INFO L290 TraceCheckUtils]: 61: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 05:40:43,769 INFO L290 TraceCheckUtils]: 62: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 05:40:43,772 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {13195#true} {13365#(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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {13365#(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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:40:43,772 INFO L272 TraceCheckUtils]: 64: Hoare triple {13365#(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) (= 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)); {13195#true} is VALID [2022-04-28 05:40:43,772 INFO L290 TraceCheckUtils]: 65: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 05:40:43,772 INFO L290 TraceCheckUtils]: 66: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 05:40:43,772 INFO L290 TraceCheckUtils]: 67: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 05:40:43,773 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {13195#true} {13365#(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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {13365#(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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:40:43,773 INFO L272 TraceCheckUtils]: 69: Hoare triple {13365#(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) (= 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)); {13195#true} is VALID [2022-04-28 05:40:43,773 INFO L290 TraceCheckUtils]: 70: Hoare triple {13195#true} ~cond := #in~cond; {13417#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:40:43,774 INFO L290 TraceCheckUtils]: 71: Hoare triple {13417#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13421#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:43,774 INFO L290 TraceCheckUtils]: 72: Hoare triple {13421#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13421#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:43,775 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {13421#(not (= |__VERIFIER_assert_#in~cond| 0))} {13365#(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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {13365#(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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:40:43,776 INFO L272 TraceCheckUtils]: 74: Hoare triple {13365#(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) (= 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)); {13431#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:40:43,776 INFO L290 TraceCheckUtils]: 75: Hoare triple {13431#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13435#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:40:43,777 INFO L290 TraceCheckUtils]: 76: Hoare triple {13435#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13196#false} is VALID [2022-04-28 05:40:43,777 INFO L290 TraceCheckUtils]: 77: Hoare triple {13196#false} assume !false; {13196#false} is VALID [2022-04-28 05:40:43,777 INFO L134 CoverageAnalysis]: Checked inductivity of 131 backedges. 31 proven. 19 refuted. 0 times theorem prover too weak. 81 trivial. 0 not checked. [2022-04-28 05:40:43,777 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:41:34,357 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:41:34,357 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1284098056] [2022-04-28 05:41:34,357 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:41:34,357 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [935202102] [2022-04-28 05:41:34,357 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [935202102] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 05:41:34,357 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:41:34,358 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-28 05:41:34,358 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:41:34,358 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1436772414] [2022-04-28 05:41:34,358 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1436772414] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:41:34,358 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:41:34,358 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 05:41:34,358 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [17706120] [2022-04-28 05:41:34,358 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:41:34,359 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 78 [2022-04-28 05:41:34,359 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:41:34,359 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:41:34,408 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:41:34,408 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 05:41:34,408 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:41:34,409 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 05:41:34,409 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=175, Unknown=0, NotChecked=0, Total=210 [2022-04-28 05:41:34,409 INFO L87 Difference]: Start difference. First operand 194 states and 257 transitions. Second operand has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:41:39,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:39,792 INFO L93 Difference]: Finished difference Result 203 states and 265 transitions. [2022-04-28 05:41:39,792 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 05:41:39,792 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 78 [2022-04-28 05:41:39,792 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:41:39,792 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:41:39,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 97 transitions. [2022-04-28 05:41:39,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:41:39,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 97 transitions. [2022-04-28 05:41:39,796 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 97 transitions. [2022-04-28 05:41:39,917 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:41:39,922 INFO L225 Difference]: With dead ends: 203 [2022-04-28 05:41:39,922 INFO L226 Difference]: Without dead ends: 201 [2022-04-28 05:41:39,923 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 67 SyntacticMatches, 2 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=62, Invalid=318, Unknown=0, NotChecked=0, Total=380 [2022-04-28 05:41:39,924 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 55 mSDsluCounter, 193 mSDsCounter, 0 mSdLazyCounter, 413 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 443 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 413 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:41:39,924 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [65 Valid, 230 Invalid, 443 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 413 Invalid, 0 Unknown, 0 Unchecked, 2.0s Time] [2022-04-28 05:41:39,925 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 201 states. [2022-04-28 05:41:40,300 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 201 to 198. [2022-04-28 05:41:40,301 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:41:40,301 INFO L82 GeneralOperation]: Start isEquivalent. First operand 201 states. Second operand has 198 states, 123 states have (on average 1.2357723577235773) internal successors, (152), 127 states have internal predecessors, (152), 55 states have call successors, (55), 20 states have call predecessors, (55), 19 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:41:40,301 INFO L74 IsIncluded]: Start isIncluded. First operand 201 states. Second operand has 198 states, 123 states have (on average 1.2357723577235773) internal successors, (152), 127 states have internal predecessors, (152), 55 states have call successors, (55), 20 states have call predecessors, (55), 19 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:41:40,302 INFO L87 Difference]: Start difference. First operand 201 states. Second operand has 198 states, 123 states have (on average 1.2357723577235773) internal successors, (152), 127 states have internal predecessors, (152), 55 states have call successors, (55), 20 states have call predecessors, (55), 19 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:41:40,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:40,307 INFO L93 Difference]: Finished difference Result 201 states and 263 transitions. [2022-04-28 05:41:40,307 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 263 transitions. [2022-04-28 05:41:40,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:41:40,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:41:40,308 INFO L74 IsIncluded]: Start isIncluded. First operand has 198 states, 123 states have (on average 1.2357723577235773) internal successors, (152), 127 states have internal predecessors, (152), 55 states have call successors, (55), 20 states have call predecessors, (55), 19 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) Second operand 201 states. [2022-04-28 05:41:40,309 INFO L87 Difference]: Start difference. First operand has 198 states, 123 states have (on average 1.2357723577235773) internal successors, (152), 127 states have internal predecessors, (152), 55 states have call successors, (55), 20 states have call predecessors, (55), 19 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) Second operand 201 states. [2022-04-28 05:41:40,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:40,314 INFO L93 Difference]: Finished difference Result 201 states and 263 transitions. [2022-04-28 05:41:40,314 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 263 transitions. [2022-04-28 05:41:40,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:41:40,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:41:40,315 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:41:40,315 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:41:40,315 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 198 states, 123 states have (on average 1.2357723577235773) internal successors, (152), 127 states have internal predecessors, (152), 55 states have call successors, (55), 20 states have call predecessors, (55), 19 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:41:40,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 198 states to 198 states and 260 transitions. [2022-04-28 05:41:40,321 INFO L78 Accepts]: Start accepts. Automaton has 198 states and 260 transitions. Word has length 78 [2022-04-28 05:41:40,321 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:41:40,321 INFO L495 AbstractCegarLoop]: Abstraction has 198 states and 260 transitions. [2022-04-28 05:41:40,321 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:41:40,321 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 198 states and 260 transitions. [2022-04-28 05:41:40,662 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 260 edges. 260 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:41:40,662 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 260 transitions. [2022-04-28 05:41:40,662 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2022-04-28 05:41:40,662 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:41:40,662 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 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, 1] [2022-04-28 05:41:40,687 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-28 05:41:40,875 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 05:41:40,875 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:41:40,876 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:41:40,876 INFO L85 PathProgramCache]: Analyzing trace with hash -1849570232, now seen corresponding path program 3 times [2022-04-28 05:41:40,876 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:41:40,876 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1523655649] [2022-04-28 05:41:40,877 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:41:40,877 INFO L85 PathProgramCache]: Analyzing trace with hash -1849570232, now seen corresponding path program 4 times [2022-04-28 05:41:40,877 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:41:40,877 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [773214162] [2022-04-28 05:41:40,877 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:41:40,877 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:41:40,887 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:41:40,887 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [153281099] [2022-04-28 05:41:40,887 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:41:40,888 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:41:40,888 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:41:40,889 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:41:40,895 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 05:41:40,943 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:41:40,944 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:41:40,945 INFO L263 TraceCheckSpWp]: Trace formula consists of 182 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 05:41:40,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:41:40,963 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:41:41,680 INFO L272 TraceCheckUtils]: 0: Hoare triple {14672#true} call ULTIMATE.init(); {14672#true} is VALID [2022-04-28 05:41:41,680 INFO L290 TraceCheckUtils]: 1: Hoare triple {14672#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);~counter~0 := 0; {14672#true} is VALID [2022-04-28 05:41:41,680 INFO L290 TraceCheckUtils]: 2: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:41,680 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14672#true} {14672#true} #98#return; {14672#true} is VALID [2022-04-28 05:41:41,680 INFO L272 TraceCheckUtils]: 4: Hoare triple {14672#true} call #t~ret8 := main(); {14672#true} is VALID [2022-04-28 05:41:41,680 INFO L290 TraceCheckUtils]: 5: Hoare triple {14672#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; {14672#true} is VALID [2022-04-28 05:41:41,680 INFO L272 TraceCheckUtils]: 6: Hoare triple {14672#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14672#true} is VALID [2022-04-28 05:41:41,680 INFO L290 TraceCheckUtils]: 7: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:41,680 INFO L290 TraceCheckUtils]: 8: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:41,680 INFO L290 TraceCheckUtils]: 9: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:41,681 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14672#true} {14672#true} #78#return; {14672#true} is VALID [2022-04-28 05:41:41,681 INFO L272 TraceCheckUtils]: 11: Hoare triple {14672#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14672#true} is VALID [2022-04-28 05:41:41,681 INFO L290 TraceCheckUtils]: 12: Hoare triple {14672#true} ~cond := #in~cond; {14713#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:41:41,681 INFO L290 TraceCheckUtils]: 13: Hoare triple {14713#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {14717#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:41:41,681 INFO L290 TraceCheckUtils]: 14: Hoare triple {14717#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {14717#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:41:41,682 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14717#(not (= |assume_abort_if_not_#in~cond| 0))} {14672#true} #80#return; {14724#(<= 1 main_~y~0)} is VALID [2022-04-28 05:41:41,682 INFO L290 TraceCheckUtils]: 16: Hoare triple {14724#(<= 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; {14728#(<= 1 main_~b~0)} is VALID [2022-04-28 05:41:41,682 INFO L272 TraceCheckUtils]: 17: Hoare triple {14728#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {14672#true} is VALID [2022-04-28 05:41:41,683 INFO L290 TraceCheckUtils]: 18: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:41,683 INFO L290 TraceCheckUtils]: 19: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:41,683 INFO L290 TraceCheckUtils]: 20: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:41,683 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14672#true} {14728#(<= 1 main_~b~0)} #82#return; {14728#(<= 1 main_~b~0)} is VALID [2022-04-28 05:41:41,683 INFO L272 TraceCheckUtils]: 22: Hoare triple {14728#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {14672#true} is VALID [2022-04-28 05:41:41,683 INFO L290 TraceCheckUtils]: 23: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:41,683 INFO L290 TraceCheckUtils]: 24: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:41,683 INFO L290 TraceCheckUtils]: 25: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:41,684 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14672#true} {14728#(<= 1 main_~b~0)} #84#return; {14728#(<= 1 main_~b~0)} is VALID [2022-04-28 05:41:41,684 INFO L290 TraceCheckUtils]: 27: Hoare triple {14728#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14728#(<= 1 main_~b~0)} is VALID [2022-04-28 05:41:41,684 INFO L290 TraceCheckUtils]: 28: Hoare triple {14728#(<= 1 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {14728#(<= 1 main_~b~0)} is VALID [2022-04-28 05:41:41,685 INFO L290 TraceCheckUtils]: 29: Hoare triple {14728#(<= 1 main_~b~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 05:41:41,685 INFO L290 TraceCheckUtils]: 30: Hoare triple {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 05:41:41,685 INFO L290 TraceCheckUtils]: 31: Hoare triple {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} assume !!(#t~post7 < 100);havoc #t~post7; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 05:41:41,685 INFO L272 TraceCheckUtils]: 32: Hoare triple {14768#(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)); {14672#true} is VALID [2022-04-28 05:41:41,686 INFO L290 TraceCheckUtils]: 33: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:41,686 INFO L290 TraceCheckUtils]: 34: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:41,686 INFO L290 TraceCheckUtils]: 35: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:41,686 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14672#true} {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #86#return; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 05:41:41,686 INFO L272 TraceCheckUtils]: 37: Hoare triple {14768#(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)); {14672#true} is VALID [2022-04-28 05:41:41,686 INFO L290 TraceCheckUtils]: 38: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:41,686 INFO L290 TraceCheckUtils]: 39: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:41,687 INFO L290 TraceCheckUtils]: 40: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:41,688 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14672#true} {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #88#return; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 05:41:41,688 INFO L272 TraceCheckUtils]: 42: Hoare triple {14768#(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)); {14672#true} is VALID [2022-04-28 05:41:41,688 INFO L290 TraceCheckUtils]: 43: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:41,688 INFO L290 TraceCheckUtils]: 44: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:41,688 INFO L290 TraceCheckUtils]: 45: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:41,689 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {14672#true} {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #90#return; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 05:41:41,689 INFO L272 TraceCheckUtils]: 47: Hoare triple {14768#(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)); {14672#true} is VALID [2022-04-28 05:41:41,689 INFO L290 TraceCheckUtils]: 48: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:41,689 INFO L290 TraceCheckUtils]: 49: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:41,690 INFO L290 TraceCheckUtils]: 50: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:41,691 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14672#true} {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #92#return; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 05:41:41,691 INFO L290 TraceCheckUtils]: 52: Hoare triple {14768#(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; {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 05:41:41,692 INFO L290 TraceCheckUtils]: 53: Hoare triple {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 05:41:41,693 INFO L290 TraceCheckUtils]: 54: Hoare triple {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} assume !!(#t~post7 < 100);havoc #t~post7; {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 05:41:41,693 INFO L272 TraceCheckUtils]: 55: Hoare triple {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 05:41:41,693 INFO L290 TraceCheckUtils]: 56: Hoare triple {14672#true} ~cond := #in~cond; {14851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:41:41,694 INFO L290 TraceCheckUtils]: 57: Hoare triple {14851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:41:41,694 INFO L290 TraceCheckUtils]: 58: Hoare triple {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:41:41,695 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} #86#return; {14862#(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 05:41:41,695 INFO L272 TraceCheckUtils]: 60: Hoare triple {14862#(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)); {14672#true} is VALID [2022-04-28 05:41:41,695 INFO L290 TraceCheckUtils]: 61: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:41,695 INFO L290 TraceCheckUtils]: 62: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:41,695 INFO L290 TraceCheckUtils]: 63: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:41,696 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14672#true} {14862#(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; {14862#(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 05:41:41,696 INFO L272 TraceCheckUtils]: 65: Hoare triple {14862#(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)); {14672#true} is VALID [2022-04-28 05:41:41,696 INFO L290 TraceCheckUtils]: 66: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:41,696 INFO L290 TraceCheckUtils]: 67: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:41,697 INFO L290 TraceCheckUtils]: 68: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:41,697 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14672#true} {14862#(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; {14862#(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 05:41:41,698 INFO L272 TraceCheckUtils]: 70: Hoare triple {14862#(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)); {14672#true} is VALID [2022-04-28 05:41:41,698 INFO L290 TraceCheckUtils]: 71: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:41,698 INFO L290 TraceCheckUtils]: 72: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:41,698 INFO L290 TraceCheckUtils]: 73: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:41,699 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {14672#true} {14862#(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))} #92#return; {14862#(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 05:41:41,701 INFO L290 TraceCheckUtils]: 75: Hoare triple {14862#(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; {14911#(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 05:41:41,702 INFO L290 TraceCheckUtils]: 76: Hoare triple {14911#(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))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14911#(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 05:41:41,702 INFO L290 TraceCheckUtils]: 77: Hoare triple {14911#(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 !!(#t~post7 < 100);havoc #t~post7; {14911#(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 05:41:41,703 INFO L272 TraceCheckUtils]: 78: Hoare triple {14911#(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)); {14921#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:41:41,704 INFO L290 TraceCheckUtils]: 79: Hoare triple {14921#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14925#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:41:41,704 INFO L290 TraceCheckUtils]: 80: Hoare triple {14925#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14673#false} is VALID [2022-04-28 05:41:41,704 INFO L290 TraceCheckUtils]: 81: Hoare triple {14673#false} assume !false; {14673#false} is VALID [2022-04-28 05:41:41,705 INFO L134 CoverageAnalysis]: Checked inductivity of 165 backedges. 30 proven. 29 refuted. 0 times theorem prover too weak. 106 trivial. 0 not checked. [2022-04-28 05:41:41,705 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:41:50,026 INFO L290 TraceCheckUtils]: 81: Hoare triple {14673#false} assume !false; {14673#false} is VALID [2022-04-28 05:41:50,026 INFO L290 TraceCheckUtils]: 80: Hoare triple {14925#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14673#false} is VALID [2022-04-28 05:41:50,026 INFO L290 TraceCheckUtils]: 79: Hoare triple {14921#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14925#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:41:50,027 INFO L272 TraceCheckUtils]: 78: Hoare triple {14941#(= 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)); {14921#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:41:50,027 INFO L290 TraceCheckUtils]: 77: Hoare triple {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:41:50,039 INFO L290 TraceCheckUtils]: 76: Hoare triple {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:41:50,052 INFO L290 TraceCheckUtils]: 75: Hoare triple {14941#(= 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; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:41:50,053 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {14672#true} {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #92#return; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:41:50,053 INFO L290 TraceCheckUtils]: 73: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:50,053 INFO L290 TraceCheckUtils]: 72: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:50,053 INFO L290 TraceCheckUtils]: 71: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:50,053 INFO L272 TraceCheckUtils]: 70: Hoare triple {14941#(= 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)); {14672#true} is VALID [2022-04-28 05:41:50,054 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14672#true} {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #90#return; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:41:50,054 INFO L290 TraceCheckUtils]: 68: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:50,054 INFO L290 TraceCheckUtils]: 67: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:50,054 INFO L290 TraceCheckUtils]: 66: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:50,054 INFO L272 TraceCheckUtils]: 65: Hoare triple {14941#(= 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)); {14672#true} is VALID [2022-04-28 05:41:50,055 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14672#true} {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #88#return; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:41:50,055 INFO L290 TraceCheckUtils]: 63: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:50,055 INFO L290 TraceCheckUtils]: 62: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:50,055 INFO L290 TraceCheckUtils]: 61: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:50,055 INFO L272 TraceCheckUtils]: 60: Hoare triple {14941#(= 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)); {14672#true} is VALID [2022-04-28 05:41:50,055 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} {14672#true} #86#return; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:41:50,056 INFO L290 TraceCheckUtils]: 58: Hoare triple {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:41:50,056 INFO L290 TraceCheckUtils]: 57: Hoare triple {15008#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:41:50,056 INFO L290 TraceCheckUtils]: 56: Hoare triple {14672#true} ~cond := #in~cond; {15008#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:41:50,056 INFO L272 TraceCheckUtils]: 55: Hoare triple {14672#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 05:41:50,057 INFO L290 TraceCheckUtils]: 54: Hoare triple {14672#true} assume !!(#t~post7 < 100);havoc #t~post7; {14672#true} is VALID [2022-04-28 05:41:50,057 INFO L290 TraceCheckUtils]: 53: Hoare triple {14672#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14672#true} is VALID [2022-04-28 05:41:50,057 INFO L290 TraceCheckUtils]: 52: Hoare triple {14672#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14672#true} is VALID [2022-04-28 05:41:50,057 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14672#true} {14672#true} #92#return; {14672#true} is VALID [2022-04-28 05:41:50,057 INFO L290 TraceCheckUtils]: 50: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:50,057 INFO L290 TraceCheckUtils]: 49: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:50,057 INFO L290 TraceCheckUtils]: 48: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:50,057 INFO L272 TraceCheckUtils]: 47: Hoare triple {14672#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)); {14672#true} is VALID [2022-04-28 05:41:50,057 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {14672#true} {14672#true} #90#return; {14672#true} is VALID [2022-04-28 05:41:50,057 INFO L290 TraceCheckUtils]: 45: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:50,057 INFO L290 TraceCheckUtils]: 44: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:50,057 INFO L290 TraceCheckUtils]: 43: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:50,057 INFO L272 TraceCheckUtils]: 42: Hoare triple {14672#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 05:41:50,057 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14672#true} {14672#true} #88#return; {14672#true} is VALID [2022-04-28 05:41:50,058 INFO L290 TraceCheckUtils]: 40: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:50,058 INFO L290 TraceCheckUtils]: 39: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:50,058 INFO L290 TraceCheckUtils]: 38: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:50,058 INFO L272 TraceCheckUtils]: 37: Hoare triple {14672#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 05:41:50,058 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14672#true} {14672#true} #86#return; {14672#true} is VALID [2022-04-28 05:41:50,058 INFO L290 TraceCheckUtils]: 35: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:50,058 INFO L290 TraceCheckUtils]: 34: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:50,058 INFO L290 TraceCheckUtils]: 33: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:50,058 INFO L272 TraceCheckUtils]: 32: Hoare triple {14672#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 05:41:50,058 INFO L290 TraceCheckUtils]: 31: Hoare triple {14672#true} assume !!(#t~post7 < 100);havoc #t~post7; {14672#true} is VALID [2022-04-28 05:41:50,058 INFO L290 TraceCheckUtils]: 30: Hoare triple {14672#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14672#true} is VALID [2022-04-28 05:41:50,058 INFO L290 TraceCheckUtils]: 29: Hoare triple {14672#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14672#true} is VALID [2022-04-28 05:41:50,058 INFO L290 TraceCheckUtils]: 28: Hoare triple {14672#true} assume !!(#t~post6 < 100);havoc #t~post6; {14672#true} is VALID [2022-04-28 05:41:50,058 INFO L290 TraceCheckUtils]: 27: Hoare triple {14672#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14672#true} is VALID [2022-04-28 05:41:50,059 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14672#true} {14672#true} #84#return; {14672#true} is VALID [2022-04-28 05:41:50,059 INFO L290 TraceCheckUtils]: 25: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:50,059 INFO L290 TraceCheckUtils]: 24: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:50,059 INFO L290 TraceCheckUtils]: 23: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:50,059 INFO L272 TraceCheckUtils]: 22: Hoare triple {14672#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {14672#true} is VALID [2022-04-28 05:41:50,059 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14672#true} {14672#true} #82#return; {14672#true} is VALID [2022-04-28 05:41:50,059 INFO L290 TraceCheckUtils]: 20: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:50,059 INFO L290 TraceCheckUtils]: 19: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:50,059 INFO L290 TraceCheckUtils]: 18: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:50,059 INFO L272 TraceCheckUtils]: 17: Hoare triple {14672#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {14672#true} is VALID [2022-04-28 05:41:50,059 INFO L290 TraceCheckUtils]: 16: Hoare triple {14672#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; {14672#true} is VALID [2022-04-28 05:41:50,059 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14672#true} {14672#true} #80#return; {14672#true} is VALID [2022-04-28 05:41:50,059 INFO L290 TraceCheckUtils]: 14: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:50,059 INFO L290 TraceCheckUtils]: 13: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:50,059 INFO L290 TraceCheckUtils]: 12: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:50,060 INFO L272 TraceCheckUtils]: 11: Hoare triple {14672#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14672#true} is VALID [2022-04-28 05:41:50,060 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14672#true} {14672#true} #78#return; {14672#true} is VALID [2022-04-28 05:41:50,060 INFO L290 TraceCheckUtils]: 9: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:50,060 INFO L290 TraceCheckUtils]: 8: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 05:41:50,060 INFO L290 TraceCheckUtils]: 7: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 05:41:50,060 INFO L272 TraceCheckUtils]: 6: Hoare triple {14672#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14672#true} is VALID [2022-04-28 05:41:50,060 INFO L290 TraceCheckUtils]: 5: Hoare triple {14672#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; {14672#true} is VALID [2022-04-28 05:41:50,060 INFO L272 TraceCheckUtils]: 4: Hoare triple {14672#true} call #t~ret8 := main(); {14672#true} is VALID [2022-04-28 05:41:50,060 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14672#true} {14672#true} #98#return; {14672#true} is VALID [2022-04-28 05:41:50,060 INFO L290 TraceCheckUtils]: 2: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 05:41:50,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {14672#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);~counter~0 := 0; {14672#true} is VALID [2022-04-28 05:41:50,060 INFO L272 TraceCheckUtils]: 0: Hoare triple {14672#true} call ULTIMATE.init(); {14672#true} is VALID [2022-04-28 05:41:50,061 INFO L134 CoverageAnalysis]: Checked inductivity of 165 backedges. 37 proven. 10 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-28 05:41:50,061 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:41:50,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [773214162] [2022-04-28 05:41:50,061 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:41:50,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [153281099] [2022-04-28 05:41:50,061 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [153281099] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:41:50,061 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:41:50,061 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 7] total 16 [2022-04-28 05:41:50,061 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:41:50,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1523655649] [2022-04-28 05:41:50,062 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1523655649] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:41:50,062 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:41:50,062 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 05:41:50,062 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1313703423] [2022-04-28 05:41:50,062 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:41:50,062 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 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 82 [2022-04-28 05:41:50,062 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:41:50,063 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 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 05:41:50,120 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:41:50,120 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 05:41:50,120 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:41:50,120 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 05:41:50,121 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=199, Unknown=0, NotChecked=0, Total=240 [2022-04-28 05:41:50,121 INFO L87 Difference]: Start difference. First operand 198 states and 260 transitions. Second operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 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 05:41:52,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:52,739 INFO L93 Difference]: Finished difference Result 212 states and 278 transitions. [2022-04-28 05:41:52,739 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 05:41:52,739 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 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 82 [2022-04-28 05:41:52,739 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:41:52,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 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 05:41:52,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 106 transitions. [2022-04-28 05:41:52,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 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 05:41:52,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 106 transitions. [2022-04-28 05:41:52,742 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 106 transitions. [2022-04-28 05:41:52,840 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 05:41:52,843 INFO L225 Difference]: With dead ends: 212 [2022-04-28 05:41:52,843 INFO L226 Difference]: Without dead ends: 210 [2022-04-28 05:41:52,844 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 147 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 05:41:52,844 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 55 mSDsluCounter, 183 mSDsCounter, 0 mSdLazyCounter, 457 mSolverCounterSat, 51 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 223 SdHoareTripleChecker+Invalid, 508 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 51 IncrementalHoareTripleChecker+Valid, 457 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:41:52,844 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [60 Valid, 223 Invalid, 508 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [51 Valid, 457 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 05:41:52,845 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states. [2022-04-28 05:41:53,206 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 203. [2022-04-28 05:41:53,206 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:41:53,207 INFO L82 GeneralOperation]: Start isEquivalent. First operand 210 states. Second operand has 203 states, 126 states have (on average 1.2301587301587302) internal successors, (155), 131 states have internal predecessors, (155), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 05:41:53,211 INFO L74 IsIncluded]: Start isIncluded. First operand 210 states. Second operand has 203 states, 126 states have (on average 1.2301587301587302) internal successors, (155), 131 states have internal predecessors, (155), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 05:41:53,211 INFO L87 Difference]: Start difference. First operand 210 states. Second operand has 203 states, 126 states have (on average 1.2301587301587302) internal successors, (155), 131 states have internal predecessors, (155), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 05:41:53,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:53,217 INFO L93 Difference]: Finished difference Result 210 states and 276 transitions. [2022-04-28 05:41:53,217 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 276 transitions. [2022-04-28 05:41:53,218 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:41:53,218 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:41:53,218 INFO L74 IsIncluded]: Start isIncluded. First operand has 203 states, 126 states have (on average 1.2301587301587302) internal successors, (155), 131 states have internal predecessors, (155), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 210 states. [2022-04-28 05:41:53,219 INFO L87 Difference]: Start difference. First operand has 203 states, 126 states have (on average 1.2301587301587302) internal successors, (155), 131 states have internal predecessors, (155), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 210 states. [2022-04-28 05:41:53,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:53,227 INFO L93 Difference]: Finished difference Result 210 states and 276 transitions. [2022-04-28 05:41:53,227 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 276 transitions. [2022-04-28 05:41:53,228 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:41:53,228 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:41:53,228 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:41:53,228 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:41:53,229 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 203 states, 126 states have (on average 1.2301587301587302) internal successors, (155), 131 states have internal predecessors, (155), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 05:41:53,234 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 203 states to 203 states and 265 transitions. [2022-04-28 05:41:53,234 INFO L78 Accepts]: Start accepts. Automaton has 203 states and 265 transitions. Word has length 82 [2022-04-28 05:41:53,234 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:41:53,234 INFO L495 AbstractCegarLoop]: Abstraction has 203 states and 265 transitions. [2022-04-28 05:41:53,235 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 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 05:41:53,235 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 203 states and 265 transitions. [2022-04-28 05:41:53,650 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 265 edges. 265 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:41:53,651 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 265 transitions. [2022-04-28 05:41:53,651 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 84 [2022-04-28 05:41:53,652 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:41:53,652 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:41:53,677 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 05:41:53,852 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 05:41:53,852 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:41:53,853 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:41:53,853 INFO L85 PathProgramCache]: Analyzing trace with hash 1768368813, now seen corresponding path program 1 times [2022-04-28 05:41:53,853 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:41:53,853 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1195270794] [2022-04-28 05:41:53,853 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:41:53,853 INFO L85 PathProgramCache]: Analyzing trace with hash 1768368813, now seen corresponding path program 2 times [2022-04-28 05:41:53,853 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:41:53,854 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [800662371] [2022-04-28 05:41:53,854 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:41:53,854 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:41:53,868 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:41:53,868 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [754267621] [2022-04-28 05:41:53,868 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:41:53,869 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:41:53,869 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:41:53,871 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:41:53,880 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 05:41:53,927 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:41:53,927 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:41:53,928 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 05:41:53,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:41:53,943 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:41:54,247 INFO L272 TraceCheckUtils]: 0: Hoare triple {16443#true} call ULTIMATE.init(); {16443#true} is VALID [2022-04-28 05:41:54,247 INFO L290 TraceCheckUtils]: 1: Hoare triple {16443#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);~counter~0 := 0; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,247 INFO L290 TraceCheckUtils]: 2: Hoare triple {16451#(<= ~counter~0 0)} assume true; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,248 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16451#(<= ~counter~0 0)} {16443#true} #98#return; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,248 INFO L272 TraceCheckUtils]: 4: Hoare triple {16451#(<= ~counter~0 0)} call #t~ret8 := main(); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,248 INFO L290 TraceCheckUtils]: 5: Hoare triple {16451#(<= ~counter~0 0)} 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; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,249 INFO L272 TraceCheckUtils]: 6: Hoare triple {16451#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,249 INFO L290 TraceCheckUtils]: 7: Hoare triple {16451#(<= ~counter~0 0)} ~cond := #in~cond; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,249 INFO L290 TraceCheckUtils]: 8: Hoare triple {16451#(<= ~counter~0 0)} assume !(0 == ~cond); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,250 INFO L290 TraceCheckUtils]: 9: Hoare triple {16451#(<= ~counter~0 0)} assume true; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,250 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16451#(<= ~counter~0 0)} {16451#(<= ~counter~0 0)} #78#return; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,250 INFO L272 TraceCheckUtils]: 11: Hoare triple {16451#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,251 INFO L290 TraceCheckUtils]: 12: Hoare triple {16451#(<= ~counter~0 0)} ~cond := #in~cond; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,251 INFO L290 TraceCheckUtils]: 13: Hoare triple {16451#(<= ~counter~0 0)} assume !(0 == ~cond); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,251 INFO L290 TraceCheckUtils]: 14: Hoare triple {16451#(<= ~counter~0 0)} assume true; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,252 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16451#(<= ~counter~0 0)} {16451#(<= ~counter~0 0)} #80#return; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,252 INFO L290 TraceCheckUtils]: 16: Hoare triple {16451#(<= ~counter~0 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; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,253 INFO L272 TraceCheckUtils]: 17: Hoare triple {16451#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,253 INFO L290 TraceCheckUtils]: 18: Hoare triple {16451#(<= ~counter~0 0)} ~cond := #in~cond; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,253 INFO L290 TraceCheckUtils]: 19: Hoare triple {16451#(<= ~counter~0 0)} assume !(0 == ~cond); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,253 INFO L290 TraceCheckUtils]: 20: Hoare triple {16451#(<= ~counter~0 0)} assume true; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,254 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16451#(<= ~counter~0 0)} {16451#(<= ~counter~0 0)} #82#return; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,254 INFO L272 TraceCheckUtils]: 22: Hoare triple {16451#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,254 INFO L290 TraceCheckUtils]: 23: Hoare triple {16451#(<= ~counter~0 0)} ~cond := #in~cond; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,255 INFO L290 TraceCheckUtils]: 24: Hoare triple {16451#(<= ~counter~0 0)} assume !(0 == ~cond); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,255 INFO L290 TraceCheckUtils]: 25: Hoare triple {16451#(<= ~counter~0 0)} assume true; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,255 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16451#(<= ~counter~0 0)} {16451#(<= ~counter~0 0)} #84#return; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 05:41:54,256 INFO L290 TraceCheckUtils]: 27: Hoare triple {16451#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16530#(<= ~counter~0 1)} is VALID [2022-04-28 05:41:54,256 INFO L290 TraceCheckUtils]: 28: Hoare triple {16530#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {16530#(<= ~counter~0 1)} is VALID [2022-04-28 05:41:54,257 INFO L290 TraceCheckUtils]: 29: Hoare triple {16530#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16530#(<= ~counter~0 1)} is VALID [2022-04-28 05:41:54,257 INFO L290 TraceCheckUtils]: 30: Hoare triple {16530#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,257 INFO L290 TraceCheckUtils]: 31: Hoare triple {16540#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,258 INFO L272 TraceCheckUtils]: 32: Hoare triple {16540#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,258 INFO L290 TraceCheckUtils]: 33: Hoare triple {16540#(<= ~counter~0 2)} ~cond := #in~cond; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,258 INFO L290 TraceCheckUtils]: 34: Hoare triple {16540#(<= ~counter~0 2)} assume !(0 == ~cond); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,259 INFO L290 TraceCheckUtils]: 35: Hoare triple {16540#(<= ~counter~0 2)} assume true; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,259 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16540#(<= ~counter~0 2)} {16540#(<= ~counter~0 2)} #86#return; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,260 INFO L272 TraceCheckUtils]: 37: Hoare triple {16540#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,260 INFO L290 TraceCheckUtils]: 38: Hoare triple {16540#(<= ~counter~0 2)} ~cond := #in~cond; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,260 INFO L290 TraceCheckUtils]: 39: Hoare triple {16540#(<= ~counter~0 2)} assume !(0 == ~cond); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,260 INFO L290 TraceCheckUtils]: 40: Hoare triple {16540#(<= ~counter~0 2)} assume true; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,261 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16540#(<= ~counter~0 2)} {16540#(<= ~counter~0 2)} #88#return; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,262 INFO L272 TraceCheckUtils]: 42: Hoare triple {16540#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,262 INFO L290 TraceCheckUtils]: 43: Hoare triple {16540#(<= ~counter~0 2)} ~cond := #in~cond; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,262 INFO L290 TraceCheckUtils]: 44: Hoare triple {16540#(<= ~counter~0 2)} assume !(0 == ~cond); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,262 INFO L290 TraceCheckUtils]: 45: Hoare triple {16540#(<= ~counter~0 2)} assume true; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,263 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16540#(<= ~counter~0 2)} {16540#(<= ~counter~0 2)} #90#return; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,263 INFO L272 TraceCheckUtils]: 47: Hoare triple {16540#(<= ~counter~0 2)} 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)); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,264 INFO L290 TraceCheckUtils]: 48: Hoare triple {16540#(<= ~counter~0 2)} ~cond := #in~cond; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,264 INFO L290 TraceCheckUtils]: 49: Hoare triple {16540#(<= ~counter~0 2)} assume !(0 == ~cond); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,264 INFO L290 TraceCheckUtils]: 50: Hoare triple {16540#(<= ~counter~0 2)} assume true; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,265 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {16540#(<= ~counter~0 2)} {16540#(<= ~counter~0 2)} #92#return; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,265 INFO L290 TraceCheckUtils]: 52: Hoare triple {16540#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 05:41:54,266 INFO L290 TraceCheckUtils]: 53: Hoare triple {16540#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,266 INFO L290 TraceCheckUtils]: 54: Hoare triple {16610#(<= ~counter~0 3)} assume !!(#t~post7 < 100);havoc #t~post7; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,266 INFO L272 TraceCheckUtils]: 55: Hoare triple {16610#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,267 INFO L290 TraceCheckUtils]: 56: Hoare triple {16610#(<= ~counter~0 3)} ~cond := #in~cond; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,267 INFO L290 TraceCheckUtils]: 57: Hoare triple {16610#(<= ~counter~0 3)} assume !(0 == ~cond); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,267 INFO L290 TraceCheckUtils]: 58: Hoare triple {16610#(<= ~counter~0 3)} assume true; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,268 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16610#(<= ~counter~0 3)} {16610#(<= ~counter~0 3)} #86#return; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,268 INFO L272 TraceCheckUtils]: 60: Hoare triple {16610#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,269 INFO L290 TraceCheckUtils]: 61: Hoare triple {16610#(<= ~counter~0 3)} ~cond := #in~cond; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,269 INFO L290 TraceCheckUtils]: 62: Hoare triple {16610#(<= ~counter~0 3)} assume !(0 == ~cond); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,269 INFO L290 TraceCheckUtils]: 63: Hoare triple {16610#(<= ~counter~0 3)} assume true; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,270 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {16610#(<= ~counter~0 3)} {16610#(<= ~counter~0 3)} #88#return; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,270 INFO L272 TraceCheckUtils]: 65: Hoare triple {16610#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,270 INFO L290 TraceCheckUtils]: 66: Hoare triple {16610#(<= ~counter~0 3)} ~cond := #in~cond; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,271 INFO L290 TraceCheckUtils]: 67: Hoare triple {16610#(<= ~counter~0 3)} assume !(0 == ~cond); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,271 INFO L290 TraceCheckUtils]: 68: Hoare triple {16610#(<= ~counter~0 3)} assume true; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,272 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {16610#(<= ~counter~0 3)} {16610#(<= ~counter~0 3)} #90#return; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,272 INFO L272 TraceCheckUtils]: 70: Hoare triple {16610#(<= ~counter~0 3)} 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)); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,272 INFO L290 TraceCheckUtils]: 71: Hoare triple {16610#(<= ~counter~0 3)} ~cond := #in~cond; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,273 INFO L290 TraceCheckUtils]: 72: Hoare triple {16610#(<= ~counter~0 3)} assume !(0 == ~cond); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,273 INFO L290 TraceCheckUtils]: 73: Hoare triple {16610#(<= ~counter~0 3)} assume true; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,274 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {16610#(<= ~counter~0 3)} {16610#(<= ~counter~0 3)} #92#return; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,274 INFO L290 TraceCheckUtils]: 75: Hoare triple {16610#(<= ~counter~0 3)} assume !(~c~0 >= ~b~0); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,274 INFO L290 TraceCheckUtils]: 76: Hoare triple {16610#(<= ~counter~0 3)} ~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; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 05:41:54,274 INFO L290 TraceCheckUtils]: 77: Hoare triple {16610#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16683#(<= |main_#t~post6| 3)} is VALID [2022-04-28 05:41:54,275 INFO L290 TraceCheckUtils]: 78: Hoare triple {16683#(<= |main_#t~post6| 3)} assume !(#t~post6 < 100);havoc #t~post6; {16444#false} is VALID [2022-04-28 05:41:54,275 INFO L272 TraceCheckUtils]: 79: Hoare triple {16444#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {16444#false} is VALID [2022-04-28 05:41:54,275 INFO L290 TraceCheckUtils]: 80: Hoare triple {16444#false} ~cond := #in~cond; {16444#false} is VALID [2022-04-28 05:41:54,275 INFO L290 TraceCheckUtils]: 81: Hoare triple {16444#false} assume 0 == ~cond; {16444#false} is VALID [2022-04-28 05:41:54,275 INFO L290 TraceCheckUtils]: 82: Hoare triple {16444#false} assume !false; {16444#false} is VALID [2022-04-28 05:41:54,275 INFO L134 CoverageAnalysis]: Checked inductivity of 161 backedges. 16 proven. 73 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2022-04-28 05:41:54,275 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:41:54,596 INFO L290 TraceCheckUtils]: 82: Hoare triple {16444#false} assume !false; {16444#false} is VALID [2022-04-28 05:41:54,596 INFO L290 TraceCheckUtils]: 81: Hoare triple {16444#false} assume 0 == ~cond; {16444#false} is VALID [2022-04-28 05:41:54,596 INFO L290 TraceCheckUtils]: 80: Hoare triple {16444#false} ~cond := #in~cond; {16444#false} is VALID [2022-04-28 05:41:54,596 INFO L272 TraceCheckUtils]: 79: Hoare triple {16444#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {16444#false} is VALID [2022-04-28 05:41:54,597 INFO L290 TraceCheckUtils]: 78: Hoare triple {16711#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {16444#false} is VALID [2022-04-28 05:41:54,597 INFO L290 TraceCheckUtils]: 77: Hoare triple {16715#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16711#(< |main_#t~post6| 100)} is VALID [2022-04-28 05:41:54,597 INFO L290 TraceCheckUtils]: 76: Hoare triple {16715#(< ~counter~0 100)} ~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; {16715#(< ~counter~0 100)} is VALID [2022-04-28 05:41:54,598 INFO L290 TraceCheckUtils]: 75: Hoare triple {16715#(< ~counter~0 100)} assume !(~c~0 >= ~b~0); {16715#(< ~counter~0 100)} is VALID [2022-04-28 05:41:54,598 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {16443#true} {16715#(< ~counter~0 100)} #92#return; {16715#(< ~counter~0 100)} is VALID [2022-04-28 05:41:54,598 INFO L290 TraceCheckUtils]: 73: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 05:41:54,598 INFO L290 TraceCheckUtils]: 72: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 05:41:54,599 INFO L290 TraceCheckUtils]: 71: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 05:41:54,599 INFO L272 TraceCheckUtils]: 70: Hoare triple {16715#(< ~counter~0 100)} 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)); {16443#true} is VALID [2022-04-28 05:41:54,599 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {16443#true} {16715#(< ~counter~0 100)} #90#return; {16715#(< ~counter~0 100)} is VALID [2022-04-28 05:41:54,599 INFO L290 TraceCheckUtils]: 68: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 05:41:54,599 INFO L290 TraceCheckUtils]: 67: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 05:41:54,599 INFO L290 TraceCheckUtils]: 66: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 05:41:54,599 INFO L272 TraceCheckUtils]: 65: Hoare triple {16715#(< ~counter~0 100)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 05:41:54,600 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {16443#true} {16715#(< ~counter~0 100)} #88#return; {16715#(< ~counter~0 100)} is VALID [2022-04-28 05:41:54,600 INFO L290 TraceCheckUtils]: 63: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 05:41:54,600 INFO L290 TraceCheckUtils]: 62: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 05:41:54,600 INFO L290 TraceCheckUtils]: 61: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 05:41:54,600 INFO L272 TraceCheckUtils]: 60: Hoare triple {16715#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 05:41:54,601 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16443#true} {16715#(< ~counter~0 100)} #86#return; {16715#(< ~counter~0 100)} is VALID [2022-04-28 05:41:54,601 INFO L290 TraceCheckUtils]: 58: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 05:41:54,601 INFO L290 TraceCheckUtils]: 57: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 05:41:54,601 INFO L290 TraceCheckUtils]: 56: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 05:41:54,601 INFO L272 TraceCheckUtils]: 55: Hoare triple {16715#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 05:41:54,601 INFO L290 TraceCheckUtils]: 54: Hoare triple {16715#(< ~counter~0 100)} assume !!(#t~post7 < 100);havoc #t~post7; {16715#(< ~counter~0 100)} is VALID [2022-04-28 05:41:54,602 INFO L290 TraceCheckUtils]: 53: Hoare triple {16788#(< ~counter~0 99)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16715#(< ~counter~0 100)} is VALID [2022-04-28 05:41:54,602 INFO L290 TraceCheckUtils]: 52: Hoare triple {16788#(< ~counter~0 99)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {16788#(< ~counter~0 99)} is VALID [2022-04-28 05:41:54,603 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {16443#true} {16788#(< ~counter~0 99)} #92#return; {16788#(< ~counter~0 99)} is VALID [2022-04-28 05:41:54,603 INFO L290 TraceCheckUtils]: 50: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 05:41:54,603 INFO L290 TraceCheckUtils]: 49: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 05:41:54,603 INFO L290 TraceCheckUtils]: 48: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 05:41:54,603 INFO L272 TraceCheckUtils]: 47: Hoare triple {16788#(< ~counter~0 99)} 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)); {16443#true} is VALID [2022-04-28 05:41:54,604 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16443#true} {16788#(< ~counter~0 99)} #90#return; {16788#(< ~counter~0 99)} is VALID [2022-04-28 05:41:54,604 INFO L290 TraceCheckUtils]: 45: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 05:41:54,604 INFO L290 TraceCheckUtils]: 44: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 05:41:54,604 INFO L290 TraceCheckUtils]: 43: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 05:41:54,604 INFO L272 TraceCheckUtils]: 42: Hoare triple {16788#(< ~counter~0 99)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 05:41:54,605 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16443#true} {16788#(< ~counter~0 99)} #88#return; {16788#(< ~counter~0 99)} is VALID [2022-04-28 05:41:54,605 INFO L290 TraceCheckUtils]: 40: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 05:41:54,605 INFO L290 TraceCheckUtils]: 39: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 05:41:54,605 INFO L290 TraceCheckUtils]: 38: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 05:41:54,605 INFO L272 TraceCheckUtils]: 37: Hoare triple {16788#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 05:41:54,605 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16443#true} {16788#(< ~counter~0 99)} #86#return; {16788#(< ~counter~0 99)} is VALID [2022-04-28 05:41:54,606 INFO L290 TraceCheckUtils]: 35: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 05:41:54,606 INFO L290 TraceCheckUtils]: 34: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 05:41:54,606 INFO L290 TraceCheckUtils]: 33: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 05:41:54,606 INFO L272 TraceCheckUtils]: 32: Hoare triple {16788#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 05:41:54,606 INFO L290 TraceCheckUtils]: 31: Hoare triple {16788#(< ~counter~0 99)} assume !!(#t~post7 < 100);havoc #t~post7; {16788#(< ~counter~0 99)} is VALID [2022-04-28 05:41:54,607 INFO L290 TraceCheckUtils]: 30: Hoare triple {16858#(< ~counter~0 98)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16788#(< ~counter~0 99)} is VALID [2022-04-28 05:41:54,607 INFO L290 TraceCheckUtils]: 29: Hoare triple {16858#(< ~counter~0 98)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16858#(< ~counter~0 98)} is VALID [2022-04-28 05:41:54,607 INFO L290 TraceCheckUtils]: 28: Hoare triple {16858#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {16858#(< ~counter~0 98)} is VALID [2022-04-28 05:41:54,608 INFO L290 TraceCheckUtils]: 27: Hoare triple {16868#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16858#(< ~counter~0 98)} is VALID [2022-04-28 05:41:54,608 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16443#true} {16868#(< ~counter~0 97)} #84#return; {16868#(< ~counter~0 97)} is VALID [2022-04-28 05:41:54,608 INFO L290 TraceCheckUtils]: 25: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 05:41:54,608 INFO L290 TraceCheckUtils]: 24: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 05:41:54,608 INFO L290 TraceCheckUtils]: 23: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 05:41:54,608 INFO L272 TraceCheckUtils]: 22: Hoare triple {16868#(< ~counter~0 97)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {16443#true} is VALID [2022-04-28 05:41:54,609 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16443#true} {16868#(< ~counter~0 97)} #82#return; {16868#(< ~counter~0 97)} is VALID [2022-04-28 05:41:54,609 INFO L290 TraceCheckUtils]: 20: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 05:41:54,609 INFO L290 TraceCheckUtils]: 19: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 05:41:54,609 INFO L290 TraceCheckUtils]: 18: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 05:41:54,609 INFO L272 TraceCheckUtils]: 17: Hoare triple {16868#(< ~counter~0 97)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {16443#true} is VALID [2022-04-28 05:41:54,609 INFO L290 TraceCheckUtils]: 16: Hoare triple {16868#(< ~counter~0 97)} ~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; {16868#(< ~counter~0 97)} is VALID [2022-04-28 05:41:54,610 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16443#true} {16868#(< ~counter~0 97)} #80#return; {16868#(< ~counter~0 97)} is VALID [2022-04-28 05:41:54,610 INFO L290 TraceCheckUtils]: 14: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 05:41:54,610 INFO L290 TraceCheckUtils]: 13: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 05:41:54,610 INFO L290 TraceCheckUtils]: 12: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 05:41:54,610 INFO L272 TraceCheckUtils]: 11: Hoare triple {16868#(< ~counter~0 97)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16443#true} is VALID [2022-04-28 05:41:54,610 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16443#true} {16868#(< ~counter~0 97)} #78#return; {16868#(< ~counter~0 97)} is VALID [2022-04-28 05:41:54,610 INFO L290 TraceCheckUtils]: 9: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 05:41:54,610 INFO L290 TraceCheckUtils]: 8: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 05:41:54,611 INFO L290 TraceCheckUtils]: 7: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 05:41:54,611 INFO L272 TraceCheckUtils]: 6: Hoare triple {16868#(< ~counter~0 97)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16443#true} is VALID [2022-04-28 05:41:54,611 INFO L290 TraceCheckUtils]: 5: Hoare triple {16868#(< ~counter~0 97)} 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; {16868#(< ~counter~0 97)} is VALID [2022-04-28 05:41:54,615 INFO L272 TraceCheckUtils]: 4: Hoare triple {16868#(< ~counter~0 97)} call #t~ret8 := main(); {16868#(< ~counter~0 97)} is VALID [2022-04-28 05:41:54,616 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16868#(< ~counter~0 97)} {16443#true} #98#return; {16868#(< ~counter~0 97)} is VALID [2022-04-28 05:41:54,616 INFO L290 TraceCheckUtils]: 2: Hoare triple {16868#(< ~counter~0 97)} assume true; {16868#(< ~counter~0 97)} is VALID [2022-04-28 05:41:54,617 INFO L290 TraceCheckUtils]: 1: Hoare triple {16443#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);~counter~0 := 0; {16868#(< ~counter~0 97)} is VALID [2022-04-28 05:41:54,617 INFO L272 TraceCheckUtils]: 0: Hoare triple {16443#true} call ULTIMATE.init(); {16443#true} is VALID [2022-04-28 05:41:54,617 INFO L134 CoverageAnalysis]: Checked inductivity of 161 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 05:41:54,617 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:41:54,617 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [800662371] [2022-04-28 05:41:54,617 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:41:54,617 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [754267621] [2022-04-28 05:41:54,617 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [754267621] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:41:54,618 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:41:54,618 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 05:41:54,618 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:41:54,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1195270794] [2022-04-28 05:41:54,618 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1195270794] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:41:54,618 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:41:54,618 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 05:41:54,618 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2048879028] [2022-04-28 05:41:54,618 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:41:54,619 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) Word has length 83 [2022-04-28 05:41:54,619 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:41:54,619 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:41:54,663 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:41:54,663 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 05:41:54,663 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:41:54,664 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 05:41:54,664 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 05:41:54,664 INFO L87 Difference]: Start difference. First operand 203 states and 265 transitions. Second operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:41:55,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:55,215 INFO L93 Difference]: Finished difference Result 214 states and 277 transitions. [2022-04-28 05:41:55,215 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 05:41:55,215 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) Word has length 83 [2022-04-28 05:41:55,215 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:41:55,215 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:41:55,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 95 transitions. [2022-04-28 05:41:55,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:41:55,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 95 transitions. [2022-04-28 05:41:55,219 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 95 transitions. [2022-04-28 05:41:55,306 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:41:55,311 INFO L225 Difference]: With dead ends: 214 [2022-04-28 05:41:55,311 INFO L226 Difference]: Without dead ends: 206 [2022-04-28 05:41:55,311 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 167 GetRequests, 155 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 05:41:55,312 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 18 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 67 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:41:55,312 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 160 Invalid, 67 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:41:55,312 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states. [2022-04-28 05:41:55,697 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 206. [2022-04-28 05:41:55,697 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:41:55,698 INFO L82 GeneralOperation]: Start isEquivalent. First operand 206 states. Second operand has 206 states, 129 states have (on average 1.2248062015503876) internal successors, (158), 134 states have internal predecessors, (158), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 05:41:55,698 INFO L74 IsIncluded]: Start isIncluded. First operand 206 states. Second operand has 206 states, 129 states have (on average 1.2248062015503876) internal successors, (158), 134 states have internal predecessors, (158), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 05:41:55,698 INFO L87 Difference]: Start difference. First operand 206 states. Second operand has 206 states, 129 states have (on average 1.2248062015503876) internal successors, (158), 134 states have internal predecessors, (158), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 05:41:55,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:55,704 INFO L93 Difference]: Finished difference Result 206 states and 268 transitions. [2022-04-28 05:41:55,704 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 268 transitions. [2022-04-28 05:41:55,705 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:41:55,705 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:41:55,705 INFO L74 IsIncluded]: Start isIncluded. First operand has 206 states, 129 states have (on average 1.2248062015503876) internal successors, (158), 134 states have internal predecessors, (158), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 206 states. [2022-04-28 05:41:55,706 INFO L87 Difference]: Start difference. First operand has 206 states, 129 states have (on average 1.2248062015503876) internal successors, (158), 134 states have internal predecessors, (158), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 206 states. [2022-04-28 05:41:55,710 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:55,711 INFO L93 Difference]: Finished difference Result 206 states and 268 transitions. [2022-04-28 05:41:55,711 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 268 transitions. [2022-04-28 05:41:55,711 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:41:55,711 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:41:55,712 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:41:55,712 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:41:55,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 206 states, 129 states have (on average 1.2248062015503876) internal successors, (158), 134 states have internal predecessors, (158), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 05:41:55,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 206 states to 206 states and 268 transitions. [2022-04-28 05:41:55,717 INFO L78 Accepts]: Start accepts. Automaton has 206 states and 268 transitions. Word has length 83 [2022-04-28 05:41:55,718 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:41:55,718 INFO L495 AbstractCegarLoop]: Abstraction has 206 states and 268 transitions. [2022-04-28 05:41:55,718 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:41:55,718 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 206 states and 268 transitions. [2022-04-28 05:41:56,099 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 268 edges. 268 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:41:56,100 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 268 transitions. [2022-04-28 05:41:56,100 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-04-28 05:41:56,100 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:41:56,100 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:41:56,126 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 05:41:56,301 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 05:41:56,301 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:41:56,302 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:41:56,302 INFO L85 PathProgramCache]: Analyzing trace with hash -1017110725, now seen corresponding path program 1 times [2022-04-28 05:41:56,302 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:41:56,302 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1476196266] [2022-04-28 05:41:56,302 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:41:56,302 INFO L85 PathProgramCache]: Analyzing trace with hash -1017110725, now seen corresponding path program 2 times [2022-04-28 05:41:56,303 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:41:56,303 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [584708955] [2022-04-28 05:41:56,303 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:41:56,303 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:41:56,326 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:41:56,326 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [330850443] [2022-04-28 05:41:56,326 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:41:56,326 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:41:56,326 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:41:56,328 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:41:56,352 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 05:41:56,393 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:41:56,393 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:41:56,394 INFO L263 TraceCheckSpWp]: Trace formula consists of 239 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 05:41:56,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:41:56,410 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:41:57,016 INFO L272 TraceCheckUtils]: 0: Hoare triple {18208#true} call ULTIMATE.init(); {18208#true} is VALID [2022-04-28 05:41:57,016 INFO L290 TraceCheckUtils]: 1: Hoare triple {18208#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);~counter~0 := 0; {18208#true} is VALID [2022-04-28 05:41:57,016 INFO L290 TraceCheckUtils]: 2: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:57,016 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18208#true} {18208#true} #98#return; {18208#true} is VALID [2022-04-28 05:41:57,016 INFO L272 TraceCheckUtils]: 4: Hoare triple {18208#true} call #t~ret8 := main(); {18208#true} is VALID [2022-04-28 05:41:57,016 INFO L290 TraceCheckUtils]: 5: Hoare triple {18208#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; {18208#true} is VALID [2022-04-28 05:41:57,016 INFO L272 TraceCheckUtils]: 6: Hoare triple {18208#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:57,016 INFO L290 TraceCheckUtils]: 7: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:57,016 INFO L290 TraceCheckUtils]: 8: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:57,016 INFO L290 TraceCheckUtils]: 9: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:57,017 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18208#true} {18208#true} #78#return; {18208#true} is VALID [2022-04-28 05:41:57,017 INFO L272 TraceCheckUtils]: 11: Hoare triple {18208#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:57,017 INFO L290 TraceCheckUtils]: 12: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:57,017 INFO L290 TraceCheckUtils]: 13: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:57,017 INFO L290 TraceCheckUtils]: 14: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:57,017 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18208#true} {18208#true} #80#return; {18208#true} is VALID [2022-04-28 05:41:57,018 INFO L290 TraceCheckUtils]: 16: Hoare triple {18208#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; {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,018 INFO L272 TraceCheckUtils]: 17: Hoare triple {18261#(and (= main_~r~0 0) (= 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)); {18208#true} is VALID [2022-04-28 05:41:57,018 INFO L290 TraceCheckUtils]: 18: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:57,018 INFO L290 TraceCheckUtils]: 19: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:57,018 INFO L290 TraceCheckUtils]: 20: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:57,019 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18208#true} {18261#(and (= main_~r~0 0) (= 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; {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,019 INFO L272 TraceCheckUtils]: 22: Hoare triple {18261#(and (= main_~r~0 0) (= 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)); {18208#true} is VALID [2022-04-28 05:41:57,019 INFO L290 TraceCheckUtils]: 23: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:57,019 INFO L290 TraceCheckUtils]: 24: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:57,019 INFO L290 TraceCheckUtils]: 25: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:57,020 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18208#true} {18261#(and (= main_~r~0 0) (= 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; {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,020 INFO L290 TraceCheckUtils]: 27: Hoare triple {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,020 INFO L290 TraceCheckUtils]: 28: Hoare triple {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,021 INFO L290 TraceCheckUtils]: 29: Hoare triple {18261#(and (= main_~r~0 0) (= 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; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,021 INFO L290 TraceCheckUtils]: 30: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,021 INFO L290 TraceCheckUtils]: 31: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,022 INFO L272 TraceCheckUtils]: 32: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:57,022 INFO L290 TraceCheckUtils]: 33: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:57,022 INFO L290 TraceCheckUtils]: 34: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:57,022 INFO L290 TraceCheckUtils]: 35: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:57,022 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18208#true} {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #86#return; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,023 INFO L272 TraceCheckUtils]: 37: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:57,023 INFO L290 TraceCheckUtils]: 38: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:57,023 INFO L290 TraceCheckUtils]: 39: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:57,023 INFO L290 TraceCheckUtils]: 40: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:57,023 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18208#true} {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #88#return; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,023 INFO L272 TraceCheckUtils]: 42: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:57,024 INFO L290 TraceCheckUtils]: 43: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:57,024 INFO L290 TraceCheckUtils]: 44: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:57,024 INFO L290 TraceCheckUtils]: 45: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:57,024 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {18208#true} {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #90#return; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,024 INFO L272 TraceCheckUtils]: 47: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:57,024 INFO L290 TraceCheckUtils]: 48: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:57,025 INFO L290 TraceCheckUtils]: 49: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:57,025 INFO L290 TraceCheckUtils]: 50: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:57,025 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {18208#true} {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #92#return; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,026 INFO L290 TraceCheckUtils]: 52: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,026 INFO L290 TraceCheckUtils]: 53: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,027 INFO L290 TraceCheckUtils]: 54: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,027 INFO L272 TraceCheckUtils]: 55: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:57,027 INFO L290 TraceCheckUtils]: 56: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:57,027 INFO L290 TraceCheckUtils]: 57: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:57,027 INFO L290 TraceCheckUtils]: 58: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:57,028 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18208#true} {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,028 INFO L272 TraceCheckUtils]: 60: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:57,028 INFO L290 TraceCheckUtils]: 61: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:57,028 INFO L290 TraceCheckUtils]: 62: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:57,028 INFO L290 TraceCheckUtils]: 63: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:57,029 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18208#true} {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #88#return; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,029 INFO L272 TraceCheckUtils]: 65: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:57,029 INFO L290 TraceCheckUtils]: 66: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:57,029 INFO L290 TraceCheckUtils]: 67: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:57,029 INFO L290 TraceCheckUtils]: 68: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:57,029 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {18208#true} {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #90#return; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,030 INFO L272 TraceCheckUtils]: 70: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:57,030 INFO L290 TraceCheckUtils]: 71: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:57,031 INFO L290 TraceCheckUtils]: 72: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:57,031 INFO L290 TraceCheckUtils]: 73: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:57,033 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {18208#true} {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #92#return; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,033 INFO L290 TraceCheckUtils]: 75: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:57,035 INFO L290 TraceCheckUtils]: 76: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 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; {18444#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 05:41:57,036 INFO L290 TraceCheckUtils]: 77: Hoare triple {18444#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18444#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 05:41:57,036 INFO L290 TraceCheckUtils]: 78: Hoare triple {18444#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {18444#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 05:41:57,037 INFO L290 TraceCheckUtils]: 79: Hoare triple {18444#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !(0 != ~b~0); {18454#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) 0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 05:41:57,037 INFO L272 TraceCheckUtils]: 80: Hoare triple {18454#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) 0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {18458#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:41:57,038 INFO L290 TraceCheckUtils]: 81: Hoare triple {18458#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18462#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:41:57,038 INFO L290 TraceCheckUtils]: 82: Hoare triple {18462#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18209#false} is VALID [2022-04-28 05:41:57,038 INFO L290 TraceCheckUtils]: 83: Hoare triple {18209#false} assume !false; {18209#false} is VALID [2022-04-28 05:41:57,039 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 16 proven. 10 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 05:41:57,039 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:41:57,585 INFO L290 TraceCheckUtils]: 83: Hoare triple {18209#false} assume !false; {18209#false} is VALID [2022-04-28 05:41:57,586 INFO L290 TraceCheckUtils]: 82: Hoare triple {18462#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18209#false} is VALID [2022-04-28 05:41:57,586 INFO L290 TraceCheckUtils]: 81: Hoare triple {18458#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18462#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:41:57,587 INFO L272 TraceCheckUtils]: 80: Hoare triple {18478#(= (+ (* 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)); {18458#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:41:57,587 INFO L290 TraceCheckUtils]: 79: Hoare triple {18482#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {18478#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-28 05:41:57,588 INFO L290 TraceCheckUtils]: 78: Hoare triple {18482#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {18482#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-28 05:41:57,588 INFO L290 TraceCheckUtils]: 77: Hoare triple {18482#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18482#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-28 05:41:59,590 WARN L290 TraceCheckUtils]: 76: Hoare triple {18492#(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; {18482#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is UNKNOWN [2022-04-28 05:41:59,591 INFO L290 TraceCheckUtils]: 75: Hoare triple {18492#(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))} assume !(~c~0 >= ~b~0); {18492#(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 05:41:59,592 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {18208#true} {18492#(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))} #92#return; {18492#(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 05:41:59,592 INFO L290 TraceCheckUtils]: 73: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:59,592 INFO L290 TraceCheckUtils]: 72: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:59,592 INFO L290 TraceCheckUtils]: 71: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:59,592 INFO L272 TraceCheckUtils]: 70: Hoare triple {18492#(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))} 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)); {18208#true} is VALID [2022-04-28 05:41:59,593 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {18208#true} {18492#(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))} #90#return; {18492#(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 05:41:59,593 INFO L290 TraceCheckUtils]: 68: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:59,593 INFO L290 TraceCheckUtils]: 67: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:59,593 INFO L290 TraceCheckUtils]: 66: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:59,593 INFO L272 TraceCheckUtils]: 65: Hoare triple {18492#(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))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:59,594 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18208#true} {18492#(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))} #88#return; {18492#(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 05:41:59,594 INFO L290 TraceCheckUtils]: 63: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:59,594 INFO L290 TraceCheckUtils]: 62: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:59,594 INFO L290 TraceCheckUtils]: 61: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:59,594 INFO L272 TraceCheckUtils]: 60: Hoare triple {18492#(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))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:59,594 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18208#true} {18492#(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))} #86#return; {18492#(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 05:41:59,595 INFO L290 TraceCheckUtils]: 58: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:59,595 INFO L290 TraceCheckUtils]: 57: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:59,595 INFO L290 TraceCheckUtils]: 56: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:59,595 INFO L272 TraceCheckUtils]: 55: Hoare triple {18492#(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))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:59,595 INFO L290 TraceCheckUtils]: 54: Hoare triple {18492#(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))} assume !!(#t~post7 < 100);havoc #t~post7; {18492#(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 05:41:59,596 INFO L290 TraceCheckUtils]: 53: Hoare triple {18492#(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))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18492#(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 05:41:59,793 INFO L290 TraceCheckUtils]: 52: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 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))))) 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18492#(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 05:41:59,794 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {18208#true} {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 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))))) 0))} #92#return; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 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))))) 0))} is VALID [2022-04-28 05:41:59,795 INFO L290 TraceCheckUtils]: 50: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:59,795 INFO L290 TraceCheckUtils]: 49: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:59,795 INFO L290 TraceCheckUtils]: 48: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:59,795 INFO L272 TraceCheckUtils]: 47: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 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))))) 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)); {18208#true} is VALID [2022-04-28 05:41:59,795 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {18208#true} {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 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))))) 0))} #90#return; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 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))))) 0))} is VALID [2022-04-28 05:41:59,796 INFO L290 TraceCheckUtils]: 45: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:59,796 INFO L290 TraceCheckUtils]: 44: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:59,796 INFO L290 TraceCheckUtils]: 43: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:59,796 INFO L272 TraceCheckUtils]: 42: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 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))))) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:59,796 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18208#true} {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 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))))) 0))} #88#return; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 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))))) 0))} is VALID [2022-04-28 05:41:59,797 INFO L290 TraceCheckUtils]: 40: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:59,797 INFO L290 TraceCheckUtils]: 39: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:59,797 INFO L290 TraceCheckUtils]: 38: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:59,797 INFO L272 TraceCheckUtils]: 37: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 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))))) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:59,797 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18208#true} {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 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))))) 0))} #86#return; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 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))))) 0))} is VALID [2022-04-28 05:41:59,798 INFO L290 TraceCheckUtils]: 35: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:59,798 INFO L290 TraceCheckUtils]: 34: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:59,798 INFO L290 TraceCheckUtils]: 33: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:59,798 INFO L272 TraceCheckUtils]: 32: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 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))))) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:59,798 INFO L290 TraceCheckUtils]: 31: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 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))))) 0))} assume !!(#t~post7 < 100);havoc #t~post7; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 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))))) 0))} is VALID [2022-04-28 05:41:59,799 INFO L290 TraceCheckUtils]: 30: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 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))))) 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 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))))) 0))} is VALID [2022-04-28 05:41:59,799 INFO L290 TraceCheckUtils]: 29: Hoare triple {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 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))))) 0))} is VALID [2022-04-28 05:41:59,800 INFO L290 TraceCheckUtils]: 28: Hoare triple {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} assume !!(#t~post6 < 100);havoc #t~post6; {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-28 05:41:59,800 INFO L290 TraceCheckUtils]: 27: Hoare triple {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-28 05:41:59,801 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18208#true} {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} #84#return; {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-28 05:41:59,801 INFO L290 TraceCheckUtils]: 25: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:59,801 INFO L290 TraceCheckUtils]: 24: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:59,801 INFO L290 TraceCheckUtils]: 23: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:59,801 INFO L272 TraceCheckUtils]: 22: Hoare triple {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:59,802 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18208#true} {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} #82#return; {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-28 05:41:59,802 INFO L290 TraceCheckUtils]: 20: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:59,802 INFO L290 TraceCheckUtils]: 19: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:59,802 INFO L290 TraceCheckUtils]: 18: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:59,802 INFO L272 TraceCheckUtils]: 17: Hoare triple {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:59,802 INFO L290 TraceCheckUtils]: 16: Hoare triple {18208#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; {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-28 05:41:59,803 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18208#true} {18208#true} #80#return; {18208#true} is VALID [2022-04-28 05:41:59,803 INFO L290 TraceCheckUtils]: 14: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:59,803 INFO L290 TraceCheckUtils]: 13: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:59,803 INFO L290 TraceCheckUtils]: 12: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:59,803 INFO L272 TraceCheckUtils]: 11: Hoare triple {18208#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:59,803 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18208#true} {18208#true} #78#return; {18208#true} is VALID [2022-04-28 05:41:59,803 INFO L290 TraceCheckUtils]: 9: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:59,803 INFO L290 TraceCheckUtils]: 8: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 05:41:59,803 INFO L290 TraceCheckUtils]: 7: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 05:41:59,803 INFO L272 TraceCheckUtils]: 6: Hoare triple {18208#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18208#true} is VALID [2022-04-28 05:41:59,803 INFO L290 TraceCheckUtils]: 5: Hoare triple {18208#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; {18208#true} is VALID [2022-04-28 05:41:59,803 INFO L272 TraceCheckUtils]: 4: Hoare triple {18208#true} call #t~ret8 := main(); {18208#true} is VALID [2022-04-28 05:41:59,803 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18208#true} {18208#true} #98#return; {18208#true} is VALID [2022-04-28 05:41:59,803 INFO L290 TraceCheckUtils]: 2: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 05:41:59,804 INFO L290 TraceCheckUtils]: 1: Hoare triple {18208#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);~counter~0 := 0; {18208#true} is VALID [2022-04-28 05:41:59,804 INFO L272 TraceCheckUtils]: 0: Hoare triple {18208#true} call ULTIMATE.init(); {18208#true} is VALID [2022-04-28 05:41:59,804 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 16 proven. 10 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 05:41:59,804 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:41:59,804 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [584708955] [2022-04-28 05:41:59,804 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:41:59,805 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [330850443] [2022-04-28 05:41:59,805 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [330850443] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:41:59,805 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:41:59,805 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 05:41:59,805 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:41:59,805 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1476196266] [2022-04-28 05:41:59,805 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1476196266] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:41:59,805 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:41:59,805 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 05:41:59,805 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [95493167] [2022-04-28 05:41:59,805 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:41:59,806 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 84 [2022-04-28 05:41:59,806 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:41:59,806 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:41:59,854 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:41:59,854 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 05:41:59,854 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:41:59,854 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 05:41:59,854 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=147, Unknown=0, NotChecked=0, Total=182 [2022-04-28 05:41:59,854 INFO L87 Difference]: Start difference. First operand 206 states and 268 transitions. Second operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:42:01,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:01,397 INFO L93 Difference]: Finished difference Result 234 states and 311 transitions. [2022-04-28 05:42:01,398 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 05:42:01,398 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 84 [2022-04-28 05:42:01,398 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:42:01,398 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:42:01,408 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 114 transitions. [2022-04-28 05:42:01,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:42:01,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 114 transitions. [2022-04-28 05:42:01,411 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 114 transitions. [2022-04-28 05:42:01,551 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:42:01,556 INFO L225 Difference]: With dead ends: 234 [2022-04-28 05:42:01,556 INFO L226 Difference]: Without dead ends: 232 [2022-04-28 05:42:01,557 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 171 GetRequests, 154 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=61, Invalid=245, Unknown=0, NotChecked=0, Total=306 [2022-04-28 05:42:01,557 INFO L413 NwaCegarLoop]: 60 mSDtfsCounter, 25 mSDsluCounter, 247 mSDsCounter, 0 mSdLazyCounter, 313 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 307 SdHoareTripleChecker+Invalid, 334 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 313 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 05:42:01,557 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 307 Invalid, 334 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 313 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 05:42:01,558 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 232 states. [2022-04-28 05:42:01,923 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 232 to 229. [2022-04-28 05:42:01,924 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:42:01,924 INFO L82 GeneralOperation]: Start isEquivalent. First operand 232 states. Second operand has 229 states, 141 states have (on average 1.24822695035461) internal successors, (176), 148 states have internal predecessors, (176), 66 states have call successors, (66), 22 states have call predecessors, (66), 21 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 05:42:01,924 INFO L74 IsIncluded]: Start isIncluded. First operand 232 states. Second operand has 229 states, 141 states have (on average 1.24822695035461) internal successors, (176), 148 states have internal predecessors, (176), 66 states have call successors, (66), 22 states have call predecessors, (66), 21 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 05:42:01,925 INFO L87 Difference]: Start difference. First operand 232 states. Second operand has 229 states, 141 states have (on average 1.24822695035461) internal successors, (176), 148 states have internal predecessors, (176), 66 states have call successors, (66), 22 states have call predecessors, (66), 21 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 05:42:01,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:01,932 INFO L93 Difference]: Finished difference Result 232 states and 309 transitions. [2022-04-28 05:42:01,932 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 309 transitions. [2022-04-28 05:42:01,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:42:01,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:42:01,934 INFO L74 IsIncluded]: Start isIncluded. First operand has 229 states, 141 states have (on average 1.24822695035461) internal successors, (176), 148 states have internal predecessors, (176), 66 states have call successors, (66), 22 states have call predecessors, (66), 21 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) Second operand 232 states. [2022-04-28 05:42:01,934 INFO L87 Difference]: Start difference. First operand has 229 states, 141 states have (on average 1.24822695035461) internal successors, (176), 148 states have internal predecessors, (176), 66 states have call successors, (66), 22 states have call predecessors, (66), 21 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) Second operand 232 states. [2022-04-28 05:42:01,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:01,941 INFO L93 Difference]: Finished difference Result 232 states and 309 transitions. [2022-04-28 05:42:01,941 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 309 transitions. [2022-04-28 05:42:01,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:42:01,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:42:01,942 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:42:01,942 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:42:01,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 229 states, 141 states have (on average 1.24822695035461) internal successors, (176), 148 states have internal predecessors, (176), 66 states have call successors, (66), 22 states have call predecessors, (66), 21 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 05:42:01,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 229 states to 229 states and 306 transitions. [2022-04-28 05:42:01,949 INFO L78 Accepts]: Start accepts. Automaton has 229 states and 306 transitions. Word has length 84 [2022-04-28 05:42:01,949 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:42:01,950 INFO L495 AbstractCegarLoop]: Abstraction has 229 states and 306 transitions. [2022-04-28 05:42:01,950 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:42:01,950 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 229 states and 306 transitions. [2022-04-28 05:42:02,348 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 306 edges. 306 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:42:02,348 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 306 transitions. [2022-04-28 05:42:02,349 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 88 [2022-04-28 05:42:02,349 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:42:02,349 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:42:02,372 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 05:42:02,555 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 05:42:02,555 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:42:02,556 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:42:02,556 INFO L85 PathProgramCache]: Analyzing trace with hash 1676300815, now seen corresponding path program 3 times [2022-04-28 05:42:02,556 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:42:02,556 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [278321270] [2022-04-28 05:42:02,556 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:42:02,556 INFO L85 PathProgramCache]: Analyzing trace with hash 1676300815, now seen corresponding path program 4 times [2022-04-28 05:42:02,556 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:42:02,556 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [105892622] [2022-04-28 05:42:02,557 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:42:02,557 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:42:02,566 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:42:02,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [558986694] [2022-04-28 05:42:02,566 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:42:02,566 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:42:02,567 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:42:02,567 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:42:02,571 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 05:42:02,617 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:42:02,617 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:42:02,618 INFO L263 TraceCheckSpWp]: Trace formula consists of 211 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 05:42:02,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:42:02,631 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:42:02,832 INFO L272 TraceCheckUtils]: 0: Hoare triple {20123#true} call ULTIMATE.init(); {20123#true} is VALID [2022-04-28 05:42:02,832 INFO L290 TraceCheckUtils]: 1: Hoare triple {20123#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);~counter~0 := 0; {20123#true} is VALID [2022-04-28 05:42:02,832 INFO L290 TraceCheckUtils]: 2: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 05:42:02,832 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20123#true} {20123#true} #98#return; {20123#true} is VALID [2022-04-28 05:42:02,832 INFO L272 TraceCheckUtils]: 4: Hoare triple {20123#true} call #t~ret8 := main(); {20123#true} is VALID [2022-04-28 05:42:02,833 INFO L290 TraceCheckUtils]: 5: Hoare triple {20123#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; {20123#true} is VALID [2022-04-28 05:42:02,833 INFO L272 TraceCheckUtils]: 6: Hoare triple {20123#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20123#true} is VALID [2022-04-28 05:42:02,833 INFO L290 TraceCheckUtils]: 7: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 05:42:02,833 INFO L290 TraceCheckUtils]: 8: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 05:42:02,833 INFO L290 TraceCheckUtils]: 9: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 05:42:02,833 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20123#true} {20123#true} #78#return; {20123#true} is VALID [2022-04-28 05:42:02,833 INFO L272 TraceCheckUtils]: 11: Hoare triple {20123#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20123#true} is VALID [2022-04-28 05:42:02,833 INFO L290 TraceCheckUtils]: 12: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 05:42:02,833 INFO L290 TraceCheckUtils]: 13: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 05:42:02,833 INFO L290 TraceCheckUtils]: 14: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 05:42:02,833 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20123#true} {20123#true} #80#return; {20123#true} is VALID [2022-04-28 05:42:02,833 INFO L290 TraceCheckUtils]: 16: Hoare triple {20123#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; {20123#true} is VALID [2022-04-28 05:42:02,833 INFO L272 TraceCheckUtils]: 17: Hoare triple {20123#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {20123#true} is VALID [2022-04-28 05:42:02,833 INFO L290 TraceCheckUtils]: 18: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 05:42:02,834 INFO L290 TraceCheckUtils]: 19: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 05:42:02,834 INFO L290 TraceCheckUtils]: 20: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 05:42:02,834 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20123#true} {20123#true} #82#return; {20123#true} is VALID [2022-04-28 05:42:02,834 INFO L272 TraceCheckUtils]: 22: Hoare triple {20123#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {20123#true} is VALID [2022-04-28 05:42:02,834 INFO L290 TraceCheckUtils]: 23: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 05:42:02,834 INFO L290 TraceCheckUtils]: 24: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 05:42:02,834 INFO L290 TraceCheckUtils]: 25: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 05:42:02,834 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20123#true} {20123#true} #84#return; {20123#true} is VALID [2022-04-28 05:42:02,834 INFO L290 TraceCheckUtils]: 27: Hoare triple {20123#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20123#true} is VALID [2022-04-28 05:42:02,834 INFO L290 TraceCheckUtils]: 28: Hoare triple {20123#true} assume !!(#t~post6 < 100);havoc #t~post6; {20123#true} is VALID [2022-04-28 05:42:02,834 INFO L290 TraceCheckUtils]: 29: Hoare triple {20123#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20123#true} is VALID [2022-04-28 05:42:02,834 INFO L290 TraceCheckUtils]: 30: Hoare triple {20123#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20123#true} is VALID [2022-04-28 05:42:02,834 INFO L290 TraceCheckUtils]: 31: Hoare triple {20123#true} assume !!(#t~post7 < 100);havoc #t~post7; {20123#true} is VALID [2022-04-28 05:42:02,834 INFO L272 TraceCheckUtils]: 32: Hoare triple {20123#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 05:42:02,835 INFO L290 TraceCheckUtils]: 33: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 05:42:02,835 INFO L290 TraceCheckUtils]: 34: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 05:42:02,835 INFO L290 TraceCheckUtils]: 35: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 05:42:02,835 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {20123#true} {20123#true} #86#return; {20123#true} is VALID [2022-04-28 05:42:02,835 INFO L272 TraceCheckUtils]: 37: Hoare triple {20123#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 05:42:02,835 INFO L290 TraceCheckUtils]: 38: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 05:42:02,835 INFO L290 TraceCheckUtils]: 39: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 05:42:02,835 INFO L290 TraceCheckUtils]: 40: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 05:42:02,835 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20123#true} {20123#true} #88#return; {20123#true} is VALID [2022-04-28 05:42:02,835 INFO L272 TraceCheckUtils]: 42: Hoare triple {20123#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 05:42:02,835 INFO L290 TraceCheckUtils]: 43: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 05:42:02,835 INFO L290 TraceCheckUtils]: 44: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 05:42:02,835 INFO L290 TraceCheckUtils]: 45: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 05:42:02,835 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {20123#true} {20123#true} #90#return; {20123#true} is VALID [2022-04-28 05:42:02,836 INFO L272 TraceCheckUtils]: 47: Hoare triple {20123#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)); {20123#true} is VALID [2022-04-28 05:42:02,836 INFO L290 TraceCheckUtils]: 48: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 05:42:02,836 INFO L290 TraceCheckUtils]: 49: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 05:42:02,836 INFO L290 TraceCheckUtils]: 50: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 05:42:02,836 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {20123#true} {20123#true} #92#return; {20123#true} is VALID [2022-04-28 05:42:02,836 INFO L290 TraceCheckUtils]: 52: Hoare triple {20123#true} assume !(~c~0 >= ~b~0); {20284#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:42:02,837 INFO L290 TraceCheckUtils]: 53: Hoare triple {20284#(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; {20288#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:42:02,837 INFO L290 TraceCheckUtils]: 54: Hoare triple {20288#(< main_~b~0 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20288#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:42:02,837 INFO L290 TraceCheckUtils]: 55: Hoare triple {20288#(< main_~b~0 main_~a~0)} assume !!(#t~post6 < 100);havoc #t~post6; {20288#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:42:02,837 INFO L290 TraceCheckUtils]: 56: Hoare triple {20288#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:42:02,838 INFO L290 TraceCheckUtils]: 57: Hoare triple {20298#(< main_~b~0 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:42:02,838 INFO L290 TraceCheckUtils]: 58: Hoare triple {20298#(< main_~b~0 main_~c~0)} assume !!(#t~post7 < 100);havoc #t~post7; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:42:02,838 INFO L272 TraceCheckUtils]: 59: Hoare triple {20298#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 05:42:02,838 INFO L290 TraceCheckUtils]: 60: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 05:42:02,838 INFO L290 TraceCheckUtils]: 61: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 05:42:02,838 INFO L290 TraceCheckUtils]: 62: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 05:42:02,843 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {20123#true} {20298#(< main_~b~0 main_~c~0)} #86#return; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:42:02,843 INFO L272 TraceCheckUtils]: 64: Hoare triple {20298#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 05:42:02,844 INFO L290 TraceCheckUtils]: 65: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 05:42:02,844 INFO L290 TraceCheckUtils]: 66: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 05:42:02,844 INFO L290 TraceCheckUtils]: 67: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 05:42:02,845 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {20123#true} {20298#(< main_~b~0 main_~c~0)} #88#return; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:42:02,845 INFO L272 TraceCheckUtils]: 69: Hoare triple {20298#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 05:42:02,845 INFO L290 TraceCheckUtils]: 70: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 05:42:02,845 INFO L290 TraceCheckUtils]: 71: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 05:42:02,845 INFO L290 TraceCheckUtils]: 72: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 05:42:02,846 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {20123#true} {20298#(< main_~b~0 main_~c~0)} #90#return; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:42:02,846 INFO L272 TraceCheckUtils]: 74: Hoare triple {20298#(< 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)); {20123#true} is VALID [2022-04-28 05:42:02,846 INFO L290 TraceCheckUtils]: 75: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 05:42:02,846 INFO L290 TraceCheckUtils]: 76: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 05:42:02,846 INFO L290 TraceCheckUtils]: 77: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 05:42:02,847 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {20123#true} {20298#(< main_~b~0 main_~c~0)} #92#return; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:42:02,848 INFO L290 TraceCheckUtils]: 79: Hoare triple {20298#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {20124#false} is VALID [2022-04-28 05:42:02,848 INFO L290 TraceCheckUtils]: 80: Hoare triple {20124#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; {20124#false} is VALID [2022-04-28 05:42:02,848 INFO L290 TraceCheckUtils]: 81: Hoare triple {20124#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20124#false} is VALID [2022-04-28 05:42:02,848 INFO L290 TraceCheckUtils]: 82: Hoare triple {20124#false} assume !(#t~post6 < 100);havoc #t~post6; {20124#false} is VALID [2022-04-28 05:42:02,848 INFO L272 TraceCheckUtils]: 83: Hoare triple {20124#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {20124#false} is VALID [2022-04-28 05:42:02,848 INFO L290 TraceCheckUtils]: 84: Hoare triple {20124#false} ~cond := #in~cond; {20124#false} is VALID [2022-04-28 05:42:02,848 INFO L290 TraceCheckUtils]: 85: Hoare triple {20124#false} assume 0 == ~cond; {20124#false} is VALID [2022-04-28 05:42:02,848 INFO L290 TraceCheckUtils]: 86: Hoare triple {20124#false} assume !false; {20124#false} is VALID [2022-04-28 05:42:02,849 INFO L134 CoverageAnalysis]: Checked inductivity of 167 backedges. 31 proven. 0 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 05:42:02,849 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:42:02,849 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:42:02,849 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [105892622] [2022-04-28 05:42:02,849 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:42:02,849 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [558986694] [2022-04-28 05:42:02,849 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [558986694] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:42:02,849 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:42:02,849 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:42:02,850 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:42:02,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [278321270] [2022-04-28 05:42:02,850 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [278321270] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:42:02,850 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:42:02,850 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:42:02,850 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1354813209] [2022-04-28 05:42:02,850 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:42:02,853 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) Word has length 87 [2022-04-28 05:42:02,853 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:42:02,853 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 05:42:02,917 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:42:02,917 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:42:02,917 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:42:02,918 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:42:02,918 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:42:02,918 INFO L87 Difference]: Start difference. First operand 229 states and 306 transitions. Second operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 05:42:03,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:03,718 INFO L93 Difference]: Finished difference Result 371 states and 532 transitions. [2022-04-28 05:42:03,718 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 05:42:03,718 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) Word has length 87 [2022-04-28 05:42:03,718 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:42:03,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 05:42:03,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 110 transitions. [2022-04-28 05:42:03,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 05:42:03,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 110 transitions. [2022-04-28 05:42:03,722 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 110 transitions. [2022-04-28 05:42:03,823 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:42:03,830 INFO L225 Difference]: With dead ends: 371 [2022-04-28 05:42:03,830 INFO L226 Difference]: Without dead ends: 291 [2022-04-28 05:42:03,831 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 84 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 05:42:03,832 INFO L413 NwaCegarLoop]: 61 mSDtfsCounter, 12 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 74 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 172 SdHoareTripleChecker+Invalid, 79 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 74 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:42:03,832 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 172 Invalid, 79 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 74 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:42:03,832 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 291 states. [2022-04-28 05:42:04,385 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 291 to 257. [2022-04-28 05:42:04,385 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:42:04,386 INFO L82 GeneralOperation]: Start isEquivalent. First operand 291 states. Second operand has 257 states, 161 states have (on average 1.2546583850931676) internal successors, (202), 168 states have internal predecessors, (202), 74 states have call successors, (74), 22 states have call predecessors, (74), 21 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 05:42:04,387 INFO L74 IsIncluded]: Start isIncluded. First operand 291 states. Second operand has 257 states, 161 states have (on average 1.2546583850931676) internal successors, (202), 168 states have internal predecessors, (202), 74 states have call successors, (74), 22 states have call predecessors, (74), 21 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 05:42:04,387 INFO L87 Difference]: Start difference. First operand 291 states. Second operand has 257 states, 161 states have (on average 1.2546583850931676) internal successors, (202), 168 states have internal predecessors, (202), 74 states have call successors, (74), 22 states have call predecessors, (74), 21 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 05:42:04,396 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:04,396 INFO L93 Difference]: Finished difference Result 291 states and 403 transitions. [2022-04-28 05:42:04,396 INFO L276 IsEmpty]: Start isEmpty. Operand 291 states and 403 transitions. [2022-04-28 05:42:04,397 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:42:04,397 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:42:04,398 INFO L74 IsIncluded]: Start isIncluded. First operand has 257 states, 161 states have (on average 1.2546583850931676) internal successors, (202), 168 states have internal predecessors, (202), 74 states have call successors, (74), 22 states have call predecessors, (74), 21 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) Second operand 291 states. [2022-04-28 05:42:04,398 INFO L87 Difference]: Start difference. First operand has 257 states, 161 states have (on average 1.2546583850931676) internal successors, (202), 168 states have internal predecessors, (202), 74 states have call successors, (74), 22 states have call predecessors, (74), 21 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) Second operand 291 states. [2022-04-28 05:42:04,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:04,407 INFO L93 Difference]: Finished difference Result 291 states and 403 transitions. [2022-04-28 05:42:04,407 INFO L276 IsEmpty]: Start isEmpty. Operand 291 states and 403 transitions. [2022-04-28 05:42:04,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:42:04,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:42:04,408 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:42:04,409 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:42:04,409 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 257 states, 161 states have (on average 1.2546583850931676) internal successors, (202), 168 states have internal predecessors, (202), 74 states have call successors, (74), 22 states have call predecessors, (74), 21 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 05:42:04,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 257 states to 257 states and 348 transitions. [2022-04-28 05:42:04,417 INFO L78 Accepts]: Start accepts. Automaton has 257 states and 348 transitions. Word has length 87 [2022-04-28 05:42:04,417 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:42:04,417 INFO L495 AbstractCegarLoop]: Abstraction has 257 states and 348 transitions. [2022-04-28 05:42:04,417 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 05:42:04,417 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 257 states and 348 transitions. [2022-04-28 05:42:04,854 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 348 edges. 348 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:42:04,854 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 348 transitions. [2022-04-28 05:42:04,855 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-28 05:42:04,855 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:42:04,855 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:42:04,881 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-28 05:42:05,077 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:42:05,078 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:42:05,078 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:42:05,078 INFO L85 PathProgramCache]: Analyzing trace with hash -1175887352, now seen corresponding path program 1 times [2022-04-28 05:42:05,078 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:42:05,078 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1807213521] [2022-04-28 05:42:05,078 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:42:05,079 INFO L85 PathProgramCache]: Analyzing trace with hash -1175887352, now seen corresponding path program 2 times [2022-04-28 05:42:05,079 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:42:05,079 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [64671822] [2022-04-28 05:42:05,079 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:42:05,079 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:42:05,088 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:42:05,088 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [620159999] [2022-04-28 05:42:05,088 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:42:05,088 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:42:05,088 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:42:05,089 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:42:05,090 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 05:42:05,140 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:42:05,140 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:42:05,141 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 05:42:05,160 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:42:05,161 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:42:05,467 INFO L272 TraceCheckUtils]: 0: Hoare triple {22231#true} call ULTIMATE.init(); {22231#true} is VALID [2022-04-28 05:42:05,468 INFO L290 TraceCheckUtils]: 1: Hoare triple {22231#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);~counter~0 := 0; {22231#true} is VALID [2022-04-28 05:42:05,468 INFO L290 TraceCheckUtils]: 2: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:05,468 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22231#true} {22231#true} #98#return; {22231#true} is VALID [2022-04-28 05:42:05,468 INFO L272 TraceCheckUtils]: 4: Hoare triple {22231#true} call #t~ret8 := main(); {22231#true} is VALID [2022-04-28 05:42:05,468 INFO L290 TraceCheckUtils]: 5: Hoare triple {22231#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; {22231#true} is VALID [2022-04-28 05:42:05,468 INFO L272 TraceCheckUtils]: 6: Hoare triple {22231#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:05,468 INFO L290 TraceCheckUtils]: 7: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:05,468 INFO L290 TraceCheckUtils]: 8: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:05,469 INFO L290 TraceCheckUtils]: 9: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:05,469 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22231#true} {22231#true} #78#return; {22231#true} is VALID [2022-04-28 05:42:05,469 INFO L272 TraceCheckUtils]: 11: Hoare triple {22231#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:05,469 INFO L290 TraceCheckUtils]: 12: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:05,469 INFO L290 TraceCheckUtils]: 13: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:05,469 INFO L290 TraceCheckUtils]: 14: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:05,469 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22231#true} {22231#true} #80#return; {22231#true} is VALID [2022-04-28 05:42:05,469 INFO L290 TraceCheckUtils]: 16: Hoare triple {22231#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; {22284#(= main_~q~0 0)} is VALID [2022-04-28 05:42:05,470 INFO L272 TraceCheckUtils]: 17: Hoare triple {22284#(= main_~q~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:05,470 INFO L290 TraceCheckUtils]: 18: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:05,470 INFO L290 TraceCheckUtils]: 19: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:05,470 INFO L290 TraceCheckUtils]: 20: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:05,470 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #82#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 05:42:05,470 INFO L272 TraceCheckUtils]: 22: Hoare triple {22284#(= main_~q~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:05,471 INFO L290 TraceCheckUtils]: 23: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:05,471 INFO L290 TraceCheckUtils]: 24: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:05,471 INFO L290 TraceCheckUtils]: 25: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:05,471 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #84#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 05:42:05,472 INFO L290 TraceCheckUtils]: 27: Hoare triple {22284#(= main_~q~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22284#(= main_~q~0 0)} is VALID [2022-04-28 05:42:05,472 INFO L290 TraceCheckUtils]: 28: Hoare triple {22284#(= main_~q~0 0)} assume !!(#t~post6 < 100);havoc #t~post6; {22284#(= main_~q~0 0)} is VALID [2022-04-28 05:42:05,472 INFO L290 TraceCheckUtils]: 29: Hoare triple {22284#(= main_~q~0 0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22284#(= main_~q~0 0)} is VALID [2022-04-28 05:42:05,473 INFO L290 TraceCheckUtils]: 30: Hoare triple {22284#(= main_~q~0 0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22284#(= main_~q~0 0)} is VALID [2022-04-28 05:42:05,473 INFO L290 TraceCheckUtils]: 31: Hoare triple {22284#(= main_~q~0 0)} assume !!(#t~post7 < 100);havoc #t~post7; {22284#(= main_~q~0 0)} is VALID [2022-04-28 05:42:05,473 INFO L272 TraceCheckUtils]: 32: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:05,473 INFO L290 TraceCheckUtils]: 33: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:05,473 INFO L290 TraceCheckUtils]: 34: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:05,473 INFO L290 TraceCheckUtils]: 35: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:05,474 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #86#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 05:42:05,474 INFO L272 TraceCheckUtils]: 37: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:05,474 INFO L290 TraceCheckUtils]: 38: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:05,474 INFO L290 TraceCheckUtils]: 39: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:05,474 INFO L290 TraceCheckUtils]: 40: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:05,475 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #88#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 05:42:05,475 INFO L272 TraceCheckUtils]: 42: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:05,475 INFO L290 TraceCheckUtils]: 43: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:05,475 INFO L290 TraceCheckUtils]: 44: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:05,475 INFO L290 TraceCheckUtils]: 45: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:05,476 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #90#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 05:42:05,476 INFO L272 TraceCheckUtils]: 47: Hoare triple {22284#(= 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)); {22231#true} is VALID [2022-04-28 05:42:05,476 INFO L290 TraceCheckUtils]: 48: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:05,476 INFO L290 TraceCheckUtils]: 49: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:05,476 INFO L290 TraceCheckUtils]: 50: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:05,477 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #92#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 05:42:05,477 INFO L290 TraceCheckUtils]: 52: Hoare triple {22284#(= main_~q~0 0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {22284#(= main_~q~0 0)} is VALID [2022-04-28 05:42:05,478 INFO L290 TraceCheckUtils]: 53: Hoare triple {22284#(= main_~q~0 0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22284#(= main_~q~0 0)} is VALID [2022-04-28 05:42:05,478 INFO L290 TraceCheckUtils]: 54: Hoare triple {22284#(= main_~q~0 0)} assume !!(#t~post7 < 100);havoc #t~post7; {22284#(= main_~q~0 0)} is VALID [2022-04-28 05:42:05,478 INFO L272 TraceCheckUtils]: 55: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:05,478 INFO L290 TraceCheckUtils]: 56: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:05,479 INFO L290 TraceCheckUtils]: 57: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:05,479 INFO L290 TraceCheckUtils]: 58: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:05,479 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #86#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 05:42:05,479 INFO L272 TraceCheckUtils]: 60: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:05,479 INFO L290 TraceCheckUtils]: 61: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:05,480 INFO L290 TraceCheckUtils]: 62: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:05,480 INFO L290 TraceCheckUtils]: 63: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:05,480 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #88#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 05:42:05,480 INFO L272 TraceCheckUtils]: 65: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:05,481 INFO L290 TraceCheckUtils]: 66: Hoare triple {22231#true} ~cond := #in~cond; {22435#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:42:05,481 INFO L290 TraceCheckUtils]: 67: Hoare triple {22435#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:42:05,481 INFO L290 TraceCheckUtils]: 68: Hoare triple {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:42:05,482 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} {22284#(= main_~q~0 0)} #90#return; {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-28 05:42:05,482 INFO L272 TraceCheckUtils]: 70: Hoare triple {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:05,482 INFO L290 TraceCheckUtils]: 71: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:05,483 INFO L290 TraceCheckUtils]: 72: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:05,483 INFO L290 TraceCheckUtils]: 73: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:05,483 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {22231#true} {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} #92#return; {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-28 05:42:05,484 INFO L290 TraceCheckUtils]: 75: Hoare triple {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-28 05:42:05,484 INFO L290 TraceCheckUtils]: 76: Hoare triple {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:42:05,485 INFO L290 TraceCheckUtils]: 77: Hoare triple {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:42:05,485 INFO L290 TraceCheckUtils]: 78: Hoare triple {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(#t~post6 < 100);havoc #t~post6; {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:42:05,486 INFO L290 TraceCheckUtils]: 79: Hoare triple {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(0 != ~b~0); {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:42:05,486 INFO L272 TraceCheckUtils]: 80: Hoare triple {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:05,486 INFO L290 TraceCheckUtils]: 81: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:05,486 INFO L290 TraceCheckUtils]: 82: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:05,486 INFO L290 TraceCheckUtils]: 83: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:05,486 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {22231#true} {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #94#return; {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:42:05,487 INFO L272 TraceCheckUtils]: 85: Hoare triple {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~p~0 * ~x~0 + ~r~0 * ~y~0 == ~a~0 then 1 else 0)); {22496#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:42:05,487 INFO L290 TraceCheckUtils]: 86: Hoare triple {22496#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22500#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:42:05,488 INFO L290 TraceCheckUtils]: 87: Hoare triple {22500#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22232#false} is VALID [2022-04-28 05:42:05,488 INFO L290 TraceCheckUtils]: 88: Hoare triple {22232#false} assume !false; {22232#false} is VALID [2022-04-28 05:42:05,488 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 37 proven. 10 refuted. 0 times theorem prover too weak. 149 trivial. 0 not checked. [2022-04-28 05:42:05,488 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:42:19,866 INFO L290 TraceCheckUtils]: 88: Hoare triple {22232#false} assume !false; {22232#false} is VALID [2022-04-28 05:42:19,866 INFO L290 TraceCheckUtils]: 87: Hoare triple {22500#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22232#false} is VALID [2022-04-28 05:42:19,867 INFO L290 TraceCheckUtils]: 86: Hoare triple {22496#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22500#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:42:19,867 INFO L272 TraceCheckUtils]: 85: Hoare triple {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 + ~r~0 * ~y~0 == ~a~0 then 1 else 0)); {22496#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:42:19,868 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {22231#true} {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #94#return; {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:42:19,868 INFO L290 TraceCheckUtils]: 83: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:19,868 INFO L290 TraceCheckUtils]: 82: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:19,868 INFO L290 TraceCheckUtils]: 81: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:19,868 INFO L272 TraceCheckUtils]: 80: Hoare triple {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:19,868 INFO L290 TraceCheckUtils]: 79: Hoare triple {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(0 != ~b~0); {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:42:19,869 INFO L290 TraceCheckUtils]: 78: Hoare triple {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:42:19,869 INFO L290 TraceCheckUtils]: 77: Hoare triple {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:42:19,870 INFO L290 TraceCheckUtils]: 76: Hoare triple {22544#(= 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; {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:42:19,870 INFO L290 TraceCheckUtils]: 75: Hoare triple {22544#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {22544#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:42:19,870 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {22231#true} {22544#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #92#return; {22544#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:42:19,871 INFO L290 TraceCheckUtils]: 73: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:19,871 INFO L290 TraceCheckUtils]: 72: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:19,871 INFO L290 TraceCheckUtils]: 71: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:19,871 INFO L272 TraceCheckUtils]: 70: Hoare triple {22544#(= 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)); {22231#true} is VALID [2022-04-28 05:42:19,871 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} {22231#true} #90#return; {22544#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:42:19,872 INFO L290 TraceCheckUtils]: 68: Hoare triple {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:42:19,872 INFO L290 TraceCheckUtils]: 67: Hoare triple {22575#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:42:19,872 INFO L290 TraceCheckUtils]: 66: Hoare triple {22231#true} ~cond := #in~cond; {22575#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:42:19,872 INFO L272 TraceCheckUtils]: 65: Hoare triple {22231#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:19,873 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22231#true} {22231#true} #88#return; {22231#true} is VALID [2022-04-28 05:42:19,873 INFO L290 TraceCheckUtils]: 63: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:19,873 INFO L290 TraceCheckUtils]: 62: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:19,873 INFO L290 TraceCheckUtils]: 61: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:19,873 INFO L272 TraceCheckUtils]: 60: Hoare triple {22231#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:19,873 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {22231#true} {22231#true} #86#return; {22231#true} is VALID [2022-04-28 05:42:19,873 INFO L290 TraceCheckUtils]: 58: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:19,873 INFO L290 TraceCheckUtils]: 57: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:19,873 INFO L290 TraceCheckUtils]: 56: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:19,873 INFO L272 TraceCheckUtils]: 55: Hoare triple {22231#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:19,873 INFO L290 TraceCheckUtils]: 54: Hoare triple {22231#true} assume !!(#t~post7 < 100);havoc #t~post7; {22231#true} is VALID [2022-04-28 05:42:19,874 INFO L290 TraceCheckUtils]: 53: Hoare triple {22231#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22231#true} is VALID [2022-04-28 05:42:19,874 INFO L290 TraceCheckUtils]: 52: Hoare triple {22231#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {22231#true} is VALID [2022-04-28 05:42:19,874 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {22231#true} {22231#true} #92#return; {22231#true} is VALID [2022-04-28 05:42:19,874 INFO L290 TraceCheckUtils]: 50: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:19,874 INFO L290 TraceCheckUtils]: 49: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:19,874 INFO L290 TraceCheckUtils]: 48: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:19,874 INFO L272 TraceCheckUtils]: 47: Hoare triple {22231#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)); {22231#true} is VALID [2022-04-28 05:42:19,874 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {22231#true} {22231#true} #90#return; {22231#true} is VALID [2022-04-28 05:42:19,874 INFO L290 TraceCheckUtils]: 45: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:19,875 INFO L290 TraceCheckUtils]: 44: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:19,875 INFO L290 TraceCheckUtils]: 43: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:19,875 INFO L272 TraceCheckUtils]: 42: Hoare triple {22231#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:19,875 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {22231#true} {22231#true} #88#return; {22231#true} is VALID [2022-04-28 05:42:19,875 INFO L290 TraceCheckUtils]: 40: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:19,875 INFO L290 TraceCheckUtils]: 39: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:19,875 INFO L290 TraceCheckUtils]: 38: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:19,875 INFO L272 TraceCheckUtils]: 37: Hoare triple {22231#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:19,875 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {22231#true} {22231#true} #86#return; {22231#true} is VALID [2022-04-28 05:42:19,876 INFO L290 TraceCheckUtils]: 35: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:19,876 INFO L290 TraceCheckUtils]: 34: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:19,876 INFO L290 TraceCheckUtils]: 33: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:19,876 INFO L272 TraceCheckUtils]: 32: Hoare triple {22231#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:19,876 INFO L290 TraceCheckUtils]: 31: Hoare triple {22231#true} assume !!(#t~post7 < 100);havoc #t~post7; {22231#true} is VALID [2022-04-28 05:42:19,876 INFO L290 TraceCheckUtils]: 30: Hoare triple {22231#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22231#true} is VALID [2022-04-28 05:42:19,876 INFO L290 TraceCheckUtils]: 29: Hoare triple {22231#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22231#true} is VALID [2022-04-28 05:42:19,876 INFO L290 TraceCheckUtils]: 28: Hoare triple {22231#true} assume !!(#t~post6 < 100);havoc #t~post6; {22231#true} is VALID [2022-04-28 05:42:19,876 INFO L290 TraceCheckUtils]: 27: Hoare triple {22231#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22231#true} is VALID [2022-04-28 05:42:19,876 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22231#true} {22231#true} #84#return; {22231#true} is VALID [2022-04-28 05:42:19,877 INFO L290 TraceCheckUtils]: 25: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:19,877 INFO L290 TraceCheckUtils]: 24: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:19,877 INFO L290 TraceCheckUtils]: 23: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:19,877 INFO L272 TraceCheckUtils]: 22: Hoare triple {22231#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:19,877 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {22231#true} {22231#true} #82#return; {22231#true} is VALID [2022-04-28 05:42:19,877 INFO L290 TraceCheckUtils]: 20: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:19,877 INFO L290 TraceCheckUtils]: 19: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:19,877 INFO L290 TraceCheckUtils]: 18: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:19,877 INFO L272 TraceCheckUtils]: 17: Hoare triple {22231#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:19,877 INFO L290 TraceCheckUtils]: 16: Hoare triple {22231#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; {22231#true} is VALID [2022-04-28 05:42:19,877 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22231#true} {22231#true} #80#return; {22231#true} is VALID [2022-04-28 05:42:19,878 INFO L290 TraceCheckUtils]: 14: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:19,878 INFO L290 TraceCheckUtils]: 13: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:19,878 INFO L290 TraceCheckUtils]: 12: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:19,878 INFO L272 TraceCheckUtils]: 11: Hoare triple {22231#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:19,878 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22231#true} {22231#true} #78#return; {22231#true} is VALID [2022-04-28 05:42:19,878 INFO L290 TraceCheckUtils]: 9: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:19,878 INFO L290 TraceCheckUtils]: 8: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 05:42:19,878 INFO L290 TraceCheckUtils]: 7: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 05:42:19,878 INFO L272 TraceCheckUtils]: 6: Hoare triple {22231#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22231#true} is VALID [2022-04-28 05:42:19,878 INFO L290 TraceCheckUtils]: 5: Hoare triple {22231#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; {22231#true} is VALID [2022-04-28 05:42:19,878 INFO L272 TraceCheckUtils]: 4: Hoare triple {22231#true} call #t~ret8 := main(); {22231#true} is VALID [2022-04-28 05:42:19,879 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22231#true} {22231#true} #98#return; {22231#true} is VALID [2022-04-28 05:42:19,879 INFO L290 TraceCheckUtils]: 2: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 05:42:19,879 INFO L290 TraceCheckUtils]: 1: Hoare triple {22231#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);~counter~0 := 0; {22231#true} is VALID [2022-04-28 05:42:19,879 INFO L272 TraceCheckUtils]: 0: Hoare triple {22231#true} call ULTIMATE.init(); {22231#true} is VALID [2022-04-28 05:42:19,880 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 40 proven. 7 refuted. 0 times theorem prover too weak. 149 trivial. 0 not checked. [2022-04-28 05:42:19,880 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:42:19,880 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [64671822] [2022-04-28 05:42:19,881 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:42:19,881 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [620159999] [2022-04-28 05:42:19,881 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [620159999] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:42:19,881 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:42:19,881 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-28 05:42:19,881 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:42:19,881 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1807213521] [2022-04-28 05:42:19,881 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1807213521] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:42:19,881 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:42:19,882 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 05:42:19,882 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1958273420] [2022-04-28 05:42:19,882 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:42:19,882 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 89 [2022-04-28 05:42:19,882 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:42:19,882 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 05:42:19,937 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:42:19,938 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 05:42:19,938 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:42:19,938 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 05:42:19,938 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-04-28 05:42:19,938 INFO L87 Difference]: Start difference. First operand 257 states and 348 transitions. Second operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 05:42:21,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:21,485 INFO L93 Difference]: Finished difference Result 301 states and 415 transitions. [2022-04-28 05:42:21,485 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 05:42:21,485 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 89 [2022-04-28 05:42:21,485 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:42:21,485 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 05:42:21,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 89 transitions. [2022-04-28 05:42:21,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 05:42:21,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 89 transitions. [2022-04-28 05:42:21,487 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 89 transitions. [2022-04-28 05:42:21,581 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 05:42:21,589 INFO L225 Difference]: With dead ends: 301 [2022-04-28 05:42:21,589 INFO L226 Difference]: Without dead ends: 297 [2022-04-28 05:42:21,590 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 179 GetRequests, 166 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 05:42:21,590 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 24 mSDsluCounter, 212 mSDsCounter, 0 mSdLazyCounter, 242 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 259 SdHoareTripleChecker+Invalid, 246 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 242 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 05:42:21,591 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 259 Invalid, 246 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 242 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 05:42:21,591 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 297 states. [2022-04-28 05:42:22,184 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 297 to 293. [2022-04-28 05:42:22,184 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:42:22,184 INFO L82 GeneralOperation]: Start isEquivalent. First operand 297 states. Second operand has 293 states, 183 states have (on average 1.273224043715847) internal successors, (233), 191 states have internal predecessors, (233), 87 states have call successors, (87), 23 states have call predecessors, (87), 22 states have return successors, (84), 78 states have call predecessors, (84), 84 states have call successors, (84) [2022-04-28 05:42:22,185 INFO L74 IsIncluded]: Start isIncluded. First operand 297 states. Second operand has 293 states, 183 states have (on average 1.273224043715847) internal successors, (233), 191 states have internal predecessors, (233), 87 states have call successors, (87), 23 states have call predecessors, (87), 22 states have return successors, (84), 78 states have call predecessors, (84), 84 states have call successors, (84) [2022-04-28 05:42:22,185 INFO L87 Difference]: Start difference. First operand 297 states. Second operand has 293 states, 183 states have (on average 1.273224043715847) internal successors, (233), 191 states have internal predecessors, (233), 87 states have call successors, (87), 23 states have call predecessors, (87), 22 states have return successors, (84), 78 states have call predecessors, (84), 84 states have call successors, (84) [2022-04-28 05:42:22,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:22,193 INFO L93 Difference]: Finished difference Result 297 states and 408 transitions. [2022-04-28 05:42:22,194 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 408 transitions. [2022-04-28 05:42:22,194 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:42:22,195 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:42:22,195 INFO L74 IsIncluded]: Start isIncluded. First operand has 293 states, 183 states have (on average 1.273224043715847) internal successors, (233), 191 states have internal predecessors, (233), 87 states have call successors, (87), 23 states have call predecessors, (87), 22 states have return successors, (84), 78 states have call predecessors, (84), 84 states have call successors, (84) Second operand 297 states. [2022-04-28 05:42:22,195 INFO L87 Difference]: Start difference. First operand has 293 states, 183 states have (on average 1.273224043715847) internal successors, (233), 191 states have internal predecessors, (233), 87 states have call successors, (87), 23 states have call predecessors, (87), 22 states have return successors, (84), 78 states have call predecessors, (84), 84 states have call successors, (84) Second operand 297 states. [2022-04-28 05:42:22,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:22,204 INFO L93 Difference]: Finished difference Result 297 states and 408 transitions. [2022-04-28 05:42:22,204 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 408 transitions. [2022-04-28 05:42:22,205 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:42:22,205 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:42:22,205 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:42:22,205 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:42:22,205 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 293 states, 183 states have (on average 1.273224043715847) internal successors, (233), 191 states have internal predecessors, (233), 87 states have call successors, (87), 23 states have call predecessors, (87), 22 states have return successors, (84), 78 states have call predecessors, (84), 84 states have call successors, (84) [2022-04-28 05:42:22,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 293 states to 293 states and 404 transitions. [2022-04-28 05:42:22,215 INFO L78 Accepts]: Start accepts. Automaton has 293 states and 404 transitions. Word has length 89 [2022-04-28 05:42:22,215 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:42:22,215 INFO L495 AbstractCegarLoop]: Abstraction has 293 states and 404 transitions. [2022-04-28 05:42:22,216 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 05:42:22,216 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 293 states and 404 transitions. [2022-04-28 05:42:22,796 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 404 edges. 404 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:42:22,796 INFO L276 IsEmpty]: Start isEmpty. Operand 293 states and 404 transitions. [2022-04-28 05:42:22,797 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-28 05:42:22,797 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:42:22,797 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:42:22,820 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Ended with exit code 0 [2022-04-28 05:42:23,011 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-28 05:42:23,011 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:42:23,012 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:42:23,012 INFO L85 PathProgramCache]: Analyzing trace with hash -201422586, now seen corresponding path program 1 times [2022-04-28 05:42:23,012 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:42:23,012 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [171545046] [2022-04-28 05:42:23,012 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:42:23,012 INFO L85 PathProgramCache]: Analyzing trace with hash -201422586, now seen corresponding path program 2 times [2022-04-28 05:42:23,012 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:42:23,012 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1272873676] [2022-04-28 05:42:23,013 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:42:23,013 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:42:23,024 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:42:23,025 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [991870441] [2022-04-28 05:42:23,025 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:42:23,025 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:42:23,025 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:42:23,026 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:42:23,028 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 05:42:23,087 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:42:23,087 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:42:23,088 INFO L263 TraceCheckSpWp]: Trace formula consists of 266 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 05:42:23,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:42:23,106 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:42:23,471 INFO L272 TraceCheckUtils]: 0: Hoare triple {24562#true} call ULTIMATE.init(); {24562#true} is VALID [2022-04-28 05:42:23,472 INFO L290 TraceCheckUtils]: 1: Hoare triple {24562#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);~counter~0 := 0; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,472 INFO L290 TraceCheckUtils]: 2: Hoare triple {24570#(<= ~counter~0 0)} assume true; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,473 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24570#(<= ~counter~0 0)} {24562#true} #98#return; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,473 INFO L272 TraceCheckUtils]: 4: Hoare triple {24570#(<= ~counter~0 0)} call #t~ret8 := main(); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,473 INFO L290 TraceCheckUtils]: 5: Hoare triple {24570#(<= ~counter~0 0)} 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; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,474 INFO L272 TraceCheckUtils]: 6: Hoare triple {24570#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,474 INFO L290 TraceCheckUtils]: 7: Hoare triple {24570#(<= ~counter~0 0)} ~cond := #in~cond; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,474 INFO L290 TraceCheckUtils]: 8: Hoare triple {24570#(<= ~counter~0 0)} assume !(0 == ~cond); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,474 INFO L290 TraceCheckUtils]: 9: Hoare triple {24570#(<= ~counter~0 0)} assume true; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,475 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24570#(<= ~counter~0 0)} {24570#(<= ~counter~0 0)} #78#return; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,475 INFO L272 TraceCheckUtils]: 11: Hoare triple {24570#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,476 INFO L290 TraceCheckUtils]: 12: Hoare triple {24570#(<= ~counter~0 0)} ~cond := #in~cond; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,476 INFO L290 TraceCheckUtils]: 13: Hoare triple {24570#(<= ~counter~0 0)} assume !(0 == ~cond); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,476 INFO L290 TraceCheckUtils]: 14: Hoare triple {24570#(<= ~counter~0 0)} assume true; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,476 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {24570#(<= ~counter~0 0)} {24570#(<= ~counter~0 0)} #80#return; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,477 INFO L290 TraceCheckUtils]: 16: Hoare triple {24570#(<= ~counter~0 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; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,477 INFO L272 TraceCheckUtils]: 17: Hoare triple {24570#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,477 INFO L290 TraceCheckUtils]: 18: Hoare triple {24570#(<= ~counter~0 0)} ~cond := #in~cond; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,478 INFO L290 TraceCheckUtils]: 19: Hoare triple {24570#(<= ~counter~0 0)} assume !(0 == ~cond); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,478 INFO L290 TraceCheckUtils]: 20: Hoare triple {24570#(<= ~counter~0 0)} assume true; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,478 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {24570#(<= ~counter~0 0)} {24570#(<= ~counter~0 0)} #82#return; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,479 INFO L272 TraceCheckUtils]: 22: Hoare triple {24570#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,479 INFO L290 TraceCheckUtils]: 23: Hoare triple {24570#(<= ~counter~0 0)} ~cond := #in~cond; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,479 INFO L290 TraceCheckUtils]: 24: Hoare triple {24570#(<= ~counter~0 0)} assume !(0 == ~cond); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,480 INFO L290 TraceCheckUtils]: 25: Hoare triple {24570#(<= ~counter~0 0)} assume true; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,480 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {24570#(<= ~counter~0 0)} {24570#(<= ~counter~0 0)} #84#return; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 05:42:23,481 INFO L290 TraceCheckUtils]: 27: Hoare triple {24570#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24649#(<= ~counter~0 1)} is VALID [2022-04-28 05:42:23,481 INFO L290 TraceCheckUtils]: 28: Hoare triple {24649#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {24649#(<= ~counter~0 1)} is VALID [2022-04-28 05:42:23,481 INFO L290 TraceCheckUtils]: 29: Hoare triple {24649#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {24649#(<= ~counter~0 1)} is VALID [2022-04-28 05:42:23,482 INFO L290 TraceCheckUtils]: 30: Hoare triple {24649#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,482 INFO L290 TraceCheckUtils]: 31: Hoare triple {24659#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,483 INFO L272 TraceCheckUtils]: 32: Hoare triple {24659#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,483 INFO L290 TraceCheckUtils]: 33: Hoare triple {24659#(<= ~counter~0 2)} ~cond := #in~cond; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,483 INFO L290 TraceCheckUtils]: 34: Hoare triple {24659#(<= ~counter~0 2)} assume !(0 == ~cond); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,484 INFO L290 TraceCheckUtils]: 35: Hoare triple {24659#(<= ~counter~0 2)} assume true; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,484 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {24659#(<= ~counter~0 2)} {24659#(<= ~counter~0 2)} #86#return; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,485 INFO L272 TraceCheckUtils]: 37: Hoare triple {24659#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,485 INFO L290 TraceCheckUtils]: 38: Hoare triple {24659#(<= ~counter~0 2)} ~cond := #in~cond; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,485 INFO L290 TraceCheckUtils]: 39: Hoare triple {24659#(<= ~counter~0 2)} assume !(0 == ~cond); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,485 INFO L290 TraceCheckUtils]: 40: Hoare triple {24659#(<= ~counter~0 2)} assume true; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,486 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {24659#(<= ~counter~0 2)} {24659#(<= ~counter~0 2)} #88#return; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,487 INFO L272 TraceCheckUtils]: 42: Hoare triple {24659#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,487 INFO L290 TraceCheckUtils]: 43: Hoare triple {24659#(<= ~counter~0 2)} ~cond := #in~cond; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,487 INFO L290 TraceCheckUtils]: 44: Hoare triple {24659#(<= ~counter~0 2)} assume !(0 == ~cond); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,487 INFO L290 TraceCheckUtils]: 45: Hoare triple {24659#(<= ~counter~0 2)} assume true; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,488 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {24659#(<= ~counter~0 2)} {24659#(<= ~counter~0 2)} #90#return; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,489 INFO L272 TraceCheckUtils]: 47: Hoare triple {24659#(<= ~counter~0 2)} 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)); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,489 INFO L290 TraceCheckUtils]: 48: Hoare triple {24659#(<= ~counter~0 2)} ~cond := #in~cond; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,489 INFO L290 TraceCheckUtils]: 49: Hoare triple {24659#(<= ~counter~0 2)} assume !(0 == ~cond); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,489 INFO L290 TraceCheckUtils]: 50: Hoare triple {24659#(<= ~counter~0 2)} assume true; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,490 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {24659#(<= ~counter~0 2)} {24659#(<= ~counter~0 2)} #92#return; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,490 INFO L290 TraceCheckUtils]: 52: Hoare triple {24659#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 05:42:23,491 INFO L290 TraceCheckUtils]: 53: Hoare triple {24659#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,491 INFO L290 TraceCheckUtils]: 54: Hoare triple {24729#(<= ~counter~0 3)} assume !!(#t~post7 < 100);havoc #t~post7; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,492 INFO L272 TraceCheckUtils]: 55: Hoare triple {24729#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,492 INFO L290 TraceCheckUtils]: 56: Hoare triple {24729#(<= ~counter~0 3)} ~cond := #in~cond; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,492 INFO L290 TraceCheckUtils]: 57: Hoare triple {24729#(<= ~counter~0 3)} assume !(0 == ~cond); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,492 INFO L290 TraceCheckUtils]: 58: Hoare triple {24729#(<= ~counter~0 3)} assume true; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,493 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {24729#(<= ~counter~0 3)} {24729#(<= ~counter~0 3)} #86#return; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,493 INFO L272 TraceCheckUtils]: 60: Hoare triple {24729#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,494 INFO L290 TraceCheckUtils]: 61: Hoare triple {24729#(<= ~counter~0 3)} ~cond := #in~cond; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,494 INFO L290 TraceCheckUtils]: 62: Hoare triple {24729#(<= ~counter~0 3)} assume !(0 == ~cond); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,494 INFO L290 TraceCheckUtils]: 63: Hoare triple {24729#(<= ~counter~0 3)} assume true; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,495 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {24729#(<= ~counter~0 3)} {24729#(<= ~counter~0 3)} #88#return; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,495 INFO L272 TraceCheckUtils]: 65: Hoare triple {24729#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,496 INFO L290 TraceCheckUtils]: 66: Hoare triple {24729#(<= ~counter~0 3)} ~cond := #in~cond; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,496 INFO L290 TraceCheckUtils]: 67: Hoare triple {24729#(<= ~counter~0 3)} assume !(0 == ~cond); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,496 INFO L290 TraceCheckUtils]: 68: Hoare triple {24729#(<= ~counter~0 3)} assume true; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,497 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {24729#(<= ~counter~0 3)} {24729#(<= ~counter~0 3)} #90#return; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,497 INFO L272 TraceCheckUtils]: 70: Hoare triple {24729#(<= ~counter~0 3)} 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)); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,498 INFO L290 TraceCheckUtils]: 71: Hoare triple {24729#(<= ~counter~0 3)} ~cond := #in~cond; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,498 INFO L290 TraceCheckUtils]: 72: Hoare triple {24729#(<= ~counter~0 3)} assume !(0 == ~cond); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,498 INFO L290 TraceCheckUtils]: 73: Hoare triple {24729#(<= ~counter~0 3)} assume true; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,499 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {24729#(<= ~counter~0 3)} {24729#(<= ~counter~0 3)} #92#return; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,499 INFO L290 TraceCheckUtils]: 75: Hoare triple {24729#(<= ~counter~0 3)} assume !(~c~0 >= ~b~0); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,499 INFO L290 TraceCheckUtils]: 76: Hoare triple {24729#(<= ~counter~0 3)} ~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; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 05:42:23,500 INFO L290 TraceCheckUtils]: 77: Hoare triple {24729#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24802#(<= ~counter~0 4)} is VALID [2022-04-28 05:42:23,500 INFO L290 TraceCheckUtils]: 78: Hoare triple {24802#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {24802#(<= ~counter~0 4)} is VALID [2022-04-28 05:42:23,500 INFO L290 TraceCheckUtils]: 79: Hoare triple {24802#(<= ~counter~0 4)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {24802#(<= ~counter~0 4)} is VALID [2022-04-28 05:42:23,501 INFO L290 TraceCheckUtils]: 80: Hoare triple {24802#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24812#(<= |main_#t~post7| 4)} is VALID [2022-04-28 05:42:23,501 INFO L290 TraceCheckUtils]: 81: Hoare triple {24812#(<= |main_#t~post7| 4)} assume !(#t~post7 < 100);havoc #t~post7; {24563#false} is VALID [2022-04-28 05:42:23,501 INFO L290 TraceCheckUtils]: 82: Hoare triple {24563#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; {24563#false} is VALID [2022-04-28 05:42:23,501 INFO L290 TraceCheckUtils]: 83: Hoare triple {24563#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24563#false} is VALID [2022-04-28 05:42:23,501 INFO L290 TraceCheckUtils]: 84: Hoare triple {24563#false} assume !(#t~post6 < 100);havoc #t~post6; {24563#false} is VALID [2022-04-28 05:42:23,501 INFO L272 TraceCheckUtils]: 85: Hoare triple {24563#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {24563#false} is VALID [2022-04-28 05:42:23,502 INFO L290 TraceCheckUtils]: 86: Hoare triple {24563#false} ~cond := #in~cond; {24563#false} is VALID [2022-04-28 05:42:23,502 INFO L290 TraceCheckUtils]: 87: Hoare triple {24563#false} assume 0 == ~cond; {24563#false} is VALID [2022-04-28 05:42:23,502 INFO L290 TraceCheckUtils]: 88: Hoare triple {24563#false} assume !false; {24563#false} is VALID [2022-04-28 05:42:23,502 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 21 proven. 78 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2022-04-28 05:42:23,502 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:42:23,841 INFO L290 TraceCheckUtils]: 88: Hoare triple {24563#false} assume !false; {24563#false} is VALID [2022-04-28 05:42:23,841 INFO L290 TraceCheckUtils]: 87: Hoare triple {24563#false} assume 0 == ~cond; {24563#false} is VALID [2022-04-28 05:42:23,842 INFO L290 TraceCheckUtils]: 86: Hoare triple {24563#false} ~cond := #in~cond; {24563#false} is VALID [2022-04-28 05:42:23,842 INFO L272 TraceCheckUtils]: 85: Hoare triple {24563#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {24563#false} is VALID [2022-04-28 05:42:23,842 INFO L290 TraceCheckUtils]: 84: Hoare triple {24563#false} assume !(#t~post6 < 100);havoc #t~post6; {24563#false} is VALID [2022-04-28 05:42:23,842 INFO L290 TraceCheckUtils]: 83: Hoare triple {24563#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24563#false} is VALID [2022-04-28 05:42:23,842 INFO L290 TraceCheckUtils]: 82: Hoare triple {24563#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; {24563#false} is VALID [2022-04-28 05:42:23,842 INFO L290 TraceCheckUtils]: 81: Hoare triple {24858#(< |main_#t~post7| 100)} assume !(#t~post7 < 100);havoc #t~post7; {24563#false} is VALID [2022-04-28 05:42:23,842 INFO L290 TraceCheckUtils]: 80: Hoare triple {24862#(< ~counter~0 100)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24858#(< |main_#t~post7| 100)} is VALID [2022-04-28 05:42:23,843 INFO L290 TraceCheckUtils]: 79: Hoare triple {24862#(< ~counter~0 100)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {24862#(< ~counter~0 100)} is VALID [2022-04-28 05:42:23,843 INFO L290 TraceCheckUtils]: 78: Hoare triple {24862#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {24862#(< ~counter~0 100)} is VALID [2022-04-28 05:42:23,844 INFO L290 TraceCheckUtils]: 77: Hoare triple {24872#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24862#(< ~counter~0 100)} is VALID [2022-04-28 05:42:23,844 INFO L290 TraceCheckUtils]: 76: Hoare triple {24872#(< ~counter~0 99)} ~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; {24872#(< ~counter~0 99)} is VALID [2022-04-28 05:42:23,844 INFO L290 TraceCheckUtils]: 75: Hoare triple {24872#(< ~counter~0 99)} assume !(~c~0 >= ~b~0); {24872#(< ~counter~0 99)} is VALID [2022-04-28 05:42:23,845 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {24562#true} {24872#(< ~counter~0 99)} #92#return; {24872#(< ~counter~0 99)} is VALID [2022-04-28 05:42:23,845 INFO L290 TraceCheckUtils]: 73: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 05:42:23,845 INFO L290 TraceCheckUtils]: 72: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 05:42:23,845 INFO L290 TraceCheckUtils]: 71: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 05:42:23,845 INFO L272 TraceCheckUtils]: 70: Hoare triple {24872#(< ~counter~0 99)} 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)); {24562#true} is VALID [2022-04-28 05:42:23,846 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {24562#true} {24872#(< ~counter~0 99)} #90#return; {24872#(< ~counter~0 99)} is VALID [2022-04-28 05:42:23,846 INFO L290 TraceCheckUtils]: 68: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 05:42:23,846 INFO L290 TraceCheckUtils]: 67: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 05:42:23,846 INFO L290 TraceCheckUtils]: 66: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 05:42:23,846 INFO L272 TraceCheckUtils]: 65: Hoare triple {24872#(< ~counter~0 99)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 05:42:23,847 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {24562#true} {24872#(< ~counter~0 99)} #88#return; {24872#(< ~counter~0 99)} is VALID [2022-04-28 05:42:23,847 INFO L290 TraceCheckUtils]: 63: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 05:42:23,847 INFO L290 TraceCheckUtils]: 62: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 05:42:23,847 INFO L290 TraceCheckUtils]: 61: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 05:42:23,847 INFO L272 TraceCheckUtils]: 60: Hoare triple {24872#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 05:42:23,848 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {24562#true} {24872#(< ~counter~0 99)} #86#return; {24872#(< ~counter~0 99)} is VALID [2022-04-28 05:42:23,848 INFO L290 TraceCheckUtils]: 58: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 05:42:23,848 INFO L290 TraceCheckUtils]: 57: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 05:42:23,848 INFO L290 TraceCheckUtils]: 56: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 05:42:23,848 INFO L272 TraceCheckUtils]: 55: Hoare triple {24872#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 05:42:23,848 INFO L290 TraceCheckUtils]: 54: Hoare triple {24872#(< ~counter~0 99)} assume !!(#t~post7 < 100);havoc #t~post7; {24872#(< ~counter~0 99)} is VALID [2022-04-28 05:42:23,849 INFO L290 TraceCheckUtils]: 53: Hoare triple {24945#(< ~counter~0 98)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24872#(< ~counter~0 99)} is VALID [2022-04-28 05:42:23,849 INFO L290 TraceCheckUtils]: 52: Hoare triple {24945#(< ~counter~0 98)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {24945#(< ~counter~0 98)} is VALID [2022-04-28 05:42:23,850 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {24562#true} {24945#(< ~counter~0 98)} #92#return; {24945#(< ~counter~0 98)} is VALID [2022-04-28 05:42:23,850 INFO L290 TraceCheckUtils]: 50: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 05:42:23,850 INFO L290 TraceCheckUtils]: 49: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 05:42:23,850 INFO L290 TraceCheckUtils]: 48: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 05:42:23,850 INFO L272 TraceCheckUtils]: 47: Hoare triple {24945#(< ~counter~0 98)} 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)); {24562#true} is VALID [2022-04-28 05:42:23,850 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {24562#true} {24945#(< ~counter~0 98)} #90#return; {24945#(< ~counter~0 98)} is VALID [2022-04-28 05:42:23,850 INFO L290 TraceCheckUtils]: 45: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 05:42:23,851 INFO L290 TraceCheckUtils]: 44: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 05:42:23,851 INFO L290 TraceCheckUtils]: 43: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 05:42:23,851 INFO L272 TraceCheckUtils]: 42: Hoare triple {24945#(< ~counter~0 98)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 05:42:23,851 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {24562#true} {24945#(< ~counter~0 98)} #88#return; {24945#(< ~counter~0 98)} is VALID [2022-04-28 05:42:23,851 INFO L290 TraceCheckUtils]: 40: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 05:42:23,851 INFO L290 TraceCheckUtils]: 39: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 05:42:23,851 INFO L290 TraceCheckUtils]: 38: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 05:42:23,852 INFO L272 TraceCheckUtils]: 37: Hoare triple {24945#(< ~counter~0 98)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 05:42:23,852 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {24562#true} {24945#(< ~counter~0 98)} #86#return; {24945#(< ~counter~0 98)} is VALID [2022-04-28 05:42:23,852 INFO L290 TraceCheckUtils]: 35: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 05:42:23,852 INFO L290 TraceCheckUtils]: 34: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 05:42:23,852 INFO L290 TraceCheckUtils]: 33: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 05:42:23,852 INFO L272 TraceCheckUtils]: 32: Hoare triple {24945#(< ~counter~0 98)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 05:42:23,853 INFO L290 TraceCheckUtils]: 31: Hoare triple {24945#(< ~counter~0 98)} assume !!(#t~post7 < 100);havoc #t~post7; {24945#(< ~counter~0 98)} is VALID [2022-04-28 05:42:23,853 INFO L290 TraceCheckUtils]: 30: Hoare triple {25015#(< ~counter~0 97)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24945#(< ~counter~0 98)} is VALID [2022-04-28 05:42:23,853 INFO L290 TraceCheckUtils]: 29: Hoare triple {25015#(< ~counter~0 97)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {25015#(< ~counter~0 97)} is VALID [2022-04-28 05:42:23,854 INFO L290 TraceCheckUtils]: 28: Hoare triple {25015#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {25015#(< ~counter~0 97)} is VALID [2022-04-28 05:42:23,854 INFO L290 TraceCheckUtils]: 27: Hoare triple {25025#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25015#(< ~counter~0 97)} is VALID [2022-04-28 05:42:23,855 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {24562#true} {25025#(< ~counter~0 96)} #84#return; {25025#(< ~counter~0 96)} is VALID [2022-04-28 05:42:23,855 INFO L290 TraceCheckUtils]: 25: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 05:42:23,855 INFO L290 TraceCheckUtils]: 24: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 05:42:23,855 INFO L290 TraceCheckUtils]: 23: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 05:42:23,855 INFO L272 TraceCheckUtils]: 22: Hoare triple {25025#(< ~counter~0 96)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {24562#true} is VALID [2022-04-28 05:42:23,855 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {24562#true} {25025#(< ~counter~0 96)} #82#return; {25025#(< ~counter~0 96)} is VALID [2022-04-28 05:42:23,855 INFO L290 TraceCheckUtils]: 20: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 05:42:23,856 INFO L290 TraceCheckUtils]: 19: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 05:42:23,856 INFO L290 TraceCheckUtils]: 18: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 05:42:23,856 INFO L272 TraceCheckUtils]: 17: Hoare triple {25025#(< ~counter~0 96)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {24562#true} is VALID [2022-04-28 05:42:23,856 INFO L290 TraceCheckUtils]: 16: Hoare triple {25025#(< ~counter~0 96)} ~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; {25025#(< ~counter~0 96)} is VALID [2022-04-28 05:42:23,856 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {24562#true} {25025#(< ~counter~0 96)} #80#return; {25025#(< ~counter~0 96)} is VALID [2022-04-28 05:42:23,856 INFO L290 TraceCheckUtils]: 14: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 05:42:23,856 INFO L290 TraceCheckUtils]: 13: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 05:42:23,857 INFO L290 TraceCheckUtils]: 12: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 05:42:23,857 INFO L272 TraceCheckUtils]: 11: Hoare triple {25025#(< ~counter~0 96)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {24562#true} is VALID [2022-04-28 05:42:23,857 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24562#true} {25025#(< ~counter~0 96)} #78#return; {25025#(< ~counter~0 96)} is VALID [2022-04-28 05:42:23,857 INFO L290 TraceCheckUtils]: 9: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 05:42:23,857 INFO L290 TraceCheckUtils]: 8: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 05:42:23,857 INFO L290 TraceCheckUtils]: 7: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 05:42:23,857 INFO L272 TraceCheckUtils]: 6: Hoare triple {25025#(< ~counter~0 96)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {24562#true} is VALID [2022-04-28 05:42:23,858 INFO L290 TraceCheckUtils]: 5: Hoare triple {25025#(< ~counter~0 96)} 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; {25025#(< ~counter~0 96)} is VALID [2022-04-28 05:42:23,858 INFO L272 TraceCheckUtils]: 4: Hoare triple {25025#(< ~counter~0 96)} call #t~ret8 := main(); {25025#(< ~counter~0 96)} is VALID [2022-04-28 05:42:23,858 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25025#(< ~counter~0 96)} {24562#true} #98#return; {25025#(< ~counter~0 96)} is VALID [2022-04-28 05:42:23,858 INFO L290 TraceCheckUtils]: 2: Hoare triple {25025#(< ~counter~0 96)} assume true; {25025#(< ~counter~0 96)} is VALID [2022-04-28 05:42:23,859 INFO L290 TraceCheckUtils]: 1: Hoare triple {24562#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);~counter~0 := 0; {25025#(< ~counter~0 96)} is VALID [2022-04-28 05:42:23,859 INFO L272 TraceCheckUtils]: 0: Hoare triple {24562#true} call ULTIMATE.init(); {24562#true} is VALID [2022-04-28 05:42:23,859 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 21 proven. 14 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 05:42:23,859 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:42:23,859 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1272873676] [2022-04-28 05:42:23,859 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:42:23,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [991870441] [2022-04-28 05:42:23,860 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [991870441] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:42:23,860 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:42:23,860 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 05:42:23,860 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:42:23,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [171545046] [2022-04-28 05:42:23,860 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [171545046] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:42:23,860 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:42:23,860 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 05:42:23,860 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1403562365] [2022-04-28 05:42:23,860 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:42:23,861 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) Word has length 89 [2022-04-28 05:42:23,861 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:42:23,861 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:42:23,908 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:42:23,908 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 05:42:23,908 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:42:23,908 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 05:42:23,908 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 05:42:23,909 INFO L87 Difference]: Start difference. First operand 293 states and 404 transitions. Second operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:42:24,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:24,890 INFO L93 Difference]: Finished difference Result 463 states and 647 transitions. [2022-04-28 05:42:24,890 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 05:42:24,890 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) Word has length 89 [2022-04-28 05:42:24,890 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:42:24,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:42:24,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 133 transitions. [2022-04-28 05:42:24,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:42:24,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 133 transitions. [2022-04-28 05:42:24,894 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 133 transitions. [2022-04-28 05:42:25,027 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 133 edges. 133 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:42:25,038 INFO L225 Difference]: With dead ends: 463 [2022-04-28 05:42:25,038 INFO L226 Difference]: Without dead ends: 329 [2022-04-28 05:42:25,039 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 180 GetRequests, 165 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=107, Invalid=165, Unknown=0, NotChecked=0, Total=272 [2022-04-28 05:42:25,040 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 46 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 62 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 177 SdHoareTripleChecker+Invalid, 109 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 47 IncrementalHoareTripleChecker+Valid, 62 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:42:25,040 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 177 Invalid, 109 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [47 Valid, 62 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:42:25,042 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 329 states. [2022-04-28 05:42:25,692 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 329 to 327. [2022-04-28 05:42:25,692 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:42:25,693 INFO L82 GeneralOperation]: Start isEquivalent. First operand 329 states. Second operand has 327 states, 207 states have (on average 1.2367149758454106) internal successors, (256), 214 states have internal predecessors, (256), 90 states have call successors, (90), 30 states have call predecessors, (90), 29 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 05:42:25,693 INFO L74 IsIncluded]: Start isIncluded. First operand 329 states. Second operand has 327 states, 207 states have (on average 1.2367149758454106) internal successors, (256), 214 states have internal predecessors, (256), 90 states have call successors, (90), 30 states have call predecessors, (90), 29 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 05:42:25,693 INFO L87 Difference]: Start difference. First operand 329 states. Second operand has 327 states, 207 states have (on average 1.2367149758454106) internal successors, (256), 214 states have internal predecessors, (256), 90 states have call successors, (90), 30 states have call predecessors, (90), 29 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 05:42:25,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:25,703 INFO L93 Difference]: Finished difference Result 329 states and 435 transitions. [2022-04-28 05:42:25,703 INFO L276 IsEmpty]: Start isEmpty. Operand 329 states and 435 transitions. [2022-04-28 05:42:25,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:42:25,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:42:25,704 INFO L74 IsIncluded]: Start isIncluded. First operand has 327 states, 207 states have (on average 1.2367149758454106) internal successors, (256), 214 states have internal predecessors, (256), 90 states have call successors, (90), 30 states have call predecessors, (90), 29 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 329 states. [2022-04-28 05:42:25,705 INFO L87 Difference]: Start difference. First operand has 327 states, 207 states have (on average 1.2367149758454106) internal successors, (256), 214 states have internal predecessors, (256), 90 states have call successors, (90), 30 states have call predecessors, (90), 29 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 329 states. [2022-04-28 05:42:25,713 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:25,714 INFO L93 Difference]: Finished difference Result 329 states and 435 transitions. [2022-04-28 05:42:25,714 INFO L276 IsEmpty]: Start isEmpty. Operand 329 states and 435 transitions. [2022-04-28 05:42:25,714 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:42:25,715 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:42:25,715 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:42:25,715 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:42:25,715 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 327 states, 207 states have (on average 1.2367149758454106) internal successors, (256), 214 states have internal predecessors, (256), 90 states have call successors, (90), 30 states have call predecessors, (90), 29 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 05:42:25,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 327 states to 327 states and 433 transitions. [2022-04-28 05:42:25,726 INFO L78 Accepts]: Start accepts. Automaton has 327 states and 433 transitions. Word has length 89 [2022-04-28 05:42:25,726 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:42:25,726 INFO L495 AbstractCegarLoop]: Abstraction has 327 states and 433 transitions. [2022-04-28 05:42:25,726 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:42:25,726 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 327 states and 433 transitions. [2022-04-28 05:42:26,428 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 433 edges. 433 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:42:26,428 INFO L276 IsEmpty]: Start isEmpty. Operand 327 states and 433 transitions. [2022-04-28 05:42:26,429 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 102 [2022-04-28 05:42:26,429 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:42:26,429 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:42:26,452 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-28 05:42:26,629 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-28 05:42:26,629 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:42:26,630 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:42:26,630 INFO L85 PathProgramCache]: Analyzing trace with hash 1415088729, now seen corresponding path program 1 times [2022-04-28 05:42:26,630 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:42:26,630 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [440650126] [2022-04-28 05:42:26,630 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:42:26,630 INFO L85 PathProgramCache]: Analyzing trace with hash 1415088729, now seen corresponding path program 2 times [2022-04-28 05:42:26,631 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:42:26,631 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1496184392] [2022-04-28 05:42:26,631 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:42:26,632 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:42:26,648 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:42:26,648 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [723072094] [2022-04-28 05:42:26,649 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:42:26,649 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:42:26,649 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:42:26,651 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:42:26,652 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-28 05:42:26,729 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:42:26,730 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:42:26,732 INFO L263 TraceCheckSpWp]: Trace formula consists of 274 conjuncts, 64 conjunts are in the unsatisfiable core [2022-04-28 05:42:26,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:42:26,758 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:42:31,147 INFO L272 TraceCheckUtils]: 0: Hoare triple {27353#true} call ULTIMATE.init(); {27353#true} is VALID [2022-04-28 05:42:31,147 INFO L290 TraceCheckUtils]: 1: Hoare triple {27353#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);~counter~0 := 0; {27353#true} is VALID [2022-04-28 05:42:31,147 INFO L290 TraceCheckUtils]: 2: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 05:42:31,148 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27353#true} {27353#true} #98#return; {27353#true} is VALID [2022-04-28 05:42:31,148 INFO L272 TraceCheckUtils]: 4: Hoare triple {27353#true} call #t~ret8 := main(); {27353#true} is VALID [2022-04-28 05:42:31,148 INFO L290 TraceCheckUtils]: 5: Hoare triple {27353#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; {27353#true} is VALID [2022-04-28 05:42:31,148 INFO L272 TraceCheckUtils]: 6: Hoare triple {27353#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27353#true} is VALID [2022-04-28 05:42:31,148 INFO L290 TraceCheckUtils]: 7: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 05:42:31,148 INFO L290 TraceCheckUtils]: 8: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 05:42:31,148 INFO L290 TraceCheckUtils]: 9: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 05:42:31,148 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27353#true} {27353#true} #78#return; {27353#true} is VALID [2022-04-28 05:42:31,148 INFO L272 TraceCheckUtils]: 11: Hoare triple {27353#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27353#true} is VALID [2022-04-28 05:42:31,149 INFO L290 TraceCheckUtils]: 12: Hoare triple {27353#true} ~cond := #in~cond; {27394#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:42:31,149 INFO L290 TraceCheckUtils]: 13: Hoare triple {27394#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {27398#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:42:31,149 INFO L290 TraceCheckUtils]: 14: Hoare triple {27398#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {27398#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:42:31,150 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27398#(not (= |assume_abort_if_not_#in~cond| 0))} {27353#true} #80#return; {27405#(<= 1 main_~y~0)} is VALID [2022-04-28 05:42:31,151 INFO L290 TraceCheckUtils]: 16: Hoare triple {27405#(<= 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; {27409#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:42:31,151 INFO L272 TraceCheckUtils]: 17: Hoare triple {27409#(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) (<= 1 main_~y~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)); {27353#true} is VALID [2022-04-28 05:42:31,151 INFO L290 TraceCheckUtils]: 18: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 05:42:31,151 INFO L290 TraceCheckUtils]: 19: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 05:42:31,151 INFO L290 TraceCheckUtils]: 20: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 05:42:31,152 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {27353#true} {27409#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #82#return; {27409#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:42:31,152 INFO L272 TraceCheckUtils]: 22: Hoare triple {27409#(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) (<= 1 main_~y~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)); {27353#true} is VALID [2022-04-28 05:42:31,152 INFO L290 TraceCheckUtils]: 23: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 05:42:31,152 INFO L290 TraceCheckUtils]: 24: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 05:42:31,152 INFO L290 TraceCheckUtils]: 25: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 05:42:31,153 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {27353#true} {27409#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #84#return; {27409#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:42:31,154 INFO L290 TraceCheckUtils]: 27: Hoare triple {27409#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27409#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:42:31,154 INFO L290 TraceCheckUtils]: 28: Hoare triple {27409#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {27409#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:42:31,155 INFO L290 TraceCheckUtils]: 29: Hoare triple {27409#(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) (<= 1 main_~y~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; {27449#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:42:31,155 INFO L290 TraceCheckUtils]: 30: Hoare triple {27449#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {27449#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:42:31,156 INFO L290 TraceCheckUtils]: 31: Hoare triple {27449#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(#t~post7 < 100);havoc #t~post7; {27449#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:42:31,156 INFO L272 TraceCheckUtils]: 32: Hoare triple {27449#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~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)); {27353#true} is VALID [2022-04-28 05:42:31,156 INFO L290 TraceCheckUtils]: 33: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 05:42:31,156 INFO L290 TraceCheckUtils]: 34: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 05:42:31,156 INFO L290 TraceCheckUtils]: 35: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 05:42:31,157 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {27353#true} {27449#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #86#return; {27449#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:42:31,157 INFO L272 TraceCheckUtils]: 37: Hoare triple {27449#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 05:42:31,157 INFO L290 TraceCheckUtils]: 38: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 05:42:31,158 INFO L290 TraceCheckUtils]: 39: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 05:42:31,158 INFO L290 TraceCheckUtils]: 40: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 05:42:31,159 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {27353#true} {27449#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #88#return; {27449#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:42:31,159 INFO L272 TraceCheckUtils]: 42: Hoare triple {27449#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 05:42:31,159 INFO L290 TraceCheckUtils]: 43: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 05:42:31,159 INFO L290 TraceCheckUtils]: 44: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 05:42:31,159 INFO L290 TraceCheckUtils]: 45: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 05:42:31,160 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {27353#true} {27449#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #90#return; {27449#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:42:31,160 INFO L272 TraceCheckUtils]: 47: Hoare triple {27449#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~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)); {27353#true} is VALID [2022-04-28 05:42:31,160 INFO L290 TraceCheckUtils]: 48: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 05:42:31,160 INFO L290 TraceCheckUtils]: 49: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 05:42:31,160 INFO L290 TraceCheckUtils]: 50: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 05:42:31,161 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {27353#true} {27449#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #92#return; {27449#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:42:31,163 INFO L290 TraceCheckUtils]: 52: Hoare triple {27449#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {27519#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:42:31,163 INFO L290 TraceCheckUtils]: 53: Hoare triple {27519#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {27519#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:42:31,164 INFO L290 TraceCheckUtils]: 54: Hoare triple {27519#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(#t~post7 < 100);havoc #t~post7; {27519#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:42:31,164 INFO L272 TraceCheckUtils]: 55: Hoare triple {27519#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~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)); {27353#true} is VALID [2022-04-28 05:42:31,164 INFO L290 TraceCheckUtils]: 56: Hoare triple {27353#true} ~cond := #in~cond; {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:42:31,165 INFO L290 TraceCheckUtils]: 57: Hoare triple {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:42:31,165 INFO L290 TraceCheckUtils]: 58: Hoare triple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:42:31,167 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} {27519#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #86#return; {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:42:31,167 INFO L272 TraceCheckUtils]: 60: Hoare triple {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 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)); {27353#true} is VALID [2022-04-28 05:42:31,167 INFO L290 TraceCheckUtils]: 61: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 05:42:31,168 INFO L290 TraceCheckUtils]: 62: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 05:42:31,168 INFO L290 TraceCheckUtils]: 63: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 05:42:31,169 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {27353#true} {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:42:31,169 INFO L272 TraceCheckUtils]: 65: Hoare triple {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 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)); {27353#true} is VALID [2022-04-28 05:42:31,169 INFO L290 TraceCheckUtils]: 66: Hoare triple {27353#true} ~cond := #in~cond; {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:42:31,169 INFO L290 TraceCheckUtils]: 67: Hoare triple {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:42:31,170 INFO L290 TraceCheckUtils]: 68: Hoare triple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:42:31,171 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:42:31,171 INFO L272 TraceCheckUtils]: 70: Hoare triple {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 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)); {27353#true} is VALID [2022-04-28 05:42:31,171 INFO L290 TraceCheckUtils]: 71: Hoare triple {27353#true} ~cond := #in~cond; {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:42:31,172 INFO L290 TraceCheckUtils]: 72: Hoare triple {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:42:31,172 INFO L290 TraceCheckUtils]: 73: Hoare triple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:42:31,173 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #92#return; {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:42:31,173 INFO L290 TraceCheckUtils]: 75: Hoare triple {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {27592#(and (= main_~r~0 0) (<= main_~y~0 (+ main_~c~0 (* main_~k~0 main_~y~0))) (< main_~c~0 main_~y~0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 (* main_~k~0 main_~y~0))))} is VALID [2022-04-28 05:42:31,175 INFO L290 TraceCheckUtils]: 76: Hoare triple {27592#(and (= main_~r~0 0) (<= main_~y~0 (+ main_~c~0 (* main_~k~0 main_~y~0))) (< main_~c~0 main_~y~0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 (* main_~k~0 main_~y~0))))} ~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; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 05:42:31,176 INFO L290 TraceCheckUtils]: 77: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 05:42:31,176 INFO L290 TraceCheckUtils]: 78: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 05:42:31,177 INFO L290 TraceCheckUtils]: 79: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 05:42:31,177 INFO L290 TraceCheckUtils]: 80: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 05:42:31,178 INFO L290 TraceCheckUtils]: 81: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} assume !!(#t~post7 < 100);havoc #t~post7; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 05:42:31,178 INFO L272 TraceCheckUtils]: 82: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 05:42:31,178 INFO L290 TraceCheckUtils]: 83: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 05:42:31,178 INFO L290 TraceCheckUtils]: 84: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 05:42:31,178 INFO L290 TraceCheckUtils]: 85: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 05:42:31,179 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {27353#true} {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} #86#return; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 05:42:31,179 INFO L272 TraceCheckUtils]: 87: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 05:42:31,180 INFO L290 TraceCheckUtils]: 88: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 05:42:31,180 INFO L290 TraceCheckUtils]: 89: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 05:42:31,180 INFO L290 TraceCheckUtils]: 90: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 05:42:31,180 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {27353#true} {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} #88#return; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 05:42:31,181 INFO L272 TraceCheckUtils]: 92: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 05:42:31,181 INFO L290 TraceCheckUtils]: 93: Hoare triple {27353#true} ~cond := #in~cond; {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:42:31,181 INFO L290 TraceCheckUtils]: 94: Hoare triple {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:42:31,182 INFO L290 TraceCheckUtils]: 95: Hoare triple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:42:31,183 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} #90#return; {27657#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 05:42:31,186 INFO L272 TraceCheckUtils]: 97: Hoare triple {27657#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {27661#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:42:31,186 INFO L290 TraceCheckUtils]: 98: Hoare triple {27661#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27665#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:42:31,187 INFO L290 TraceCheckUtils]: 99: Hoare triple {27665#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27354#false} is VALID [2022-04-28 05:42:31,187 INFO L290 TraceCheckUtils]: 100: Hoare triple {27354#false} assume !false; {27354#false} is VALID [2022-04-28 05:42:31,187 INFO L134 CoverageAnalysis]: Checked inductivity of 288 backedges. 84 proven. 53 refuted. 0 times theorem prover too weak. 151 trivial. 0 not checked. [2022-04-28 05:42:31,187 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:42:59,843 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:43:34,262 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:43:34,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1496184392] [2022-04-28 05:43:34,262 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:43:34,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [723072094] [2022-04-28 05:43:34,262 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [723072094] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 05:43:34,262 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:43:34,263 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-28 05:43:34,263 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:43:34,263 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [440650126] [2022-04-28 05:43:34,263 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [440650126] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:43:34,263 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:43:34,263 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 05:43:34,263 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [386791597] [2022-04-28 05:43:34,263 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:43:34,263 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 101 [2022-04-28 05:43:34,264 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:43:34,264 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:43:34,339 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:43:34,339 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 05:43:34,339 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:43:34,340 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 05:43:34,340 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=369, Unknown=0, NotChecked=0, Total=462 [2022-04-28 05:43:34,340 INFO L87 Difference]: Start difference. First operand 327 states and 433 transitions. Second operand has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:43:51,024 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:43:51,024 INFO L93 Difference]: Finished difference Result 339 states and 443 transitions. [2022-04-28 05:43:51,024 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 05:43:51,024 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 101 [2022-04-28 05:43:51,025 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:43:51,025 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:43:51,026 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 118 transitions. [2022-04-28 05:43:51,026 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:43:51,028 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 118 transitions. [2022-04-28 05:43:51,028 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 118 transitions. [2022-04-28 05:43:51,191 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:43:51,199 INFO L225 Difference]: With dead ends: 339 [2022-04-28 05:43:51,199 INFO L226 Difference]: Without dead ends: 337 [2022-04-28 05:43:51,200 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 106 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 145 ImplicationChecksByTransitivity, 6.6s TimeCoverageRelationStatistics Valid=122, Invalid=528, Unknown=0, NotChecked=0, Total=650 [2022-04-28 05:43:51,200 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 49 mSDsluCounter, 289 mSDsCounter, 0 mSdLazyCounter, 745 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 66 SdHoareTripleChecker+Valid, 337 SdHoareTripleChecker+Invalid, 774 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 745 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.7s IncrementalHoareTripleChecker+Time [2022-04-28 05:43:51,200 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [66 Valid, 337 Invalid, 774 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 745 Invalid, 0 Unknown, 0 Unchecked, 4.7s Time] [2022-04-28 05:43:51,201 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 337 states. [2022-04-28 05:43:51,881 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 337 to 335. [2022-04-28 05:43:51,881 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:43:51,882 INFO L82 GeneralOperation]: Start isEquivalent. First operand 337 states. Second operand has 335 states, 213 states have (on average 1.2300469483568075) internal successors, (262), 220 states have internal predecessors, (262), 90 states have call successors, (90), 32 states have call predecessors, (90), 31 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 05:43:51,882 INFO L74 IsIncluded]: Start isIncluded. First operand 337 states. Second operand has 335 states, 213 states have (on average 1.2300469483568075) internal successors, (262), 220 states have internal predecessors, (262), 90 states have call successors, (90), 32 states have call predecessors, (90), 31 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 05:43:51,883 INFO L87 Difference]: Start difference. First operand 337 states. Second operand has 335 states, 213 states have (on average 1.2300469483568075) internal successors, (262), 220 states have internal predecessors, (262), 90 states have call successors, (90), 32 states have call predecessors, (90), 31 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 05:43:51,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:43:51,892 INFO L93 Difference]: Finished difference Result 337 states and 441 transitions. [2022-04-28 05:43:51,892 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 441 transitions. [2022-04-28 05:43:51,893 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:43:51,893 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:43:51,893 INFO L74 IsIncluded]: Start isIncluded. First operand has 335 states, 213 states have (on average 1.2300469483568075) internal successors, (262), 220 states have internal predecessors, (262), 90 states have call successors, (90), 32 states have call predecessors, (90), 31 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 337 states. [2022-04-28 05:43:51,894 INFO L87 Difference]: Start difference. First operand has 335 states, 213 states have (on average 1.2300469483568075) internal successors, (262), 220 states have internal predecessors, (262), 90 states have call successors, (90), 32 states have call predecessors, (90), 31 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 337 states. [2022-04-28 05:43:51,903 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:43:51,903 INFO L93 Difference]: Finished difference Result 337 states and 441 transitions. [2022-04-28 05:43:51,903 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 441 transitions. [2022-04-28 05:43:51,904 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:43:51,904 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:43:51,904 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:43:51,905 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:43:51,905 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 335 states, 213 states have (on average 1.2300469483568075) internal successors, (262), 220 states have internal predecessors, (262), 90 states have call successors, (90), 32 states have call predecessors, (90), 31 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 05:43:51,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 335 states to 335 states and 439 transitions. [2022-04-28 05:43:51,916 INFO L78 Accepts]: Start accepts. Automaton has 335 states and 439 transitions. Word has length 101 [2022-04-28 05:43:51,916 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:43:51,916 INFO L495 AbstractCegarLoop]: Abstraction has 335 states and 439 transitions. [2022-04-28 05:43:51,916 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:43:51,916 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 335 states and 439 transitions. [2022-04-28 05:43:52,638 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 439 edges. 439 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:43:52,638 INFO L276 IsEmpty]: Start isEmpty. Operand 335 states and 439 transitions. [2022-04-28 05:43:52,639 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-28 05:43:52,639 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:43:52,639 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 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, 1] [2022-04-28 05:43:52,661 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-28 05:43:52,839 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:43:52,839 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:43:52,840 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:43:52,840 INFO L85 PathProgramCache]: Analyzing trace with hash -1524088572, now seen corresponding path program 5 times [2022-04-28 05:43:52,840 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:43:52,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [149145457] [2022-04-28 05:43:52,840 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:43:52,841 INFO L85 PathProgramCache]: Analyzing trace with hash -1524088572, now seen corresponding path program 6 times [2022-04-28 05:43:52,841 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:43:52,841 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1472216786] [2022-04-28 05:43:52,841 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:43:52,841 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:43:52,863 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:43:52,863 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [119031113] [2022-04-28 05:43:52,863 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:43:52,863 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:43:52,863 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:43:52,867 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:43:52,868 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-28 05:43:52,972 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 05:43:52,972 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:43:52,973 INFO L263 TraceCheckSpWp]: Trace formula consists of 273 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 05:43:52,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:43:52,995 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:43:53,296 INFO L272 TraceCheckUtils]: 0: Hoare triple {29788#true} call ULTIMATE.init(); {29788#true} is VALID [2022-04-28 05:43:53,296 INFO L290 TraceCheckUtils]: 1: Hoare triple {29788#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);~counter~0 := 0; {29788#true} is VALID [2022-04-28 05:43:53,296 INFO L290 TraceCheckUtils]: 2: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:43:53,296 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29788#true} {29788#true} #98#return; {29788#true} is VALID [2022-04-28 05:43:53,296 INFO L272 TraceCheckUtils]: 4: Hoare triple {29788#true} call #t~ret8 := main(); {29788#true} is VALID [2022-04-28 05:43:53,296 INFO L290 TraceCheckUtils]: 5: Hoare triple {29788#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; {29788#true} is VALID [2022-04-28 05:43:53,296 INFO L272 TraceCheckUtils]: 6: Hoare triple {29788#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:43:53,297 INFO L290 TraceCheckUtils]: 7: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:43:53,297 INFO L290 TraceCheckUtils]: 8: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:43:53,297 INFO L290 TraceCheckUtils]: 9: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:43:53,297 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29788#true} {29788#true} #78#return; {29788#true} is VALID [2022-04-28 05:43:53,297 INFO L272 TraceCheckUtils]: 11: Hoare triple {29788#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:43:53,297 INFO L290 TraceCheckUtils]: 12: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:43:53,297 INFO L290 TraceCheckUtils]: 13: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:43:53,297 INFO L290 TraceCheckUtils]: 14: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:43:53,297 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29788#true} {29788#true} #80#return; {29788#true} is VALID [2022-04-28 05:43:53,297 INFO L290 TraceCheckUtils]: 16: Hoare triple {29788#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; {29788#true} is VALID [2022-04-28 05:43:53,298 INFO L272 TraceCheckUtils]: 17: Hoare triple {29788#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:43:53,298 INFO L290 TraceCheckUtils]: 18: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:43:53,298 INFO L290 TraceCheckUtils]: 19: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:43:53,298 INFO L290 TraceCheckUtils]: 20: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:43:53,298 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {29788#true} {29788#true} #82#return; {29788#true} is VALID [2022-04-28 05:43:53,298 INFO L272 TraceCheckUtils]: 22: Hoare triple {29788#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:43:53,298 INFO L290 TraceCheckUtils]: 23: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:43:53,298 INFO L290 TraceCheckUtils]: 24: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:43:53,298 INFO L290 TraceCheckUtils]: 25: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:43:53,298 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {29788#true} {29788#true} #84#return; {29788#true} is VALID [2022-04-28 05:43:53,299 INFO L290 TraceCheckUtils]: 27: Hoare triple {29788#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29788#true} is VALID [2022-04-28 05:43:53,299 INFO L290 TraceCheckUtils]: 28: Hoare triple {29788#true} assume !!(#t~post6 < 100);havoc #t~post6; {29788#true} is VALID [2022-04-28 05:43:53,299 INFO L290 TraceCheckUtils]: 29: Hoare triple {29788#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {29788#true} is VALID [2022-04-28 05:43:53,299 INFO L290 TraceCheckUtils]: 30: Hoare triple {29788#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29788#true} is VALID [2022-04-28 05:43:53,299 INFO L290 TraceCheckUtils]: 31: Hoare triple {29788#true} assume !!(#t~post7 < 100);havoc #t~post7; {29788#true} is VALID [2022-04-28 05:43:53,299 INFO L272 TraceCheckUtils]: 32: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:43:53,299 INFO L290 TraceCheckUtils]: 33: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:43:53,299 INFO L290 TraceCheckUtils]: 34: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:43:53,299 INFO L290 TraceCheckUtils]: 35: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:43:53,299 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {29788#true} {29788#true} #86#return; {29788#true} is VALID [2022-04-28 05:43:53,299 INFO L272 TraceCheckUtils]: 37: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:43:53,300 INFO L290 TraceCheckUtils]: 38: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:43:53,300 INFO L290 TraceCheckUtils]: 39: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:43:53,300 INFO L290 TraceCheckUtils]: 40: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:43:53,300 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {29788#true} {29788#true} #88#return; {29788#true} is VALID [2022-04-28 05:43:53,300 INFO L272 TraceCheckUtils]: 42: Hoare triple {29788#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:43:53,300 INFO L290 TraceCheckUtils]: 43: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:43:53,300 INFO L290 TraceCheckUtils]: 44: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:43:53,300 INFO L290 TraceCheckUtils]: 45: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:43:53,300 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {29788#true} {29788#true} #90#return; {29788#true} is VALID [2022-04-28 05:43:53,300 INFO L272 TraceCheckUtils]: 47: Hoare triple {29788#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)); {29788#true} is VALID [2022-04-28 05:43:53,301 INFO L290 TraceCheckUtils]: 48: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:43:53,301 INFO L290 TraceCheckUtils]: 49: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:43:53,301 INFO L290 TraceCheckUtils]: 50: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:43:53,301 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {29788#true} {29788#true} #92#return; {29788#true} is VALID [2022-04-28 05:43:53,301 INFO L290 TraceCheckUtils]: 52: Hoare triple {29788#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {29788#true} is VALID [2022-04-28 05:43:53,301 INFO L290 TraceCheckUtils]: 53: Hoare triple {29788#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29788#true} is VALID [2022-04-28 05:43:53,301 INFO L290 TraceCheckUtils]: 54: Hoare triple {29788#true} assume !!(#t~post7 < 100);havoc #t~post7; {29788#true} is VALID [2022-04-28 05:43:53,301 INFO L272 TraceCheckUtils]: 55: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:43:53,301 INFO L290 TraceCheckUtils]: 56: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:43:53,301 INFO L290 TraceCheckUtils]: 57: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:43:53,301 INFO L290 TraceCheckUtils]: 58: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:43:53,302 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {29788#true} {29788#true} #86#return; {29788#true} is VALID [2022-04-28 05:43:53,302 INFO L272 TraceCheckUtils]: 60: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:43:53,302 INFO L290 TraceCheckUtils]: 61: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:43:53,302 INFO L290 TraceCheckUtils]: 62: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:43:53,302 INFO L290 TraceCheckUtils]: 63: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:43:53,302 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {29788#true} {29788#true} #88#return; {29788#true} is VALID [2022-04-28 05:43:53,302 INFO L272 TraceCheckUtils]: 65: Hoare triple {29788#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:43:53,302 INFO L290 TraceCheckUtils]: 66: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:43:53,302 INFO L290 TraceCheckUtils]: 67: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:43:53,302 INFO L290 TraceCheckUtils]: 68: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:43:53,303 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {29788#true} {29788#true} #90#return; {29788#true} is VALID [2022-04-28 05:43:53,303 INFO L272 TraceCheckUtils]: 70: Hoare triple {29788#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)); {29788#true} is VALID [2022-04-28 05:43:53,303 INFO L290 TraceCheckUtils]: 71: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:43:53,303 INFO L290 TraceCheckUtils]: 72: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:43:53,303 INFO L290 TraceCheckUtils]: 73: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:43:53,303 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {29788#true} {29788#true} #92#return; {29788#true} is VALID [2022-04-28 05:43:53,303 INFO L290 TraceCheckUtils]: 75: Hoare triple {29788#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {29788#true} is VALID [2022-04-28 05:43:53,303 INFO L290 TraceCheckUtils]: 76: Hoare triple {29788#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29788#true} is VALID [2022-04-28 05:43:53,303 INFO L290 TraceCheckUtils]: 77: Hoare triple {29788#true} assume !!(#t~post7 < 100);havoc #t~post7; {29788#true} is VALID [2022-04-28 05:43:53,303 INFO L272 TraceCheckUtils]: 78: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:43:53,304 INFO L290 TraceCheckUtils]: 79: Hoare triple {29788#true} ~cond := #in~cond; {30030#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:43:53,304 INFO L290 TraceCheckUtils]: 80: Hoare triple {30030#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:43:53,305 INFO L290 TraceCheckUtils]: 81: Hoare triple {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:43:53,305 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} {29788#true} #86#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:43:53,305 INFO L272 TraceCheckUtils]: 83: Hoare triple {30041#(= 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)); {29788#true} is VALID [2022-04-28 05:43:53,306 INFO L290 TraceCheckUtils]: 84: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:43:53,306 INFO L290 TraceCheckUtils]: 85: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:43:53,306 INFO L290 TraceCheckUtils]: 86: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:43:53,306 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {29788#true} {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #88#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:43:53,307 INFO L272 TraceCheckUtils]: 88: Hoare triple {30041#(= 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)); {29788#true} is VALID [2022-04-28 05:43:53,307 INFO L290 TraceCheckUtils]: 89: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:43:53,307 INFO L290 TraceCheckUtils]: 90: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:43:53,307 INFO L290 TraceCheckUtils]: 91: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:43:53,308 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {29788#true} {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #90#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:43:53,308 INFO L272 TraceCheckUtils]: 93: Hoare triple {30041#(= 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)); {29788#true} is VALID [2022-04-28 05:43:53,308 INFO L290 TraceCheckUtils]: 94: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:43:53,308 INFO L290 TraceCheckUtils]: 95: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:43:53,308 INFO L290 TraceCheckUtils]: 96: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:43:53,309 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {29788#true} {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #92#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:43:53,312 INFO L290 TraceCheckUtils]: 98: Hoare triple {30041#(= 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; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:43:53,312 INFO L290 TraceCheckUtils]: 99: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:43:53,313 INFO L290 TraceCheckUtils]: 100: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:43:53,313 INFO L272 TraceCheckUtils]: 101: Hoare triple {30041#(= 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)); {30099#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:43:53,314 INFO L290 TraceCheckUtils]: 102: Hoare triple {30099#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {30103#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:43:53,314 INFO L290 TraceCheckUtils]: 103: Hoare triple {30103#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29789#false} is VALID [2022-04-28 05:43:53,314 INFO L290 TraceCheckUtils]: 104: Hoare triple {29789#false} assume !false; {29789#false} is VALID [2022-04-28 05:43:53,315 INFO L134 CoverageAnalysis]: Checked inductivity of 342 backedges. 64 proven. 10 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-28 05:43:53,315 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:44:03,723 INFO L290 TraceCheckUtils]: 104: Hoare triple {29789#false} assume !false; {29789#false} is VALID [2022-04-28 05:44:03,723 INFO L290 TraceCheckUtils]: 103: Hoare triple {30103#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29789#false} is VALID [2022-04-28 05:44:03,724 INFO L290 TraceCheckUtils]: 102: Hoare triple {30099#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {30103#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:44:03,724 INFO L272 TraceCheckUtils]: 101: Hoare triple {30041#(= 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)); {30099#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:44:03,725 INFO L290 TraceCheckUtils]: 100: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:44:03,725 INFO L290 TraceCheckUtils]: 99: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:44:03,729 INFO L290 TraceCheckUtils]: 98: Hoare triple {30041#(= 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; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:44:03,730 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {29788#true} {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #92#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:44:03,730 INFO L290 TraceCheckUtils]: 96: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:44:03,730 INFO L290 TraceCheckUtils]: 95: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:44:03,730 INFO L290 TraceCheckUtils]: 94: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:44:03,730 INFO L272 TraceCheckUtils]: 93: Hoare triple {30041#(= 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)); {29788#true} is VALID [2022-04-28 05:44:03,731 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {29788#true} {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #90#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:44:03,731 INFO L290 TraceCheckUtils]: 91: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:44:03,731 INFO L290 TraceCheckUtils]: 90: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:44:03,731 INFO L290 TraceCheckUtils]: 89: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:44:03,731 INFO L272 TraceCheckUtils]: 88: Hoare triple {30041#(= 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)); {29788#true} is VALID [2022-04-28 05:44:03,732 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {29788#true} {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #88#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:44:03,732 INFO L290 TraceCheckUtils]: 86: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:44:03,732 INFO L290 TraceCheckUtils]: 85: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:44:03,732 INFO L290 TraceCheckUtils]: 84: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:44:03,732 INFO L272 TraceCheckUtils]: 83: Hoare triple {30041#(= 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)); {29788#true} is VALID [2022-04-28 05:44:03,733 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} {29788#true} #86#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:44:03,733 INFO L290 TraceCheckUtils]: 81: Hoare triple {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:44:03,734 INFO L290 TraceCheckUtils]: 80: Hoare triple {30185#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:44:03,734 INFO L290 TraceCheckUtils]: 79: Hoare triple {29788#true} ~cond := #in~cond; {30185#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:44:03,734 INFO L272 TraceCheckUtils]: 78: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:44:03,734 INFO L290 TraceCheckUtils]: 77: Hoare triple {29788#true} assume !!(#t~post7 < 100);havoc #t~post7; {29788#true} is VALID [2022-04-28 05:44:03,735 INFO L290 TraceCheckUtils]: 76: Hoare triple {29788#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29788#true} is VALID [2022-04-28 05:44:03,735 INFO L290 TraceCheckUtils]: 75: Hoare triple {29788#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {29788#true} is VALID [2022-04-28 05:44:03,735 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {29788#true} {29788#true} #92#return; {29788#true} is VALID [2022-04-28 05:44:03,735 INFO L290 TraceCheckUtils]: 73: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:44:03,735 INFO L290 TraceCheckUtils]: 72: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:44:03,735 INFO L290 TraceCheckUtils]: 71: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:44:03,735 INFO L272 TraceCheckUtils]: 70: Hoare triple {29788#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)); {29788#true} is VALID [2022-04-28 05:44:03,735 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {29788#true} {29788#true} #90#return; {29788#true} is VALID [2022-04-28 05:44:03,735 INFO L290 TraceCheckUtils]: 68: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:44:03,735 INFO L290 TraceCheckUtils]: 67: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:44:03,736 INFO L290 TraceCheckUtils]: 66: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:44:03,736 INFO L272 TraceCheckUtils]: 65: Hoare triple {29788#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:44:03,736 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {29788#true} {29788#true} #88#return; {29788#true} is VALID [2022-04-28 05:44:03,736 INFO L290 TraceCheckUtils]: 63: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:44:03,736 INFO L290 TraceCheckUtils]: 62: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:44:03,736 INFO L290 TraceCheckUtils]: 61: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:44:03,736 INFO L272 TraceCheckUtils]: 60: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:44:03,736 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {29788#true} {29788#true} #86#return; {29788#true} is VALID [2022-04-28 05:44:03,736 INFO L290 TraceCheckUtils]: 58: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:44:03,736 INFO L290 TraceCheckUtils]: 57: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:44:03,737 INFO L290 TraceCheckUtils]: 56: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:44:03,737 INFO L272 TraceCheckUtils]: 55: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:44:03,737 INFO L290 TraceCheckUtils]: 54: Hoare triple {29788#true} assume !!(#t~post7 < 100);havoc #t~post7; {29788#true} is VALID [2022-04-28 05:44:03,737 INFO L290 TraceCheckUtils]: 53: Hoare triple {29788#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29788#true} is VALID [2022-04-28 05:44:03,737 INFO L290 TraceCheckUtils]: 52: Hoare triple {29788#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {29788#true} is VALID [2022-04-28 05:44:03,737 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {29788#true} {29788#true} #92#return; {29788#true} is VALID [2022-04-28 05:44:03,737 INFO L290 TraceCheckUtils]: 50: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:44:03,737 INFO L290 TraceCheckUtils]: 49: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:44:03,737 INFO L290 TraceCheckUtils]: 48: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:44:03,737 INFO L272 TraceCheckUtils]: 47: Hoare triple {29788#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)); {29788#true} is VALID [2022-04-28 05:44:03,738 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {29788#true} {29788#true} #90#return; {29788#true} is VALID [2022-04-28 05:44:03,738 INFO L290 TraceCheckUtils]: 45: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:44:03,738 INFO L290 TraceCheckUtils]: 44: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:44:03,738 INFO L290 TraceCheckUtils]: 43: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:44:03,738 INFO L272 TraceCheckUtils]: 42: Hoare triple {29788#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:44:03,738 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {29788#true} {29788#true} #88#return; {29788#true} is VALID [2022-04-28 05:44:03,738 INFO L290 TraceCheckUtils]: 40: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:44:03,738 INFO L290 TraceCheckUtils]: 39: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:44:03,738 INFO L290 TraceCheckUtils]: 38: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:44:03,738 INFO L272 TraceCheckUtils]: 37: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:44:03,739 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {29788#true} {29788#true} #86#return; {29788#true} is VALID [2022-04-28 05:44:03,739 INFO L290 TraceCheckUtils]: 35: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:44:03,739 INFO L290 TraceCheckUtils]: 34: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:44:03,739 INFO L290 TraceCheckUtils]: 33: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:44:03,739 INFO L272 TraceCheckUtils]: 32: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:44:03,739 INFO L290 TraceCheckUtils]: 31: Hoare triple {29788#true} assume !!(#t~post7 < 100);havoc #t~post7; {29788#true} is VALID [2022-04-28 05:44:03,739 INFO L290 TraceCheckUtils]: 30: Hoare triple {29788#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29788#true} is VALID [2022-04-28 05:44:03,739 INFO L290 TraceCheckUtils]: 29: Hoare triple {29788#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {29788#true} is VALID [2022-04-28 05:44:03,739 INFO L290 TraceCheckUtils]: 28: Hoare triple {29788#true} assume !!(#t~post6 < 100);havoc #t~post6; {29788#true} is VALID [2022-04-28 05:44:03,739 INFO L290 TraceCheckUtils]: 27: Hoare triple {29788#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29788#true} is VALID [2022-04-28 05:44:03,740 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {29788#true} {29788#true} #84#return; {29788#true} is VALID [2022-04-28 05:44:03,740 INFO L290 TraceCheckUtils]: 25: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:44:03,740 INFO L290 TraceCheckUtils]: 24: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:44:03,740 INFO L290 TraceCheckUtils]: 23: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:44:03,740 INFO L272 TraceCheckUtils]: 22: Hoare triple {29788#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:44:03,740 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {29788#true} {29788#true} #82#return; {29788#true} is VALID [2022-04-28 05:44:03,740 INFO L290 TraceCheckUtils]: 20: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:44:03,740 INFO L290 TraceCheckUtils]: 19: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:44:03,740 INFO L290 TraceCheckUtils]: 18: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:44:03,740 INFO L272 TraceCheckUtils]: 17: Hoare triple {29788#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:44:03,741 INFO L290 TraceCheckUtils]: 16: Hoare triple {29788#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; {29788#true} is VALID [2022-04-28 05:44:03,741 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29788#true} {29788#true} #80#return; {29788#true} is VALID [2022-04-28 05:44:03,741 INFO L290 TraceCheckUtils]: 14: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:44:03,741 INFO L290 TraceCheckUtils]: 13: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:44:03,741 INFO L290 TraceCheckUtils]: 12: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:44:03,741 INFO L272 TraceCheckUtils]: 11: Hoare triple {29788#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:44:03,741 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29788#true} {29788#true} #78#return; {29788#true} is VALID [2022-04-28 05:44:03,741 INFO L290 TraceCheckUtils]: 9: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:44:03,741 INFO L290 TraceCheckUtils]: 8: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 05:44:03,741 INFO L290 TraceCheckUtils]: 7: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 05:44:03,741 INFO L272 TraceCheckUtils]: 6: Hoare triple {29788#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29788#true} is VALID [2022-04-28 05:44:03,742 INFO L290 TraceCheckUtils]: 5: Hoare triple {29788#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; {29788#true} is VALID [2022-04-28 05:44:03,742 INFO L272 TraceCheckUtils]: 4: Hoare triple {29788#true} call #t~ret8 := main(); {29788#true} is VALID [2022-04-28 05:44:03,742 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29788#true} {29788#true} #98#return; {29788#true} is VALID [2022-04-28 05:44:03,742 INFO L290 TraceCheckUtils]: 2: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 05:44:03,742 INFO L290 TraceCheckUtils]: 1: Hoare triple {29788#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);~counter~0 := 0; {29788#true} is VALID [2022-04-28 05:44:03,742 INFO L272 TraceCheckUtils]: 0: Hoare triple {29788#true} call ULTIMATE.init(); {29788#true} is VALID [2022-04-28 05:44:03,742 INFO L134 CoverageAnalysis]: Checked inductivity of 342 backedges. 64 proven. 10 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-28 05:44:03,743 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:44:03,743 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1472216786] [2022-04-28 05:44:03,743 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:44:03,743 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [119031113] [2022-04-28 05:44:03,743 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [119031113] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:44:03,743 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:44:03,743 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 8 [2022-04-28 05:44:03,743 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:44:03,743 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [149145457] [2022-04-28 05:44:03,744 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [149145457] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:44:03,744 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:44:03,744 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 05:44:03,744 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2112112691] [2022-04-28 05:44:03,744 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:44:03,744 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) Word has length 105 [2022-04-28 05:44:03,744 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:44:03,745 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 05:44:03,788 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:44:03,789 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 05:44:03,789 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:44:03,789 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 05:44:03,789 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 05:44:03,789 INFO L87 Difference]: Start difference. First operand 335 states and 439 transitions. Second operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 05:44:04,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:44:04,611 INFO L93 Difference]: Finished difference Result 341 states and 444 transitions. [2022-04-28 05:44:04,611 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 05:44:04,611 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) Word has length 105 [2022-04-28 05:44:04,611 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:44:04,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 05:44:04,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 50 transitions. [2022-04-28 05:44:04,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 05:44:04,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 50 transitions. [2022-04-28 05:44:04,616 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 50 transitions. [2022-04-28 05:44:04,654 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:44:04,662 INFO L225 Difference]: With dead ends: 341 [2022-04-28 05:44:04,662 INFO L226 Difference]: Without dead ends: 339 [2022-04-28 05:44:04,662 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 211 GetRequests, 200 SyntacticMatches, 3 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2022-04-28 05:44:04,662 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 14 mSDsluCounter, 106 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:44:04,663 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 140 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:44:04,663 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 339 states. [2022-04-28 05:44:05,361 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 339 to 339. [2022-04-28 05:44:05,362 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:44:05,362 INFO L82 GeneralOperation]: Start isEquivalent. First operand 339 states. Second operand has 339 states, 216 states have (on average 1.2268518518518519) internal successors, (265), 223 states have internal predecessors, (265), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 05:44:05,363 INFO L74 IsIncluded]: Start isIncluded. First operand 339 states. Second operand has 339 states, 216 states have (on average 1.2268518518518519) internal successors, (265), 223 states have internal predecessors, (265), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 05:44:05,363 INFO L87 Difference]: Start difference. First operand 339 states. Second operand has 339 states, 216 states have (on average 1.2268518518518519) internal successors, (265), 223 states have internal predecessors, (265), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 05:44:05,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:44:05,371 INFO L93 Difference]: Finished difference Result 339 states and 442 transitions. [2022-04-28 05:44:05,371 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 442 transitions. [2022-04-28 05:44:05,372 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:44:05,372 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:44:05,373 INFO L74 IsIncluded]: Start isIncluded. First operand has 339 states, 216 states have (on average 1.2268518518518519) internal successors, (265), 223 states have internal predecessors, (265), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 339 states. [2022-04-28 05:44:05,373 INFO L87 Difference]: Start difference. First operand has 339 states, 216 states have (on average 1.2268518518518519) internal successors, (265), 223 states have internal predecessors, (265), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 339 states. [2022-04-28 05:44:05,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:44:05,382 INFO L93 Difference]: Finished difference Result 339 states and 442 transitions. [2022-04-28 05:44:05,382 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 442 transitions. [2022-04-28 05:44:05,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:44:05,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:44:05,383 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:44:05,383 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:44:05,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 339 states, 216 states have (on average 1.2268518518518519) internal successors, (265), 223 states have internal predecessors, (265), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 05:44:05,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 339 states to 339 states and 442 transitions. [2022-04-28 05:44:05,394 INFO L78 Accepts]: Start accepts. Automaton has 339 states and 442 transitions. Word has length 105 [2022-04-28 05:44:05,394 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:44:05,394 INFO L495 AbstractCegarLoop]: Abstraction has 339 states and 442 transitions. [2022-04-28 05:44:05,394 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 05:44:05,394 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 339 states and 442 transitions. [2022-04-28 05:44:06,201 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 442 edges. 442 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:44:06,202 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 442 transitions. [2022-04-28 05:44:06,202 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 107 [2022-04-28 05:44:06,202 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:44:06,202 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:44:06,227 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-28 05:44:06,403 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:44:06,403 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:44:06,403 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:44:06,403 INFO L85 PathProgramCache]: Analyzing trace with hash -1026601615, now seen corresponding path program 3 times [2022-04-28 05:44:06,404 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:44:06,404 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [704384331] [2022-04-28 05:44:06,404 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:44:06,404 INFO L85 PathProgramCache]: Analyzing trace with hash -1026601615, now seen corresponding path program 4 times [2022-04-28 05:44:06,404 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:44:06,404 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [52823835] [2022-04-28 05:44:06,404 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:44:06,405 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:44:06,425 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:44:06,425 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [230927483] [2022-04-28 05:44:06,425 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:44:06,425 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:44:06,426 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:44:06,427 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:44:06,457 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-28 05:44:06,512 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:44:06,513 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:44:06,514 INFO L263 TraceCheckSpWp]: Trace formula consists of 283 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 05:44:06,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:44:06,536 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:44:07,027 INFO L272 TraceCheckUtils]: 0: Hoare triple {32467#true} call ULTIMATE.init(); {32467#true} is VALID [2022-04-28 05:44:07,028 INFO L290 TraceCheckUtils]: 1: Hoare triple {32467#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);~counter~0 := 0; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,028 INFO L290 TraceCheckUtils]: 2: Hoare triple {32475#(<= ~counter~0 0)} assume true; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,028 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32475#(<= ~counter~0 0)} {32467#true} #98#return; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,029 INFO L272 TraceCheckUtils]: 4: Hoare triple {32475#(<= ~counter~0 0)} call #t~ret8 := main(); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,029 INFO L290 TraceCheckUtils]: 5: Hoare triple {32475#(<= ~counter~0 0)} 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; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,029 INFO L272 TraceCheckUtils]: 6: Hoare triple {32475#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,030 INFO L290 TraceCheckUtils]: 7: Hoare triple {32475#(<= ~counter~0 0)} ~cond := #in~cond; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,030 INFO L290 TraceCheckUtils]: 8: Hoare triple {32475#(<= ~counter~0 0)} assume !(0 == ~cond); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,030 INFO L290 TraceCheckUtils]: 9: Hoare triple {32475#(<= ~counter~0 0)} assume true; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,031 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32475#(<= ~counter~0 0)} {32475#(<= ~counter~0 0)} #78#return; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,031 INFO L272 TraceCheckUtils]: 11: Hoare triple {32475#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,031 INFO L290 TraceCheckUtils]: 12: Hoare triple {32475#(<= ~counter~0 0)} ~cond := #in~cond; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,034 INFO L290 TraceCheckUtils]: 13: Hoare triple {32475#(<= ~counter~0 0)} assume !(0 == ~cond); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,034 INFO L290 TraceCheckUtils]: 14: Hoare triple {32475#(<= ~counter~0 0)} assume true; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,035 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {32475#(<= ~counter~0 0)} {32475#(<= ~counter~0 0)} #80#return; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,035 INFO L290 TraceCheckUtils]: 16: Hoare triple {32475#(<= ~counter~0 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; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,035 INFO L272 TraceCheckUtils]: 17: Hoare triple {32475#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,036 INFO L290 TraceCheckUtils]: 18: Hoare triple {32475#(<= ~counter~0 0)} ~cond := #in~cond; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,036 INFO L290 TraceCheckUtils]: 19: Hoare triple {32475#(<= ~counter~0 0)} assume !(0 == ~cond); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,036 INFO L290 TraceCheckUtils]: 20: Hoare triple {32475#(<= ~counter~0 0)} assume true; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,037 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {32475#(<= ~counter~0 0)} {32475#(<= ~counter~0 0)} #82#return; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,037 INFO L272 TraceCheckUtils]: 22: Hoare triple {32475#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,037 INFO L290 TraceCheckUtils]: 23: Hoare triple {32475#(<= ~counter~0 0)} ~cond := #in~cond; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,038 INFO L290 TraceCheckUtils]: 24: Hoare triple {32475#(<= ~counter~0 0)} assume !(0 == ~cond); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,038 INFO L290 TraceCheckUtils]: 25: Hoare triple {32475#(<= ~counter~0 0)} assume true; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,038 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {32475#(<= ~counter~0 0)} {32475#(<= ~counter~0 0)} #84#return; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 05:44:07,039 INFO L290 TraceCheckUtils]: 27: Hoare triple {32475#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32554#(<= ~counter~0 1)} is VALID [2022-04-28 05:44:07,040 INFO L290 TraceCheckUtils]: 28: Hoare triple {32554#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {32554#(<= ~counter~0 1)} is VALID [2022-04-28 05:44:07,040 INFO L290 TraceCheckUtils]: 29: Hoare triple {32554#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {32554#(<= ~counter~0 1)} is VALID [2022-04-28 05:44:07,040 INFO L290 TraceCheckUtils]: 30: Hoare triple {32554#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,041 INFO L290 TraceCheckUtils]: 31: Hoare triple {32564#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,041 INFO L272 TraceCheckUtils]: 32: Hoare triple {32564#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,041 INFO L290 TraceCheckUtils]: 33: Hoare triple {32564#(<= ~counter~0 2)} ~cond := #in~cond; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,042 INFO L290 TraceCheckUtils]: 34: Hoare triple {32564#(<= ~counter~0 2)} assume !(0 == ~cond); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,042 INFO L290 TraceCheckUtils]: 35: Hoare triple {32564#(<= ~counter~0 2)} assume true; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,043 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {32564#(<= ~counter~0 2)} {32564#(<= ~counter~0 2)} #86#return; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,043 INFO L272 TraceCheckUtils]: 37: Hoare triple {32564#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,043 INFO L290 TraceCheckUtils]: 38: Hoare triple {32564#(<= ~counter~0 2)} ~cond := #in~cond; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,044 INFO L290 TraceCheckUtils]: 39: Hoare triple {32564#(<= ~counter~0 2)} assume !(0 == ~cond); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,044 INFO L290 TraceCheckUtils]: 40: Hoare triple {32564#(<= ~counter~0 2)} assume true; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,044 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {32564#(<= ~counter~0 2)} {32564#(<= ~counter~0 2)} #88#return; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,045 INFO L272 TraceCheckUtils]: 42: Hoare triple {32564#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,045 INFO L290 TraceCheckUtils]: 43: Hoare triple {32564#(<= ~counter~0 2)} ~cond := #in~cond; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,045 INFO L290 TraceCheckUtils]: 44: Hoare triple {32564#(<= ~counter~0 2)} assume !(0 == ~cond); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,046 INFO L290 TraceCheckUtils]: 45: Hoare triple {32564#(<= ~counter~0 2)} assume true; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,046 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {32564#(<= ~counter~0 2)} {32564#(<= ~counter~0 2)} #90#return; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,047 INFO L272 TraceCheckUtils]: 47: Hoare triple {32564#(<= ~counter~0 2)} 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)); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,047 INFO L290 TraceCheckUtils]: 48: Hoare triple {32564#(<= ~counter~0 2)} ~cond := #in~cond; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,047 INFO L290 TraceCheckUtils]: 49: Hoare triple {32564#(<= ~counter~0 2)} assume !(0 == ~cond); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,048 INFO L290 TraceCheckUtils]: 50: Hoare triple {32564#(<= ~counter~0 2)} assume true; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,048 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {32564#(<= ~counter~0 2)} {32564#(<= ~counter~0 2)} #92#return; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,049 INFO L290 TraceCheckUtils]: 52: Hoare triple {32564#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 05:44:07,049 INFO L290 TraceCheckUtils]: 53: Hoare triple {32564#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,049 INFO L290 TraceCheckUtils]: 54: Hoare triple {32634#(<= ~counter~0 3)} assume !!(#t~post7 < 100);havoc #t~post7; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,050 INFO L272 TraceCheckUtils]: 55: Hoare triple {32634#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,050 INFO L290 TraceCheckUtils]: 56: Hoare triple {32634#(<= ~counter~0 3)} ~cond := #in~cond; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,051 INFO L290 TraceCheckUtils]: 57: Hoare triple {32634#(<= ~counter~0 3)} assume !(0 == ~cond); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,051 INFO L290 TraceCheckUtils]: 58: Hoare triple {32634#(<= ~counter~0 3)} assume true; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,051 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {32634#(<= ~counter~0 3)} {32634#(<= ~counter~0 3)} #86#return; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,052 INFO L272 TraceCheckUtils]: 60: Hoare triple {32634#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,052 INFO L290 TraceCheckUtils]: 61: Hoare triple {32634#(<= ~counter~0 3)} ~cond := #in~cond; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,052 INFO L290 TraceCheckUtils]: 62: Hoare triple {32634#(<= ~counter~0 3)} assume !(0 == ~cond); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,053 INFO L290 TraceCheckUtils]: 63: Hoare triple {32634#(<= ~counter~0 3)} assume true; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,053 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {32634#(<= ~counter~0 3)} {32634#(<= ~counter~0 3)} #88#return; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,054 INFO L272 TraceCheckUtils]: 65: Hoare triple {32634#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,054 INFO L290 TraceCheckUtils]: 66: Hoare triple {32634#(<= ~counter~0 3)} ~cond := #in~cond; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,054 INFO L290 TraceCheckUtils]: 67: Hoare triple {32634#(<= ~counter~0 3)} assume !(0 == ~cond); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,055 INFO L290 TraceCheckUtils]: 68: Hoare triple {32634#(<= ~counter~0 3)} assume true; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,055 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {32634#(<= ~counter~0 3)} {32634#(<= ~counter~0 3)} #90#return; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,056 INFO L272 TraceCheckUtils]: 70: Hoare triple {32634#(<= ~counter~0 3)} 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)); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,056 INFO L290 TraceCheckUtils]: 71: Hoare triple {32634#(<= ~counter~0 3)} ~cond := #in~cond; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,056 INFO L290 TraceCheckUtils]: 72: Hoare triple {32634#(<= ~counter~0 3)} assume !(0 == ~cond); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,057 INFO L290 TraceCheckUtils]: 73: Hoare triple {32634#(<= ~counter~0 3)} assume true; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,057 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {32634#(<= ~counter~0 3)} {32634#(<= ~counter~0 3)} #92#return; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,058 INFO L290 TraceCheckUtils]: 75: Hoare triple {32634#(<= ~counter~0 3)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 05:44:07,058 INFO L290 TraceCheckUtils]: 76: Hoare triple {32634#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,058 INFO L290 TraceCheckUtils]: 77: Hoare triple {32704#(<= ~counter~0 4)} assume !!(#t~post7 < 100);havoc #t~post7; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,059 INFO L272 TraceCheckUtils]: 78: Hoare triple {32704#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,059 INFO L290 TraceCheckUtils]: 79: Hoare triple {32704#(<= ~counter~0 4)} ~cond := #in~cond; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,059 INFO L290 TraceCheckUtils]: 80: Hoare triple {32704#(<= ~counter~0 4)} assume !(0 == ~cond); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,060 INFO L290 TraceCheckUtils]: 81: Hoare triple {32704#(<= ~counter~0 4)} assume true; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,060 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {32704#(<= ~counter~0 4)} {32704#(<= ~counter~0 4)} #86#return; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,061 INFO L272 TraceCheckUtils]: 83: Hoare triple {32704#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,061 INFO L290 TraceCheckUtils]: 84: Hoare triple {32704#(<= ~counter~0 4)} ~cond := #in~cond; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,061 INFO L290 TraceCheckUtils]: 85: Hoare triple {32704#(<= ~counter~0 4)} assume !(0 == ~cond); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,062 INFO L290 TraceCheckUtils]: 86: Hoare triple {32704#(<= ~counter~0 4)} assume true; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,062 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {32704#(<= ~counter~0 4)} {32704#(<= ~counter~0 4)} #88#return; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,063 INFO L272 TraceCheckUtils]: 88: Hoare triple {32704#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,069 INFO L290 TraceCheckUtils]: 89: Hoare triple {32704#(<= ~counter~0 4)} ~cond := #in~cond; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,069 INFO L290 TraceCheckUtils]: 90: Hoare triple {32704#(<= ~counter~0 4)} assume !(0 == ~cond); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,070 INFO L290 TraceCheckUtils]: 91: Hoare triple {32704#(<= ~counter~0 4)} assume true; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,070 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {32704#(<= ~counter~0 4)} {32704#(<= ~counter~0 4)} #90#return; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,071 INFO L272 TraceCheckUtils]: 93: Hoare triple {32704#(<= ~counter~0 4)} 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)); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,071 INFO L290 TraceCheckUtils]: 94: Hoare triple {32704#(<= ~counter~0 4)} ~cond := #in~cond; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,072 INFO L290 TraceCheckUtils]: 95: Hoare triple {32704#(<= ~counter~0 4)} assume !(0 == ~cond); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,072 INFO L290 TraceCheckUtils]: 96: Hoare triple {32704#(<= ~counter~0 4)} assume true; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,072 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {32704#(<= ~counter~0 4)} {32704#(<= ~counter~0 4)} #92#return; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,073 INFO L290 TraceCheckUtils]: 98: Hoare triple {32704#(<= ~counter~0 4)} assume !(~c~0 >= ~b~0); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,073 INFO L290 TraceCheckUtils]: 99: Hoare triple {32704#(<= ~counter~0 4)} ~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; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 05:44:07,073 INFO L290 TraceCheckUtils]: 100: Hoare triple {32704#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32777#(<= |main_#t~post6| 4)} is VALID [2022-04-28 05:44:07,074 INFO L290 TraceCheckUtils]: 101: Hoare triple {32777#(<= |main_#t~post6| 4)} assume !(#t~post6 < 100);havoc #t~post6; {32468#false} is VALID [2022-04-28 05:44:07,074 INFO L272 TraceCheckUtils]: 102: Hoare triple {32468#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {32468#false} is VALID [2022-04-28 05:44:07,074 INFO L290 TraceCheckUtils]: 103: Hoare triple {32468#false} ~cond := #in~cond; {32468#false} is VALID [2022-04-28 05:44:07,074 INFO L290 TraceCheckUtils]: 104: Hoare triple {32468#false} assume 0 == ~cond; {32468#false} is VALID [2022-04-28 05:44:07,074 INFO L290 TraceCheckUtils]: 105: Hoare triple {32468#false} assume !false; {32468#false} is VALID [2022-04-28 05:44:07,074 INFO L134 CoverageAnalysis]: Checked inductivity of 335 backedges. 24 proven. 215 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-28 05:44:07,075 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:44:07,466 INFO L290 TraceCheckUtils]: 105: Hoare triple {32468#false} assume !false; {32468#false} is VALID [2022-04-28 05:44:07,467 INFO L290 TraceCheckUtils]: 104: Hoare triple {32468#false} assume 0 == ~cond; {32468#false} is VALID [2022-04-28 05:44:07,467 INFO L290 TraceCheckUtils]: 103: Hoare triple {32468#false} ~cond := #in~cond; {32468#false} is VALID [2022-04-28 05:44:07,467 INFO L272 TraceCheckUtils]: 102: Hoare triple {32468#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {32468#false} is VALID [2022-04-28 05:44:07,467 INFO L290 TraceCheckUtils]: 101: Hoare triple {32805#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {32468#false} is VALID [2022-04-28 05:44:07,467 INFO L290 TraceCheckUtils]: 100: Hoare triple {32809#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32805#(< |main_#t~post6| 100)} is VALID [2022-04-28 05:44:07,468 INFO L290 TraceCheckUtils]: 99: Hoare triple {32809#(< ~counter~0 100)} ~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; {32809#(< ~counter~0 100)} is VALID [2022-04-28 05:44:07,468 INFO L290 TraceCheckUtils]: 98: Hoare triple {32809#(< ~counter~0 100)} assume !(~c~0 >= ~b~0); {32809#(< ~counter~0 100)} is VALID [2022-04-28 05:44:07,469 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {32467#true} {32809#(< ~counter~0 100)} #92#return; {32809#(< ~counter~0 100)} is VALID [2022-04-28 05:44:07,469 INFO L290 TraceCheckUtils]: 96: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 05:44:07,469 INFO L290 TraceCheckUtils]: 95: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 05:44:07,469 INFO L290 TraceCheckUtils]: 94: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 05:44:07,469 INFO L272 TraceCheckUtils]: 93: Hoare triple {32809#(< ~counter~0 100)} 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)); {32467#true} is VALID [2022-04-28 05:44:07,470 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {32467#true} {32809#(< ~counter~0 100)} #90#return; {32809#(< ~counter~0 100)} is VALID [2022-04-28 05:44:07,470 INFO L290 TraceCheckUtils]: 91: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 05:44:07,470 INFO L290 TraceCheckUtils]: 90: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 05:44:07,470 INFO L290 TraceCheckUtils]: 89: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 05:44:07,470 INFO L272 TraceCheckUtils]: 88: Hoare triple {32809#(< ~counter~0 100)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 05:44:07,470 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {32467#true} {32809#(< ~counter~0 100)} #88#return; {32809#(< ~counter~0 100)} is VALID [2022-04-28 05:44:07,470 INFO L290 TraceCheckUtils]: 86: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 05:44:07,471 INFO L290 TraceCheckUtils]: 85: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 05:44:07,471 INFO L290 TraceCheckUtils]: 84: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 05:44:07,471 INFO L272 TraceCheckUtils]: 83: Hoare triple {32809#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 05:44:07,471 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {32467#true} {32809#(< ~counter~0 100)} #86#return; {32809#(< ~counter~0 100)} is VALID [2022-04-28 05:44:07,471 INFO L290 TraceCheckUtils]: 81: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 05:44:07,471 INFO L290 TraceCheckUtils]: 80: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 05:44:07,471 INFO L290 TraceCheckUtils]: 79: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 05:44:07,471 INFO L272 TraceCheckUtils]: 78: Hoare triple {32809#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 05:44:07,472 INFO L290 TraceCheckUtils]: 77: Hoare triple {32809#(< ~counter~0 100)} assume !!(#t~post7 < 100);havoc #t~post7; {32809#(< ~counter~0 100)} is VALID [2022-04-28 05:44:07,473 INFO L290 TraceCheckUtils]: 76: Hoare triple {32882#(< ~counter~0 99)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32809#(< ~counter~0 100)} is VALID [2022-04-28 05:44:07,473 INFO L290 TraceCheckUtils]: 75: Hoare triple {32882#(< ~counter~0 99)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {32882#(< ~counter~0 99)} is VALID [2022-04-28 05:44:07,474 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {32467#true} {32882#(< ~counter~0 99)} #92#return; {32882#(< ~counter~0 99)} is VALID [2022-04-28 05:44:07,474 INFO L290 TraceCheckUtils]: 73: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 05:44:07,474 INFO L290 TraceCheckUtils]: 72: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 05:44:07,474 INFO L290 TraceCheckUtils]: 71: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 05:44:07,474 INFO L272 TraceCheckUtils]: 70: Hoare triple {32882#(< ~counter~0 99)} 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)); {32467#true} is VALID [2022-04-28 05:44:07,475 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {32467#true} {32882#(< ~counter~0 99)} #90#return; {32882#(< ~counter~0 99)} is VALID [2022-04-28 05:44:07,475 INFO L290 TraceCheckUtils]: 68: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 05:44:07,475 INFO L290 TraceCheckUtils]: 67: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 05:44:07,475 INFO L290 TraceCheckUtils]: 66: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 05:44:07,476 INFO L272 TraceCheckUtils]: 65: Hoare triple {32882#(< ~counter~0 99)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 05:44:07,476 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {32467#true} {32882#(< ~counter~0 99)} #88#return; {32882#(< ~counter~0 99)} is VALID [2022-04-28 05:44:07,476 INFO L290 TraceCheckUtils]: 63: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 05:44:07,476 INFO L290 TraceCheckUtils]: 62: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 05:44:07,476 INFO L290 TraceCheckUtils]: 61: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 05:44:07,476 INFO L272 TraceCheckUtils]: 60: Hoare triple {32882#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 05:44:07,482 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {32467#true} {32882#(< ~counter~0 99)} #86#return; {32882#(< ~counter~0 99)} is VALID [2022-04-28 05:44:07,482 INFO L290 TraceCheckUtils]: 58: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 05:44:07,482 INFO L290 TraceCheckUtils]: 57: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 05:44:07,482 INFO L290 TraceCheckUtils]: 56: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 05:44:07,482 INFO L272 TraceCheckUtils]: 55: Hoare triple {32882#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 05:44:07,483 INFO L290 TraceCheckUtils]: 54: Hoare triple {32882#(< ~counter~0 99)} assume !!(#t~post7 < 100);havoc #t~post7; {32882#(< ~counter~0 99)} is VALID [2022-04-28 05:44:07,484 INFO L290 TraceCheckUtils]: 53: Hoare triple {32952#(< ~counter~0 98)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32882#(< ~counter~0 99)} is VALID [2022-04-28 05:44:07,484 INFO L290 TraceCheckUtils]: 52: Hoare triple {32952#(< ~counter~0 98)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {32952#(< ~counter~0 98)} is VALID [2022-04-28 05:44:07,485 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {32467#true} {32952#(< ~counter~0 98)} #92#return; {32952#(< ~counter~0 98)} is VALID [2022-04-28 05:44:07,485 INFO L290 TraceCheckUtils]: 50: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 05:44:07,485 INFO L290 TraceCheckUtils]: 49: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 05:44:07,486 INFO L290 TraceCheckUtils]: 48: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 05:44:07,486 INFO L272 TraceCheckUtils]: 47: Hoare triple {32952#(< ~counter~0 98)} 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)); {32467#true} is VALID [2022-04-28 05:44:07,486 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {32467#true} {32952#(< ~counter~0 98)} #90#return; {32952#(< ~counter~0 98)} is VALID [2022-04-28 05:44:07,486 INFO L290 TraceCheckUtils]: 45: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 05:44:07,487 INFO L290 TraceCheckUtils]: 44: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 05:44:07,487 INFO L290 TraceCheckUtils]: 43: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 05:44:07,487 INFO L272 TraceCheckUtils]: 42: Hoare triple {32952#(< ~counter~0 98)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 05:44:07,488 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {32467#true} {32952#(< ~counter~0 98)} #88#return; {32952#(< ~counter~0 98)} is VALID [2022-04-28 05:44:07,488 INFO L290 TraceCheckUtils]: 40: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 05:44:07,488 INFO L290 TraceCheckUtils]: 39: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 05:44:07,488 INFO L290 TraceCheckUtils]: 38: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 05:44:07,488 INFO L272 TraceCheckUtils]: 37: Hoare triple {32952#(< ~counter~0 98)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 05:44:07,489 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {32467#true} {32952#(< ~counter~0 98)} #86#return; {32952#(< ~counter~0 98)} is VALID [2022-04-28 05:44:07,489 INFO L290 TraceCheckUtils]: 35: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 05:44:07,489 INFO L290 TraceCheckUtils]: 34: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 05:44:07,489 INFO L290 TraceCheckUtils]: 33: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 05:44:07,489 INFO L272 TraceCheckUtils]: 32: Hoare triple {32952#(< ~counter~0 98)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 05:44:07,489 INFO L290 TraceCheckUtils]: 31: Hoare triple {32952#(< ~counter~0 98)} assume !!(#t~post7 < 100);havoc #t~post7; {32952#(< ~counter~0 98)} is VALID [2022-04-28 05:44:07,490 INFO L290 TraceCheckUtils]: 30: Hoare triple {33022#(< ~counter~0 97)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32952#(< ~counter~0 98)} is VALID [2022-04-28 05:44:07,491 INFO L290 TraceCheckUtils]: 29: Hoare triple {33022#(< ~counter~0 97)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {33022#(< ~counter~0 97)} is VALID [2022-04-28 05:44:07,491 INFO L290 TraceCheckUtils]: 28: Hoare triple {33022#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {33022#(< ~counter~0 97)} is VALID [2022-04-28 05:44:07,492 INFO L290 TraceCheckUtils]: 27: Hoare triple {33032#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33022#(< ~counter~0 97)} is VALID [2022-04-28 05:44:07,492 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {32467#true} {33032#(< ~counter~0 96)} #84#return; {33032#(< ~counter~0 96)} is VALID [2022-04-28 05:44:07,492 INFO L290 TraceCheckUtils]: 25: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 05:44:07,492 INFO L290 TraceCheckUtils]: 24: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 05:44:07,492 INFO L290 TraceCheckUtils]: 23: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 05:44:07,493 INFO L272 TraceCheckUtils]: 22: Hoare triple {33032#(< ~counter~0 96)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {32467#true} is VALID [2022-04-28 05:44:07,493 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {32467#true} {33032#(< ~counter~0 96)} #82#return; {33032#(< ~counter~0 96)} is VALID [2022-04-28 05:44:07,493 INFO L290 TraceCheckUtils]: 20: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 05:44:07,493 INFO L290 TraceCheckUtils]: 19: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 05:44:07,493 INFO L290 TraceCheckUtils]: 18: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 05:44:07,493 INFO L272 TraceCheckUtils]: 17: Hoare triple {33032#(< ~counter~0 96)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {32467#true} is VALID [2022-04-28 05:44:07,494 INFO L290 TraceCheckUtils]: 16: Hoare triple {33032#(< ~counter~0 96)} ~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; {33032#(< ~counter~0 96)} is VALID [2022-04-28 05:44:07,494 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {32467#true} {33032#(< ~counter~0 96)} #80#return; {33032#(< ~counter~0 96)} is VALID [2022-04-28 05:44:07,494 INFO L290 TraceCheckUtils]: 14: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 05:44:07,495 INFO L290 TraceCheckUtils]: 13: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 05:44:07,495 INFO L290 TraceCheckUtils]: 12: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 05:44:07,495 INFO L272 TraceCheckUtils]: 11: Hoare triple {33032#(< ~counter~0 96)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {32467#true} is VALID [2022-04-28 05:44:07,495 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32467#true} {33032#(< ~counter~0 96)} #78#return; {33032#(< ~counter~0 96)} is VALID [2022-04-28 05:44:07,495 INFO L290 TraceCheckUtils]: 9: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 05:44:07,495 INFO L290 TraceCheckUtils]: 8: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 05:44:07,496 INFO L290 TraceCheckUtils]: 7: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 05:44:07,496 INFO L272 TraceCheckUtils]: 6: Hoare triple {33032#(< ~counter~0 96)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {32467#true} is VALID [2022-04-28 05:44:07,496 INFO L290 TraceCheckUtils]: 5: Hoare triple {33032#(< ~counter~0 96)} 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; {33032#(< ~counter~0 96)} is VALID [2022-04-28 05:44:07,496 INFO L272 TraceCheckUtils]: 4: Hoare triple {33032#(< ~counter~0 96)} call #t~ret8 := main(); {33032#(< ~counter~0 96)} is VALID [2022-04-28 05:44:07,497 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33032#(< ~counter~0 96)} {32467#true} #98#return; {33032#(< ~counter~0 96)} is VALID [2022-04-28 05:44:07,497 INFO L290 TraceCheckUtils]: 2: Hoare triple {33032#(< ~counter~0 96)} assume true; {33032#(< ~counter~0 96)} is VALID [2022-04-28 05:44:07,498 INFO L290 TraceCheckUtils]: 1: Hoare triple {32467#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);~counter~0 := 0; {33032#(< ~counter~0 96)} is VALID [2022-04-28 05:44:07,498 INFO L272 TraceCheckUtils]: 0: Hoare triple {32467#true} call ULTIMATE.init(); {32467#true} is VALID [2022-04-28 05:44:07,498 INFO L134 CoverageAnalysis]: Checked inductivity of 335 backedges. 24 proven. 23 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 05:44:07,498 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:44:07,499 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [52823835] [2022-04-28 05:44:07,499 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:44:07,499 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [230927483] [2022-04-28 05:44:07,499 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [230927483] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:44:07,499 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:44:07,499 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 05:44:07,499 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:44:07,499 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [704384331] [2022-04-28 05:44:07,499 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [704384331] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:44:07,499 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:44:07,500 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 05:44:07,500 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1005069304] [2022-04-28 05:44:07,500 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:44:07,500 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 106 [2022-04-28 05:44:07,500 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:44:07,500 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:44:07,572 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 05:44:07,572 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 05:44:07,572 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:44:07,573 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 05:44:07,573 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 05:44:07,573 INFO L87 Difference]: Start difference. First operand 339 states and 442 transitions. Second operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:44:08,475 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:44:08,475 INFO L93 Difference]: Finished difference Result 349 states and 452 transitions. [2022-04-28 05:44:08,475 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 05:44:08,475 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 106 [2022-04-28 05:44:08,475 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:44:08,476 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:44:08,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 112 transitions. [2022-04-28 05:44:08,477 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:44:08,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 112 transitions. [2022-04-28 05:44:08,478 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 112 transitions. [2022-04-28 05:44:08,581 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 05:44:08,590 INFO L225 Difference]: With dead ends: 349 [2022-04-28 05:44:08,590 INFO L226 Difference]: Without dead ends: 342 [2022-04-28 05:44:08,591 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 214 GetRequests, 199 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=108, Invalid=164, Unknown=0, NotChecked=0, Total=272 [2022-04-28 05:44:08,591 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 22 mSDsluCounter, 135 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 189 SdHoareTripleChecker+Invalid, 84 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:44:08,591 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 189 Invalid, 84 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 56 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:44:08,592 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 342 states. [2022-04-28 05:44:09,248 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 342 to 342. [2022-04-28 05:44:09,248 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:44:09,248 INFO L82 GeneralOperation]: Start isEquivalent. First operand 342 states. Second operand has 342 states, 219 states have (on average 1.2237442922374429) internal successors, (268), 226 states have internal predecessors, (268), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 05:44:09,249 INFO L74 IsIncluded]: Start isIncluded. First operand 342 states. Second operand has 342 states, 219 states have (on average 1.2237442922374429) internal successors, (268), 226 states have internal predecessors, (268), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 05:44:09,249 INFO L87 Difference]: Start difference. First operand 342 states. Second operand has 342 states, 219 states have (on average 1.2237442922374429) internal successors, (268), 226 states have internal predecessors, (268), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 05:44:09,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:44:09,257 INFO L93 Difference]: Finished difference Result 342 states and 445 transitions. [2022-04-28 05:44:09,258 INFO L276 IsEmpty]: Start isEmpty. Operand 342 states and 445 transitions. [2022-04-28 05:44:09,258 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:44:09,258 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:44:09,259 INFO L74 IsIncluded]: Start isIncluded. First operand has 342 states, 219 states have (on average 1.2237442922374429) internal successors, (268), 226 states have internal predecessors, (268), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 342 states. [2022-04-28 05:44:09,259 INFO L87 Difference]: Start difference. First operand has 342 states, 219 states have (on average 1.2237442922374429) internal successors, (268), 226 states have internal predecessors, (268), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 342 states. [2022-04-28 05:44:09,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:44:09,268 INFO L93 Difference]: Finished difference Result 342 states and 445 transitions. [2022-04-28 05:44:09,268 INFO L276 IsEmpty]: Start isEmpty. Operand 342 states and 445 transitions. [2022-04-28 05:44:09,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:44:09,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:44:09,269 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:44:09,269 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:44:09,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 342 states, 219 states have (on average 1.2237442922374429) internal successors, (268), 226 states have internal predecessors, (268), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 05:44:09,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 342 states to 342 states and 445 transitions. [2022-04-28 05:44:09,280 INFO L78 Accepts]: Start accepts. Automaton has 342 states and 445 transitions. Word has length 106 [2022-04-28 05:44:09,280 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:44:09,281 INFO L495 AbstractCegarLoop]: Abstraction has 342 states and 445 transitions. [2022-04-28 05:44:09,281 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:44:09,281 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 342 states and 445 transitions. [2022-04-28 05:44:10,074 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 445 edges. 445 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:44:10,074 INFO L276 IsEmpty]: Start isEmpty. Operand 342 states and 445 transitions. [2022-04-28 05:44:10,075 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 108 [2022-04-28 05:44:10,075 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:44:10,075 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, 1, 1] [2022-04-28 05:44:10,098 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-28 05:44:10,275 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable24 [2022-04-28 05:44:10,276 INFO L420 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:44:10,276 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:44:10,276 INFO L85 PathProgramCache]: Analyzing trace with hash -1761848073, now seen corresponding path program 3 times [2022-04-28 05:44:10,276 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:44:10,276 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1181139963] [2022-04-28 05:44:10,276 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:44:10,277 INFO L85 PathProgramCache]: Analyzing trace with hash -1761848073, now seen corresponding path program 4 times [2022-04-28 05:44:10,277 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:44:10,277 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [785056960] [2022-04-28 05:44:10,277 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:44:10,277 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:44:10,292 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:44:10,292 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [174211131] [2022-04-28 05:44:10,292 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:44:10,292 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:44:10,292 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:44:10,293 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:44:10,294 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-28 05:44:10,359 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:44:10,359 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:44:10,360 INFO L263 TraceCheckSpWp]: Trace formula consists of 239 conjuncts, 44 conjunts are in the unsatisfiable core [2022-04-28 05:44:10,379 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:44:10,381 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:44:12,833 INFO L272 TraceCheckUtils]: 0: Hoare triple {35188#true} call ULTIMATE.init(); {35188#true} is VALID [2022-04-28 05:44:12,833 INFO L290 TraceCheckUtils]: 1: Hoare triple {35188#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);~counter~0 := 0; {35188#true} is VALID [2022-04-28 05:44:12,833 INFO L290 TraceCheckUtils]: 2: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:44:12,834 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35188#true} {35188#true} #98#return; {35188#true} is VALID [2022-04-28 05:44:12,834 INFO L272 TraceCheckUtils]: 4: Hoare triple {35188#true} call #t~ret8 := main(); {35188#true} is VALID [2022-04-28 05:44:12,834 INFO L290 TraceCheckUtils]: 5: Hoare triple {35188#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; {35188#true} is VALID [2022-04-28 05:44:12,834 INFO L272 TraceCheckUtils]: 6: Hoare triple {35188#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {35188#true} is VALID [2022-04-28 05:44:12,834 INFO L290 TraceCheckUtils]: 7: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:44:12,834 INFO L290 TraceCheckUtils]: 8: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:44:12,834 INFO L290 TraceCheckUtils]: 9: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:44:12,834 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35188#true} {35188#true} #78#return; {35188#true} is VALID [2022-04-28 05:44:12,834 INFO L272 TraceCheckUtils]: 11: Hoare triple {35188#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {35188#true} is VALID [2022-04-28 05:44:12,834 INFO L290 TraceCheckUtils]: 12: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:44:12,835 INFO L290 TraceCheckUtils]: 13: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:44:12,835 INFO L290 TraceCheckUtils]: 14: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:44:12,835 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {35188#true} {35188#true} #80#return; {35188#true} is VALID [2022-04-28 05:44:12,835 INFO L290 TraceCheckUtils]: 16: Hoare triple {35188#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; {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:44:12,835 INFO L272 TraceCheckUtils]: 17: Hoare triple {35241#(and (= main_~r~0 0) (= 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)); {35188#true} is VALID [2022-04-28 05:44:12,836 INFO L290 TraceCheckUtils]: 18: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:44:12,836 INFO L290 TraceCheckUtils]: 19: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:44:12,836 INFO L290 TraceCheckUtils]: 20: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:44:12,837 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {35188#true} {35241#(and (= main_~r~0 0) (= 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; {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:44:12,837 INFO L272 TraceCheckUtils]: 22: Hoare triple {35241#(and (= main_~r~0 0) (= 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)); {35188#true} is VALID [2022-04-28 05:44:12,837 INFO L290 TraceCheckUtils]: 23: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:44:12,837 INFO L290 TraceCheckUtils]: 24: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:44:12,837 INFO L290 TraceCheckUtils]: 25: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:44:12,838 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {35188#true} {35241#(and (= main_~r~0 0) (= 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; {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:44:12,838 INFO L290 TraceCheckUtils]: 27: Hoare triple {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:44:12,839 INFO L290 TraceCheckUtils]: 28: Hoare triple {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:44:12,839 INFO L290 TraceCheckUtils]: 29: Hoare triple {35241#(and (= main_~r~0 0) (= 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; {35281#(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 05:44:12,840 INFO L290 TraceCheckUtils]: 30: Hoare triple {35281#(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))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35281#(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 05:44:12,840 INFO L290 TraceCheckUtils]: 31: Hoare triple {35281#(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 !!(#t~post7 < 100);havoc #t~post7; {35281#(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 05:44:12,841 INFO L272 TraceCheckUtils]: 32: Hoare triple {35281#(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)); {35188#true} is VALID [2022-04-28 05:44:12,841 INFO L290 TraceCheckUtils]: 33: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:44:12,841 INFO L290 TraceCheckUtils]: 34: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:44:12,841 INFO L290 TraceCheckUtils]: 35: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:44:12,841 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {35188#true} {35281#(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; {35281#(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 05:44:12,842 INFO L272 TraceCheckUtils]: 37: Hoare triple {35281#(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)); {35188#true} is VALID [2022-04-28 05:44:12,842 INFO L290 TraceCheckUtils]: 38: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:44:12,842 INFO L290 TraceCheckUtils]: 39: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:44:12,842 INFO L290 TraceCheckUtils]: 40: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:44:12,842 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {35188#true} {35281#(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; {35281#(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 05:44:12,843 INFO L272 TraceCheckUtils]: 42: Hoare triple {35281#(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)); {35188#true} is VALID [2022-04-28 05:44:12,843 INFO L290 TraceCheckUtils]: 43: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:44:12,843 INFO L290 TraceCheckUtils]: 44: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:44:12,843 INFO L290 TraceCheckUtils]: 45: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:44:12,843 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {35188#true} {35281#(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; {35281#(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 05:44:12,844 INFO L272 TraceCheckUtils]: 47: Hoare triple {35281#(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)); {35188#true} is VALID [2022-04-28 05:44:12,844 INFO L290 TraceCheckUtils]: 48: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:44:12,844 INFO L290 TraceCheckUtils]: 49: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:44:12,844 INFO L290 TraceCheckUtils]: 50: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:44:12,844 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {35188#true} {35281#(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))} #92#return; {35281#(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 05:44:12,846 INFO L290 TraceCheckUtils]: 52: Hoare triple {35281#(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; {35351#(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 05:44:12,846 INFO L290 TraceCheckUtils]: 53: Hoare triple {35351#(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))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35351#(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 05:44:12,847 INFO L290 TraceCheckUtils]: 54: Hoare triple {35351#(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 !!(#t~post7 < 100);havoc #t~post7; {35351#(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 05:44:12,847 INFO L272 TraceCheckUtils]: 55: Hoare triple {35351#(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)); {35188#true} is VALID [2022-04-28 05:44:12,847 INFO L290 TraceCheckUtils]: 56: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:44:12,847 INFO L290 TraceCheckUtils]: 57: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:44:12,847 INFO L290 TraceCheckUtils]: 58: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:44:12,848 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {35188#true} {35351#(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))} #86#return; {35351#(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 05:44:12,848 INFO L272 TraceCheckUtils]: 60: Hoare triple {35351#(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 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 05:44:12,848 INFO L290 TraceCheckUtils]: 61: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:44:12,848 INFO L290 TraceCheckUtils]: 62: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:44:12,848 INFO L290 TraceCheckUtils]: 63: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:44:12,849 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {35188#true} {35351#(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))} #88#return; {35351#(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 05:44:12,849 INFO L272 TraceCheckUtils]: 65: Hoare triple {35351#(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 ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 05:44:12,849 INFO L290 TraceCheckUtils]: 66: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:44:12,849 INFO L290 TraceCheckUtils]: 67: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:44:12,849 INFO L290 TraceCheckUtils]: 68: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:44:12,850 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {35188#true} {35351#(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))} #90#return; {35351#(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 05:44:12,850 INFO L272 TraceCheckUtils]: 70: Hoare triple {35351#(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 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)); {35188#true} is VALID [2022-04-28 05:44:12,850 INFO L290 TraceCheckUtils]: 71: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:44:12,850 INFO L290 TraceCheckUtils]: 72: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:44:12,850 INFO L290 TraceCheckUtils]: 73: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:44:12,851 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {35188#true} {35351#(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))} #92#return; {35351#(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 05:44:12,852 INFO L290 TraceCheckUtils]: 75: Hoare triple {35351#(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 !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-28 05:44:12,852 INFO L290 TraceCheckUtils]: 76: Hoare triple {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-28 05:44:12,853 INFO L290 TraceCheckUtils]: 77: Hoare triple {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-28 05:44:12,853 INFO L272 TraceCheckUtils]: 78: Hoare triple {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 05:44:12,853 INFO L290 TraceCheckUtils]: 79: Hoare triple {35188#true} ~cond := #in~cond; {35434#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:44:12,853 INFO L290 TraceCheckUtils]: 80: Hoare triple {35434#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:44:12,854 INFO L290 TraceCheckUtils]: 81: Hoare triple {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:44:12,855 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} #86#return; {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:44:12,855 INFO L272 TraceCheckUtils]: 83: Hoare triple {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 05:44:12,855 INFO L290 TraceCheckUtils]: 84: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:44:12,855 INFO L290 TraceCheckUtils]: 85: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:44:12,855 INFO L290 TraceCheckUtils]: 86: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:44:12,856 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {35188#true} {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #88#return; {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:44:12,856 INFO L272 TraceCheckUtils]: 88: Hoare triple {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 05:44:12,856 INFO L290 TraceCheckUtils]: 89: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:44:12,856 INFO L290 TraceCheckUtils]: 90: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:44:12,856 INFO L290 TraceCheckUtils]: 91: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:44:12,857 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {35188#true} {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #90#return; {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:44:12,857 INFO L272 TraceCheckUtils]: 93: Hoare triple {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 05:44:12,857 INFO L290 TraceCheckUtils]: 94: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:44:12,857 INFO L290 TraceCheckUtils]: 95: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:44:12,857 INFO L290 TraceCheckUtils]: 96: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:44:12,858 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {35188#true} {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #92#return; {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:44:12,859 INFO L290 TraceCheckUtils]: 98: Hoare triple {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {35494#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (< main_~c~0 main_~b~0) (= main_~p~0 1))} is VALID [2022-04-28 05:44:12,861 INFO L290 TraceCheckUtils]: 99: Hoare triple {35494#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (< main_~c~0 main_~b~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; {35498#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} is VALID [2022-04-28 05:44:12,861 INFO L290 TraceCheckUtils]: 100: Hoare triple {35498#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35498#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} is VALID [2022-04-28 05:44:12,862 INFO L290 TraceCheckUtils]: 101: Hoare triple {35498#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {35498#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} is VALID [2022-04-28 05:44:12,862 INFO L290 TraceCheckUtils]: 102: Hoare triple {35498#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} assume !(0 != ~b~0); {35508#(and (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (= (+ (* main_~y~0 2) (* main_~y~0 main_~s~0)) 0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= main_~q~0 1))} is VALID [2022-04-28 05:44:12,863 INFO L272 TraceCheckUtils]: 103: Hoare triple {35508#(and (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (= (+ (* main_~y~0 2) (* main_~y~0 main_~s~0)) 0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= main_~q~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {35512#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:44:12,863 INFO L290 TraceCheckUtils]: 104: Hoare triple {35512#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {35516#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:44:12,864 INFO L290 TraceCheckUtils]: 105: Hoare triple {35516#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {35189#false} is VALID [2022-04-28 05:44:12,864 INFO L290 TraceCheckUtils]: 106: Hoare triple {35189#false} assume !false; {35189#false} is VALID [2022-04-28 05:44:12,867 INFO L134 CoverageAnalysis]: Checked inductivity of 336 backedges. 47 proven. 34 refuted. 0 times theorem prover too weak. 255 trivial. 0 not checked. [2022-04-28 05:44:12,867 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:45:31,573 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:45:37,601 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:45:40,448 INFO L290 TraceCheckUtils]: 106: Hoare triple {35189#false} assume !false; {35189#false} is VALID [2022-04-28 05:45:40,449 INFO L290 TraceCheckUtils]: 105: Hoare triple {35516#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {35189#false} is VALID [2022-04-28 05:45:40,449 INFO L290 TraceCheckUtils]: 104: Hoare triple {35512#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {35516#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:45:40,450 INFO L272 TraceCheckUtils]: 103: Hoare triple {35532#(= (+ (* 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)); {35512#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:45:40,450 INFO L290 TraceCheckUtils]: 102: Hoare triple {35536#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {35532#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-28 05:45:40,451 INFO L290 TraceCheckUtils]: 101: Hoare triple {35536#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {35536#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-28 05:45:40,451 INFO L290 TraceCheckUtils]: 100: Hoare triple {35536#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35536#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-28 05:45:42,452 WARN L290 TraceCheckUtils]: 99: Hoare triple {35546#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {35536#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is UNKNOWN [2022-04-28 05:45:42,453 INFO L290 TraceCheckUtils]: 98: Hoare triple {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {35546#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:45:42,454 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {35188#true} {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} #92#return; {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:45:42,454 INFO L290 TraceCheckUtils]: 96: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:45:42,454 INFO L290 TraceCheckUtils]: 95: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:45:42,454 INFO L290 TraceCheckUtils]: 94: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:45:42,454 INFO L272 TraceCheckUtils]: 93: Hoare triple {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 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)); {35188#true} is VALID [2022-04-28 05:45:42,455 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {35188#true} {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} #90#return; {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:45:42,455 INFO L290 TraceCheckUtils]: 91: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:45:42,455 INFO L290 TraceCheckUtils]: 90: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:45:42,455 INFO L290 TraceCheckUtils]: 89: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:45:42,455 INFO L272 TraceCheckUtils]: 88: Hoare triple {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 05:45:42,456 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {35188#true} {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} #88#return; {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:45:42,456 INFO L290 TraceCheckUtils]: 86: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:45:42,456 INFO L290 TraceCheckUtils]: 85: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:45:42,456 INFO L290 TraceCheckUtils]: 84: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:45:42,456 INFO L272 TraceCheckUtils]: 83: Hoare triple {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 05:45:42,457 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} #86#return; {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:45:42,457 INFO L290 TraceCheckUtils]: 81: Hoare triple {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:45:42,458 INFO L290 TraceCheckUtils]: 80: Hoare triple {35609#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:45:42,458 INFO L290 TraceCheckUtils]: 79: Hoare triple {35188#true} ~cond := #in~cond; {35609#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:45:42,458 INFO L272 TraceCheckUtils]: 78: Hoare triple {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 05:45:42,458 INFO L290 TraceCheckUtils]: 77: Hoare triple {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} assume !!(#t~post7 < 100);havoc #t~post7; {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-28 05:45:42,459 INFO L290 TraceCheckUtils]: 76: Hoare triple {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-28 05:45:42,482 INFO L290 TraceCheckUtils]: 75: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~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; {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-28 05:45:42,483 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {35188#true} {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #92#return; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:45:42,483 INFO L290 TraceCheckUtils]: 73: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:45:42,483 INFO L290 TraceCheckUtils]: 72: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:45:42,483 INFO L290 TraceCheckUtils]: 71: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:45:42,483 INFO L272 TraceCheckUtils]: 70: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~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)); {35188#true} is VALID [2022-04-28 05:45:42,484 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {35188#true} {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #90#return; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:45:42,484 INFO L290 TraceCheckUtils]: 68: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:45:42,484 INFO L290 TraceCheckUtils]: 67: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:45:42,484 INFO L290 TraceCheckUtils]: 66: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:45:42,484 INFO L272 TraceCheckUtils]: 65: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~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)); {35188#true} is VALID [2022-04-28 05:45:42,485 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {35188#true} {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #88#return; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:45:42,485 INFO L290 TraceCheckUtils]: 63: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:45:42,485 INFO L290 TraceCheckUtils]: 62: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:45:42,485 INFO L290 TraceCheckUtils]: 61: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:45:42,485 INFO L272 TraceCheckUtils]: 60: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~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)); {35188#true} is VALID [2022-04-28 05:45:42,486 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {35188#true} {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #86#return; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:45:42,486 INFO L290 TraceCheckUtils]: 58: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:45:42,486 INFO L290 TraceCheckUtils]: 57: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:45:42,486 INFO L290 TraceCheckUtils]: 56: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:45:42,486 INFO L272 TraceCheckUtils]: 55: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~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)); {35188#true} is VALID [2022-04-28 05:45:42,486 INFO L290 TraceCheckUtils]: 54: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(#t~post7 < 100);havoc #t~post7; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:45:42,487 INFO L290 TraceCheckUtils]: 53: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:45:44,489 WARN L290 TraceCheckUtils]: 52: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is UNKNOWN [2022-04-28 05:45:44,491 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {35188#true} {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} #92#return; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 05:45:44,491 INFO L290 TraceCheckUtils]: 50: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:45:44,491 INFO L290 TraceCheckUtils]: 49: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:45:44,491 INFO L290 TraceCheckUtils]: 48: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:45:44,491 INFO L272 TraceCheckUtils]: 47: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 05:45:44,492 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {35188#true} {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} #90#return; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 05:45:44,492 INFO L290 TraceCheckUtils]: 45: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:45:44,492 INFO L290 TraceCheckUtils]: 44: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:45:44,492 INFO L290 TraceCheckUtils]: 43: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:45:44,492 INFO L272 TraceCheckUtils]: 42: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 05:45:44,493 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {35188#true} {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} #88#return; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 05:45:44,493 INFO L290 TraceCheckUtils]: 40: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:45:44,493 INFO L290 TraceCheckUtils]: 39: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:45:44,493 INFO L290 TraceCheckUtils]: 38: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:45:44,493 INFO L272 TraceCheckUtils]: 37: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 05:45:44,494 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {35188#true} {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} #86#return; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 05:45:44,494 INFO L290 TraceCheckUtils]: 35: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:45:44,494 INFO L290 TraceCheckUtils]: 34: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:45:44,494 INFO L290 TraceCheckUtils]: 33: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:45:44,494 INFO L272 TraceCheckUtils]: 32: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 05:45:44,494 INFO L290 TraceCheckUtils]: 31: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 05:45:44,495 INFO L290 TraceCheckUtils]: 30: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 05:45:44,496 INFO L290 TraceCheckUtils]: 29: Hoare triple {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 05:45:44,496 INFO L290 TraceCheckUtils]: 28: Hoare triple {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(#t~post6 < 100);havoc #t~post6; {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:45:44,497 INFO L290 TraceCheckUtils]: 27: Hoare triple {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:45:44,497 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {35188#true} {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #84#return; {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:45:44,497 INFO L290 TraceCheckUtils]: 25: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:45:44,497 INFO L290 TraceCheckUtils]: 24: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:45:44,497 INFO L290 TraceCheckUtils]: 23: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:45:44,498 INFO L272 TraceCheckUtils]: 22: Hoare triple {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~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)); {35188#true} is VALID [2022-04-28 05:45:44,498 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {35188#true} {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #82#return; {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:45:44,498 INFO L290 TraceCheckUtils]: 20: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:45:44,498 INFO L290 TraceCheckUtils]: 19: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:45:44,498 INFO L290 TraceCheckUtils]: 18: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:45:44,498 INFO L272 TraceCheckUtils]: 17: Hoare triple {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~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)); {35188#true} is VALID [2022-04-28 05:45:44,499 INFO L290 TraceCheckUtils]: 16: Hoare triple {35188#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; {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:45:44,499 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {35188#true} {35188#true} #80#return; {35188#true} is VALID [2022-04-28 05:45:44,499 INFO L290 TraceCheckUtils]: 14: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:45:44,499 INFO L290 TraceCheckUtils]: 13: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:45:44,499 INFO L290 TraceCheckUtils]: 12: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:45:44,499 INFO L272 TraceCheckUtils]: 11: Hoare triple {35188#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {35188#true} is VALID [2022-04-28 05:45:44,499 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35188#true} {35188#true} #78#return; {35188#true} is VALID [2022-04-28 05:45:44,500 INFO L290 TraceCheckUtils]: 9: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:45:44,500 INFO L290 TraceCheckUtils]: 8: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 05:45:44,500 INFO L290 TraceCheckUtils]: 7: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 05:45:44,500 INFO L272 TraceCheckUtils]: 6: Hoare triple {35188#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {35188#true} is VALID [2022-04-28 05:45:44,500 INFO L290 TraceCheckUtils]: 5: Hoare triple {35188#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; {35188#true} is VALID [2022-04-28 05:45:44,500 INFO L272 TraceCheckUtils]: 4: Hoare triple {35188#true} call #t~ret8 := main(); {35188#true} is VALID [2022-04-28 05:45:44,500 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35188#true} {35188#true} #98#return; {35188#true} is VALID [2022-04-28 05:45:44,500 INFO L290 TraceCheckUtils]: 2: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 05:45:44,500 INFO L290 TraceCheckUtils]: 1: Hoare triple {35188#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);~counter~0 := 0; {35188#true} is VALID [2022-04-28 05:45:44,500 INFO L272 TraceCheckUtils]: 0: Hoare triple {35188#true} call ULTIMATE.init(); {35188#true} is VALID [2022-04-28 05:45:44,501 INFO L134 CoverageAnalysis]: Checked inductivity of 336 backedges. 47 proven. 34 refuted. 0 times theorem prover too weak. 255 trivial. 0 not checked. [2022-04-28 05:45:44,501 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:45:44,501 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [785056960] [2022-04-28 05:45:44,501 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:45:44,501 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [174211131] [2022-04-28 05:45:44,501 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [174211131] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:45:44,501 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:45:44,501 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 23 [2022-04-28 05:45:44,501 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:45:44,501 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1181139963] [2022-04-28 05:45:44,501 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1181139963] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:45:44,501 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:45:44,502 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 05:45:44,502 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [977738166] [2022-04-28 05:45:44,502 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:45:44,502 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) Word has length 107 [2022-04-28 05:45:44,502 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:45:44,502 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 05:45:44,580 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:45:44,580 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 05:45:44,580 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:45:44,581 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 05:45:44,581 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=90, Invalid=416, Unknown=0, NotChecked=0, Total=506 [2022-04-28 05:45:44,581 INFO L87 Difference]: Start difference. First operand 342 states and 445 transitions. Second operand has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 05:45:51,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:45:51,071 INFO L93 Difference]: Finished difference Result 369 states and 485 transitions. [2022-04-28 05:45:51,071 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 05:45:51,072 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) Word has length 107 [2022-04-28 05:45:51,072 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:45:51,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 05:45:51,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 125 transitions. [2022-04-28 05:45:51,074 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 05:45:51,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 125 transitions. [2022-04-28 05:45:51,075 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 125 transitions. [2022-04-28 05:45:51,226 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:45:51,238 INFO L225 Difference]: With dead ends: 369 [2022-04-28 05:45:51,238 INFO L226 Difference]: Without dead ends: 366 [2022-04-28 05:45:51,239 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 218 GetRequests, 191 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 155 ImplicationChecksByTransitivity, 3.4s TimeCoverageRelationStatistics Valid=140, Invalid=616, Unknown=0, NotChecked=0, Total=756 [2022-04-28 05:45:51,239 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 37 mSDsluCounter, 282 mSDsCounter, 0 mSdLazyCounter, 615 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 335 SdHoareTripleChecker+Invalid, 654 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 615 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.4s IncrementalHoareTripleChecker+Time [2022-04-28 05:45:51,240 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 335 Invalid, 654 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 615 Invalid, 0 Unknown, 0 Unchecked, 2.4s Time] [2022-04-28 05:45:51,240 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 366 states. [2022-04-28 05:45:51,970 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 366 to 364. [2022-04-28 05:45:51,970 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:45:51,970 INFO L82 GeneralOperation]: Start isEquivalent. First operand 366 states. Second operand has 364 states, 231 states have (on average 1.2294372294372293) internal successors, (284), 239 states have internal predecessors, (284), 99 states have call successors, (99), 34 states have call predecessors, (99), 33 states have return successors, (96), 90 states have call predecessors, (96), 96 states have call successors, (96) [2022-04-28 05:45:51,971 INFO L74 IsIncluded]: Start isIncluded. First operand 366 states. Second operand has 364 states, 231 states have (on average 1.2294372294372293) internal successors, (284), 239 states have internal predecessors, (284), 99 states have call successors, (99), 34 states have call predecessors, (99), 33 states have return successors, (96), 90 states have call predecessors, (96), 96 states have call successors, (96) [2022-04-28 05:45:51,971 INFO L87 Difference]: Start difference. First operand 366 states. Second operand has 364 states, 231 states have (on average 1.2294372294372293) internal successors, (284), 239 states have internal predecessors, (284), 99 states have call successors, (99), 34 states have call predecessors, (99), 33 states have return successors, (96), 90 states have call predecessors, (96), 96 states have call successors, (96) [2022-04-28 05:45:51,977 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:45:51,977 INFO L93 Difference]: Finished difference Result 366 states and 481 transitions. [2022-04-28 05:45:51,977 INFO L276 IsEmpty]: Start isEmpty. Operand 366 states and 481 transitions. [2022-04-28 05:45:51,978 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:45:51,978 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:45:51,978 INFO L74 IsIncluded]: Start isIncluded. First operand has 364 states, 231 states have (on average 1.2294372294372293) internal successors, (284), 239 states have internal predecessors, (284), 99 states have call successors, (99), 34 states have call predecessors, (99), 33 states have return successors, (96), 90 states have call predecessors, (96), 96 states have call successors, (96) Second operand 366 states. [2022-04-28 05:45:51,979 INFO L87 Difference]: Start difference. First operand has 364 states, 231 states have (on average 1.2294372294372293) internal successors, (284), 239 states have internal predecessors, (284), 99 states have call successors, (99), 34 states have call predecessors, (99), 33 states have return successors, (96), 90 states have call predecessors, (96), 96 states have call successors, (96) Second operand 366 states. [2022-04-28 05:45:51,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:45:51,988 INFO L93 Difference]: Finished difference Result 366 states and 481 transitions. [2022-04-28 05:45:51,988 INFO L276 IsEmpty]: Start isEmpty. Operand 366 states and 481 transitions. [2022-04-28 05:45:51,989 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:45:51,989 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:45:51,989 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:45:51,989 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:45:51,990 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 364 states, 231 states have (on average 1.2294372294372293) internal successors, (284), 239 states have internal predecessors, (284), 99 states have call successors, (99), 34 states have call predecessors, (99), 33 states have return successors, (96), 90 states have call predecessors, (96), 96 states have call successors, (96) [2022-04-28 05:45:52,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 364 states to 364 states and 479 transitions. [2022-04-28 05:45:52,001 INFO L78 Accepts]: Start accepts. Automaton has 364 states and 479 transitions. Word has length 107 [2022-04-28 05:45:52,001 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:45:52,001 INFO L495 AbstractCegarLoop]: Abstraction has 364 states and 479 transitions. [2022-04-28 05:45:52,002 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 05:45:52,002 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 364 states and 479 transitions. [2022-04-28 05:45:52,930 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 479 edges. 479 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:45:52,930 INFO L276 IsEmpty]: Start isEmpty. Operand 364 states and 479 transitions. [2022-04-28 05:45:52,931 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-28 05:45:52,931 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:45:52,931 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:45:52,957 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Forceful destruction successful, exit code 0 [2022-04-28 05:45:53,131 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-28 05:45:53,132 INFO L420 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:45:53,132 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:45:53,132 INFO L85 PathProgramCache]: Analyzing trace with hash 1514731471, now seen corresponding path program 5 times [2022-04-28 05:45:53,132 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:45:53,132 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [817160101] [2022-04-28 05:45:53,133 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:45:53,133 INFO L85 PathProgramCache]: Analyzing trace with hash 1514731471, now seen corresponding path program 6 times [2022-04-28 05:45:53,133 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:45:53,133 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1687201649] [2022-04-28 05:45:53,133 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:45:53,133 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:45:53,146 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:45:53,146 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1423267457] [2022-04-28 05:45:53,146 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:45:53,146 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:45:53,147 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:45:53,147 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:45:53,175 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-28 05:45:53,251 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 05:45:53,251 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:45:53,252 INFO L263 TraceCheckSpWp]: Trace formula consists of 267 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 05:45:53,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:45:53,289 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:45:53,778 INFO L272 TraceCheckUtils]: 0: Hoare triple {38060#true} call ULTIMATE.init(); {38060#true} is VALID [2022-04-28 05:45:53,778 INFO L290 TraceCheckUtils]: 1: Hoare triple {38060#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);~counter~0 := 0; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,779 INFO L290 TraceCheckUtils]: 2: Hoare triple {38068#(<= ~counter~0 0)} assume true; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,779 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38068#(<= ~counter~0 0)} {38060#true} #98#return; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,779 INFO L272 TraceCheckUtils]: 4: Hoare triple {38068#(<= ~counter~0 0)} call #t~ret8 := main(); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,780 INFO L290 TraceCheckUtils]: 5: Hoare triple {38068#(<= ~counter~0 0)} 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; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,780 INFO L272 TraceCheckUtils]: 6: Hoare triple {38068#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,781 INFO L290 TraceCheckUtils]: 7: Hoare triple {38068#(<= ~counter~0 0)} ~cond := #in~cond; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,781 INFO L290 TraceCheckUtils]: 8: Hoare triple {38068#(<= ~counter~0 0)} assume !(0 == ~cond); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,781 INFO L290 TraceCheckUtils]: 9: Hoare triple {38068#(<= ~counter~0 0)} assume true; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,782 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38068#(<= ~counter~0 0)} {38068#(<= ~counter~0 0)} #78#return; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,782 INFO L272 TraceCheckUtils]: 11: Hoare triple {38068#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,783 INFO L290 TraceCheckUtils]: 12: Hoare triple {38068#(<= ~counter~0 0)} ~cond := #in~cond; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,783 INFO L290 TraceCheckUtils]: 13: Hoare triple {38068#(<= ~counter~0 0)} assume !(0 == ~cond); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,783 INFO L290 TraceCheckUtils]: 14: Hoare triple {38068#(<= ~counter~0 0)} assume true; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,784 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {38068#(<= ~counter~0 0)} {38068#(<= ~counter~0 0)} #80#return; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,784 INFO L290 TraceCheckUtils]: 16: Hoare triple {38068#(<= ~counter~0 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; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,784 INFO L272 TraceCheckUtils]: 17: Hoare triple {38068#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,785 INFO L290 TraceCheckUtils]: 18: Hoare triple {38068#(<= ~counter~0 0)} ~cond := #in~cond; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,785 INFO L290 TraceCheckUtils]: 19: Hoare triple {38068#(<= ~counter~0 0)} assume !(0 == ~cond); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,785 INFO L290 TraceCheckUtils]: 20: Hoare triple {38068#(<= ~counter~0 0)} assume true; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,786 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38068#(<= ~counter~0 0)} {38068#(<= ~counter~0 0)} #82#return; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,786 INFO L272 TraceCheckUtils]: 22: Hoare triple {38068#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,787 INFO L290 TraceCheckUtils]: 23: Hoare triple {38068#(<= ~counter~0 0)} ~cond := #in~cond; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,787 INFO L290 TraceCheckUtils]: 24: Hoare triple {38068#(<= ~counter~0 0)} assume !(0 == ~cond); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,787 INFO L290 TraceCheckUtils]: 25: Hoare triple {38068#(<= ~counter~0 0)} assume true; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,788 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {38068#(<= ~counter~0 0)} {38068#(<= ~counter~0 0)} #84#return; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 05:45:53,789 INFO L290 TraceCheckUtils]: 27: Hoare triple {38068#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38147#(<= ~counter~0 1)} is VALID [2022-04-28 05:45:53,789 INFO L290 TraceCheckUtils]: 28: Hoare triple {38147#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {38147#(<= ~counter~0 1)} is VALID [2022-04-28 05:45:53,790 INFO L290 TraceCheckUtils]: 29: Hoare triple {38147#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {38147#(<= ~counter~0 1)} is VALID [2022-04-28 05:45:53,790 INFO L290 TraceCheckUtils]: 30: Hoare triple {38147#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,791 INFO L290 TraceCheckUtils]: 31: Hoare triple {38157#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,791 INFO L272 TraceCheckUtils]: 32: Hoare triple {38157#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,792 INFO L290 TraceCheckUtils]: 33: Hoare triple {38157#(<= ~counter~0 2)} ~cond := #in~cond; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,792 INFO L290 TraceCheckUtils]: 34: Hoare triple {38157#(<= ~counter~0 2)} assume !(0 == ~cond); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,793 INFO L290 TraceCheckUtils]: 35: Hoare triple {38157#(<= ~counter~0 2)} assume true; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,794 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {38157#(<= ~counter~0 2)} {38157#(<= ~counter~0 2)} #86#return; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,794 INFO L272 TraceCheckUtils]: 37: Hoare triple {38157#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,795 INFO L290 TraceCheckUtils]: 38: Hoare triple {38157#(<= ~counter~0 2)} ~cond := #in~cond; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,795 INFO L290 TraceCheckUtils]: 39: Hoare triple {38157#(<= ~counter~0 2)} assume !(0 == ~cond); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,796 INFO L290 TraceCheckUtils]: 40: Hoare triple {38157#(<= ~counter~0 2)} assume true; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,796 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {38157#(<= ~counter~0 2)} {38157#(<= ~counter~0 2)} #88#return; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,797 INFO L272 TraceCheckUtils]: 42: Hoare triple {38157#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,797 INFO L290 TraceCheckUtils]: 43: Hoare triple {38157#(<= ~counter~0 2)} ~cond := #in~cond; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,798 INFO L290 TraceCheckUtils]: 44: Hoare triple {38157#(<= ~counter~0 2)} assume !(0 == ~cond); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,798 INFO L290 TraceCheckUtils]: 45: Hoare triple {38157#(<= ~counter~0 2)} assume true; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,799 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {38157#(<= ~counter~0 2)} {38157#(<= ~counter~0 2)} #90#return; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,800 INFO L272 TraceCheckUtils]: 47: Hoare triple {38157#(<= ~counter~0 2)} 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)); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,800 INFO L290 TraceCheckUtils]: 48: Hoare triple {38157#(<= ~counter~0 2)} ~cond := #in~cond; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,801 INFO L290 TraceCheckUtils]: 49: Hoare triple {38157#(<= ~counter~0 2)} assume !(0 == ~cond); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,801 INFO L290 TraceCheckUtils]: 50: Hoare triple {38157#(<= ~counter~0 2)} assume true; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,802 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {38157#(<= ~counter~0 2)} {38157#(<= ~counter~0 2)} #92#return; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,802 INFO L290 TraceCheckUtils]: 52: Hoare triple {38157#(<= ~counter~0 2)} assume !(~c~0 >= ~b~0); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,802 INFO L290 TraceCheckUtils]: 53: Hoare triple {38157#(<= ~counter~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; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 05:45:53,804 INFO L290 TraceCheckUtils]: 54: Hoare triple {38157#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38230#(<= ~counter~0 3)} is VALID [2022-04-28 05:45:53,804 INFO L290 TraceCheckUtils]: 55: Hoare triple {38230#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {38230#(<= ~counter~0 3)} is VALID [2022-04-28 05:45:53,804 INFO L290 TraceCheckUtils]: 56: Hoare triple {38230#(<= ~counter~0 3)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {38230#(<= ~counter~0 3)} is VALID [2022-04-28 05:45:53,805 INFO L290 TraceCheckUtils]: 57: Hoare triple {38230#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,805 INFO L290 TraceCheckUtils]: 58: Hoare triple {38240#(<= ~counter~0 4)} assume !!(#t~post7 < 100);havoc #t~post7; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,806 INFO L272 TraceCheckUtils]: 59: Hoare triple {38240#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,806 INFO L290 TraceCheckUtils]: 60: Hoare triple {38240#(<= ~counter~0 4)} ~cond := #in~cond; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,807 INFO L290 TraceCheckUtils]: 61: Hoare triple {38240#(<= ~counter~0 4)} assume !(0 == ~cond); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,807 INFO L290 TraceCheckUtils]: 62: Hoare triple {38240#(<= ~counter~0 4)} assume true; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,808 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {38240#(<= ~counter~0 4)} {38240#(<= ~counter~0 4)} #86#return; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,808 INFO L272 TraceCheckUtils]: 64: Hoare triple {38240#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,809 INFO L290 TraceCheckUtils]: 65: Hoare triple {38240#(<= ~counter~0 4)} ~cond := #in~cond; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,809 INFO L290 TraceCheckUtils]: 66: Hoare triple {38240#(<= ~counter~0 4)} assume !(0 == ~cond); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,809 INFO L290 TraceCheckUtils]: 67: Hoare triple {38240#(<= ~counter~0 4)} assume true; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,810 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {38240#(<= ~counter~0 4)} {38240#(<= ~counter~0 4)} #88#return; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,811 INFO L272 TraceCheckUtils]: 69: Hoare triple {38240#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,811 INFO L290 TraceCheckUtils]: 70: Hoare triple {38240#(<= ~counter~0 4)} ~cond := #in~cond; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,811 INFO L290 TraceCheckUtils]: 71: Hoare triple {38240#(<= ~counter~0 4)} assume !(0 == ~cond); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,812 INFO L290 TraceCheckUtils]: 72: Hoare triple {38240#(<= ~counter~0 4)} assume true; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,812 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {38240#(<= ~counter~0 4)} {38240#(<= ~counter~0 4)} #90#return; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,813 INFO L272 TraceCheckUtils]: 74: Hoare triple {38240#(<= ~counter~0 4)} 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)); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,813 INFO L290 TraceCheckUtils]: 75: Hoare triple {38240#(<= ~counter~0 4)} ~cond := #in~cond; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,814 INFO L290 TraceCheckUtils]: 76: Hoare triple {38240#(<= ~counter~0 4)} assume !(0 == ~cond); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,814 INFO L290 TraceCheckUtils]: 77: Hoare triple {38240#(<= ~counter~0 4)} assume true; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,815 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {38240#(<= ~counter~0 4)} {38240#(<= ~counter~0 4)} #92#return; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,815 INFO L290 TraceCheckUtils]: 79: Hoare triple {38240#(<= ~counter~0 4)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 05:45:53,816 INFO L290 TraceCheckUtils]: 80: Hoare triple {38240#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,816 INFO L290 TraceCheckUtils]: 81: Hoare triple {38310#(<= ~counter~0 5)} assume !!(#t~post7 < 100);havoc #t~post7; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,817 INFO L272 TraceCheckUtils]: 82: Hoare triple {38310#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,817 INFO L290 TraceCheckUtils]: 83: Hoare triple {38310#(<= ~counter~0 5)} ~cond := #in~cond; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,818 INFO L290 TraceCheckUtils]: 84: Hoare triple {38310#(<= ~counter~0 5)} assume !(0 == ~cond); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,818 INFO L290 TraceCheckUtils]: 85: Hoare triple {38310#(<= ~counter~0 5)} assume true; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,819 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {38310#(<= ~counter~0 5)} {38310#(<= ~counter~0 5)} #86#return; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,819 INFO L272 TraceCheckUtils]: 87: Hoare triple {38310#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,820 INFO L290 TraceCheckUtils]: 88: Hoare triple {38310#(<= ~counter~0 5)} ~cond := #in~cond; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,820 INFO L290 TraceCheckUtils]: 89: Hoare triple {38310#(<= ~counter~0 5)} assume !(0 == ~cond); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,820 INFO L290 TraceCheckUtils]: 90: Hoare triple {38310#(<= ~counter~0 5)} assume true; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,821 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {38310#(<= ~counter~0 5)} {38310#(<= ~counter~0 5)} #88#return; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,822 INFO L272 TraceCheckUtils]: 92: Hoare triple {38310#(<= ~counter~0 5)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,822 INFO L290 TraceCheckUtils]: 93: Hoare triple {38310#(<= ~counter~0 5)} ~cond := #in~cond; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,822 INFO L290 TraceCheckUtils]: 94: Hoare triple {38310#(<= ~counter~0 5)} assume !(0 == ~cond); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,823 INFO L290 TraceCheckUtils]: 95: Hoare triple {38310#(<= ~counter~0 5)} assume true; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,823 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {38310#(<= ~counter~0 5)} {38310#(<= ~counter~0 5)} #90#return; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,824 INFO L272 TraceCheckUtils]: 97: Hoare triple {38310#(<= ~counter~0 5)} 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)); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,824 INFO L290 TraceCheckUtils]: 98: Hoare triple {38310#(<= ~counter~0 5)} ~cond := #in~cond; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,825 INFO L290 TraceCheckUtils]: 99: Hoare triple {38310#(<= ~counter~0 5)} assume !(0 == ~cond); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,825 INFO L290 TraceCheckUtils]: 100: Hoare triple {38310#(<= ~counter~0 5)} assume true; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,826 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {38310#(<= ~counter~0 5)} {38310#(<= ~counter~0 5)} #92#return; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,826 INFO L290 TraceCheckUtils]: 102: Hoare triple {38310#(<= ~counter~0 5)} assume !(~c~0 >= ~b~0); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,826 INFO L290 TraceCheckUtils]: 103: Hoare triple {38310#(<= ~counter~0 5)} ~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; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 05:45:53,827 INFO L290 TraceCheckUtils]: 104: Hoare triple {38310#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38383#(<= |main_#t~post6| 5)} is VALID [2022-04-28 05:45:53,827 INFO L290 TraceCheckUtils]: 105: Hoare triple {38383#(<= |main_#t~post6| 5)} assume !(#t~post6 < 100);havoc #t~post6; {38061#false} is VALID [2022-04-28 05:45:53,827 INFO L272 TraceCheckUtils]: 106: Hoare triple {38061#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {38061#false} is VALID [2022-04-28 05:45:53,828 INFO L290 TraceCheckUtils]: 107: Hoare triple {38061#false} ~cond := #in~cond; {38061#false} is VALID [2022-04-28 05:45:53,828 INFO L290 TraceCheckUtils]: 108: Hoare triple {38061#false} assume 0 == ~cond; {38061#false} is VALID [2022-04-28 05:45:53,828 INFO L290 TraceCheckUtils]: 109: Hoare triple {38061#false} assume !false; {38061#false} is VALID [2022-04-28 05:45:53,828 INFO L134 CoverageAnalysis]: Checked inductivity of 341 backedges. 24 proven. 221 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-28 05:45:53,828 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:45:54,314 INFO L290 TraceCheckUtils]: 109: Hoare triple {38061#false} assume !false; {38061#false} is VALID [2022-04-28 05:45:54,314 INFO L290 TraceCheckUtils]: 108: Hoare triple {38061#false} assume 0 == ~cond; {38061#false} is VALID [2022-04-28 05:45:54,315 INFO L290 TraceCheckUtils]: 107: Hoare triple {38061#false} ~cond := #in~cond; {38061#false} is VALID [2022-04-28 05:45:54,315 INFO L272 TraceCheckUtils]: 106: Hoare triple {38061#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {38061#false} is VALID [2022-04-28 05:45:54,315 INFO L290 TraceCheckUtils]: 105: Hoare triple {38411#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {38061#false} is VALID [2022-04-28 05:45:54,315 INFO L290 TraceCheckUtils]: 104: Hoare triple {38415#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38411#(< |main_#t~post6| 100)} is VALID [2022-04-28 05:45:54,316 INFO L290 TraceCheckUtils]: 103: Hoare triple {38415#(< ~counter~0 100)} ~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; {38415#(< ~counter~0 100)} is VALID [2022-04-28 05:45:54,316 INFO L290 TraceCheckUtils]: 102: Hoare triple {38415#(< ~counter~0 100)} assume !(~c~0 >= ~b~0); {38415#(< ~counter~0 100)} is VALID [2022-04-28 05:45:54,316 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {38060#true} {38415#(< ~counter~0 100)} #92#return; {38415#(< ~counter~0 100)} is VALID [2022-04-28 05:45:54,317 INFO L290 TraceCheckUtils]: 100: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 05:45:54,317 INFO L290 TraceCheckUtils]: 99: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 05:45:54,317 INFO L290 TraceCheckUtils]: 98: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 05:45:54,317 INFO L272 TraceCheckUtils]: 97: Hoare triple {38415#(< ~counter~0 100)} 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)); {38060#true} is VALID [2022-04-28 05:45:54,317 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {38060#true} {38415#(< ~counter~0 100)} #90#return; {38415#(< ~counter~0 100)} is VALID [2022-04-28 05:45:54,317 INFO L290 TraceCheckUtils]: 95: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 05:45:54,317 INFO L290 TraceCheckUtils]: 94: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 05:45:54,317 INFO L290 TraceCheckUtils]: 93: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 05:45:54,318 INFO L272 TraceCheckUtils]: 92: Hoare triple {38415#(< ~counter~0 100)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 05:45:54,318 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {38060#true} {38415#(< ~counter~0 100)} #88#return; {38415#(< ~counter~0 100)} is VALID [2022-04-28 05:45:54,318 INFO L290 TraceCheckUtils]: 90: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 05:45:54,318 INFO L290 TraceCheckUtils]: 89: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 05:45:54,318 INFO L290 TraceCheckUtils]: 88: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 05:45:54,318 INFO L272 TraceCheckUtils]: 87: Hoare triple {38415#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 05:45:54,319 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {38060#true} {38415#(< ~counter~0 100)} #86#return; {38415#(< ~counter~0 100)} is VALID [2022-04-28 05:45:54,319 INFO L290 TraceCheckUtils]: 85: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 05:45:54,319 INFO L290 TraceCheckUtils]: 84: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 05:45:54,319 INFO L290 TraceCheckUtils]: 83: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 05:45:54,319 INFO L272 TraceCheckUtils]: 82: Hoare triple {38415#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 05:45:54,319 INFO L290 TraceCheckUtils]: 81: Hoare triple {38415#(< ~counter~0 100)} assume !!(#t~post7 < 100);havoc #t~post7; {38415#(< ~counter~0 100)} is VALID [2022-04-28 05:45:54,320 INFO L290 TraceCheckUtils]: 80: Hoare triple {38488#(< ~counter~0 99)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38415#(< ~counter~0 100)} is VALID [2022-04-28 05:45:54,321 INFO L290 TraceCheckUtils]: 79: Hoare triple {38488#(< ~counter~0 99)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {38488#(< ~counter~0 99)} is VALID [2022-04-28 05:45:54,321 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {38060#true} {38488#(< ~counter~0 99)} #92#return; {38488#(< ~counter~0 99)} is VALID [2022-04-28 05:45:54,321 INFO L290 TraceCheckUtils]: 77: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 05:45:54,322 INFO L290 TraceCheckUtils]: 76: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 05:45:54,322 INFO L290 TraceCheckUtils]: 75: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 05:45:54,322 INFO L272 TraceCheckUtils]: 74: Hoare triple {38488#(< ~counter~0 99)} 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)); {38060#true} is VALID [2022-04-28 05:45:54,322 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {38060#true} {38488#(< ~counter~0 99)} #90#return; {38488#(< ~counter~0 99)} is VALID [2022-04-28 05:45:54,322 INFO L290 TraceCheckUtils]: 72: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 05:45:54,322 INFO L290 TraceCheckUtils]: 71: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 05:45:54,322 INFO L290 TraceCheckUtils]: 70: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 05:45:54,322 INFO L272 TraceCheckUtils]: 69: Hoare triple {38488#(< ~counter~0 99)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 05:45:54,323 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {38060#true} {38488#(< ~counter~0 99)} #88#return; {38488#(< ~counter~0 99)} is VALID [2022-04-28 05:45:54,323 INFO L290 TraceCheckUtils]: 67: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 05:45:54,323 INFO L290 TraceCheckUtils]: 66: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 05:45:54,323 INFO L290 TraceCheckUtils]: 65: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 05:45:54,323 INFO L272 TraceCheckUtils]: 64: Hoare triple {38488#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 05:45:54,324 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {38060#true} {38488#(< ~counter~0 99)} #86#return; {38488#(< ~counter~0 99)} is VALID [2022-04-28 05:45:54,324 INFO L290 TraceCheckUtils]: 62: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 05:45:54,324 INFO L290 TraceCheckUtils]: 61: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 05:45:54,324 INFO L290 TraceCheckUtils]: 60: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 05:45:54,324 INFO L272 TraceCheckUtils]: 59: Hoare triple {38488#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 05:45:54,324 INFO L290 TraceCheckUtils]: 58: Hoare triple {38488#(< ~counter~0 99)} assume !!(#t~post7 < 100);havoc #t~post7; {38488#(< ~counter~0 99)} is VALID [2022-04-28 05:45:54,325 INFO L290 TraceCheckUtils]: 57: Hoare triple {38558#(< ~counter~0 98)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38488#(< ~counter~0 99)} is VALID [2022-04-28 05:45:54,325 INFO L290 TraceCheckUtils]: 56: Hoare triple {38558#(< ~counter~0 98)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {38558#(< ~counter~0 98)} is VALID [2022-04-28 05:45:54,325 INFO L290 TraceCheckUtils]: 55: Hoare triple {38558#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {38558#(< ~counter~0 98)} is VALID [2022-04-28 05:45:54,326 INFO L290 TraceCheckUtils]: 54: Hoare triple {38568#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38558#(< ~counter~0 98)} is VALID [2022-04-28 05:45:54,326 INFO L290 TraceCheckUtils]: 53: Hoare triple {38568#(< ~counter~0 97)} ~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; {38568#(< ~counter~0 97)} is VALID [2022-04-28 05:45:54,327 INFO L290 TraceCheckUtils]: 52: Hoare triple {38568#(< ~counter~0 97)} assume !(~c~0 >= ~b~0); {38568#(< ~counter~0 97)} is VALID [2022-04-28 05:45:54,327 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {38060#true} {38568#(< ~counter~0 97)} #92#return; {38568#(< ~counter~0 97)} is VALID [2022-04-28 05:45:54,327 INFO L290 TraceCheckUtils]: 50: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 05:45:54,327 INFO L290 TraceCheckUtils]: 49: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 05:45:54,327 INFO L290 TraceCheckUtils]: 48: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 05:45:54,328 INFO L272 TraceCheckUtils]: 47: Hoare triple {38568#(< ~counter~0 97)} 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)); {38060#true} is VALID [2022-04-28 05:45:54,328 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {38060#true} {38568#(< ~counter~0 97)} #90#return; {38568#(< ~counter~0 97)} is VALID [2022-04-28 05:45:54,328 INFO L290 TraceCheckUtils]: 45: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 05:45:54,328 INFO L290 TraceCheckUtils]: 44: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 05:45:54,328 INFO L290 TraceCheckUtils]: 43: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 05:45:54,328 INFO L272 TraceCheckUtils]: 42: Hoare triple {38568#(< ~counter~0 97)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 05:45:54,329 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {38060#true} {38568#(< ~counter~0 97)} #88#return; {38568#(< ~counter~0 97)} is VALID [2022-04-28 05:45:54,329 INFO L290 TraceCheckUtils]: 40: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 05:45:54,329 INFO L290 TraceCheckUtils]: 39: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 05:45:54,329 INFO L290 TraceCheckUtils]: 38: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 05:45:54,329 INFO L272 TraceCheckUtils]: 37: Hoare triple {38568#(< ~counter~0 97)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 05:45:54,330 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {38060#true} {38568#(< ~counter~0 97)} #86#return; {38568#(< ~counter~0 97)} is VALID [2022-04-28 05:45:54,330 INFO L290 TraceCheckUtils]: 35: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 05:45:54,330 INFO L290 TraceCheckUtils]: 34: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 05:45:54,330 INFO L290 TraceCheckUtils]: 33: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 05:45:54,330 INFO L272 TraceCheckUtils]: 32: Hoare triple {38568#(< ~counter~0 97)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 05:45:54,330 INFO L290 TraceCheckUtils]: 31: Hoare triple {38568#(< ~counter~0 97)} assume !!(#t~post7 < 100);havoc #t~post7; {38568#(< ~counter~0 97)} is VALID [2022-04-28 05:45:54,331 INFO L290 TraceCheckUtils]: 30: Hoare triple {38641#(< ~counter~0 96)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38568#(< ~counter~0 97)} is VALID [2022-04-28 05:45:54,331 INFO L290 TraceCheckUtils]: 29: Hoare triple {38641#(< ~counter~0 96)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {38641#(< ~counter~0 96)} is VALID [2022-04-28 05:45:54,331 INFO L290 TraceCheckUtils]: 28: Hoare triple {38641#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {38641#(< ~counter~0 96)} is VALID [2022-04-28 05:45:54,332 INFO L290 TraceCheckUtils]: 27: Hoare triple {38651#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38641#(< ~counter~0 96)} is VALID [2022-04-28 05:45:54,332 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {38060#true} {38651#(< ~counter~0 95)} #84#return; {38651#(< ~counter~0 95)} is VALID [2022-04-28 05:45:54,332 INFO L290 TraceCheckUtils]: 25: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 05:45:54,332 INFO L290 TraceCheckUtils]: 24: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 05:45:54,333 INFO L290 TraceCheckUtils]: 23: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 05:45:54,333 INFO L272 TraceCheckUtils]: 22: Hoare triple {38651#(< ~counter~0 95)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {38060#true} is VALID [2022-04-28 05:45:54,333 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38060#true} {38651#(< ~counter~0 95)} #82#return; {38651#(< ~counter~0 95)} is VALID [2022-04-28 05:45:54,333 INFO L290 TraceCheckUtils]: 20: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 05:45:54,333 INFO L290 TraceCheckUtils]: 19: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 05:45:54,333 INFO L290 TraceCheckUtils]: 18: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 05:45:54,333 INFO L272 TraceCheckUtils]: 17: Hoare triple {38651#(< ~counter~0 95)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {38060#true} is VALID [2022-04-28 05:45:54,334 INFO L290 TraceCheckUtils]: 16: Hoare triple {38651#(< ~counter~0 95)} ~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; {38651#(< ~counter~0 95)} is VALID [2022-04-28 05:45:54,334 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {38060#true} {38651#(< ~counter~0 95)} #80#return; {38651#(< ~counter~0 95)} is VALID [2022-04-28 05:45:54,334 INFO L290 TraceCheckUtils]: 14: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 05:45:54,334 INFO L290 TraceCheckUtils]: 13: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 05:45:54,334 INFO L290 TraceCheckUtils]: 12: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 05:45:54,334 INFO L272 TraceCheckUtils]: 11: Hoare triple {38651#(< ~counter~0 95)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {38060#true} is VALID [2022-04-28 05:45:54,335 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38060#true} {38651#(< ~counter~0 95)} #78#return; {38651#(< ~counter~0 95)} is VALID [2022-04-28 05:45:54,335 INFO L290 TraceCheckUtils]: 9: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 05:45:54,335 INFO L290 TraceCheckUtils]: 8: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 05:45:54,335 INFO L290 TraceCheckUtils]: 7: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 05:45:54,335 INFO L272 TraceCheckUtils]: 6: Hoare triple {38651#(< ~counter~0 95)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {38060#true} is VALID [2022-04-28 05:45:54,335 INFO L290 TraceCheckUtils]: 5: Hoare triple {38651#(< ~counter~0 95)} 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; {38651#(< ~counter~0 95)} is VALID [2022-04-28 05:45:54,335 INFO L272 TraceCheckUtils]: 4: Hoare triple {38651#(< ~counter~0 95)} call #t~ret8 := main(); {38651#(< ~counter~0 95)} is VALID [2022-04-28 05:45:54,336 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38651#(< ~counter~0 95)} {38060#true} #98#return; {38651#(< ~counter~0 95)} is VALID [2022-04-28 05:45:54,336 INFO L290 TraceCheckUtils]: 2: Hoare triple {38651#(< ~counter~0 95)} assume true; {38651#(< ~counter~0 95)} is VALID [2022-04-28 05:45:54,336 INFO L290 TraceCheckUtils]: 1: Hoare triple {38060#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);~counter~0 := 0; {38651#(< ~counter~0 95)} is VALID [2022-04-28 05:45:54,337 INFO L272 TraceCheckUtils]: 0: Hoare triple {38060#true} call ULTIMATE.init(); {38060#true} is VALID [2022-04-28 05:45:54,337 INFO L134 CoverageAnalysis]: Checked inductivity of 341 backedges. 24 proven. 29 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 05:45:54,337 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:45:54,337 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1687201649] [2022-04-28 05:45:54,337 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:45:54,337 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1423267457] [2022-04-28 05:45:54,337 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1423267457] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:45:54,337 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:45:54,338 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 05:45:54,338 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:45:54,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [817160101] [2022-04-28 05:45:54,338 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [817160101] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:45:54,338 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:45:54,338 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 05:45:54,338 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1014151236] [2022-04-28 05:45:54,338 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:45:54,339 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 110 [2022-04-28 05:45:54,339 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:45:54,339 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:45:54,404 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:45:54,404 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 05:45:54,404 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:45:54,404 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 05:45:54,405 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-28 05:45:54,405 INFO L87 Difference]: Start difference. First operand 364 states and 479 transitions. Second operand has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:45:55,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:45:55,618 INFO L93 Difference]: Finished difference Result 434 states and 549 transitions. [2022-04-28 05:45:55,618 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 05:45:55,618 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 110 [2022-04-28 05:45:55,619 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:45:55,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:45:55,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 133 transitions. [2022-04-28 05:45:55,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:45:55,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 133 transitions. [2022-04-28 05:45:55,622 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 133 transitions. [2022-04-28 05:45:55,760 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 133 edges. 133 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:45:55,774 INFO L225 Difference]: With dead ends: 434 [2022-04-28 05:45:55,774 INFO L226 Difference]: Without dead ends: 425 [2022-04-28 05:45:55,774 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 223 GetRequests, 205 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=153, Invalid=227, Unknown=0, NotChecked=0, Total=380 [2022-04-28 05:45:55,775 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 42 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 66 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 211 SdHoareTripleChecker+Invalid, 106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 66 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:45:55,775 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [42 Valid, 211 Invalid, 106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 66 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:45:55,776 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 425 states. [2022-04-28 05:45:56,623 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 425 to 423. [2022-04-28 05:45:56,624 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:45:56,624 INFO L82 GeneralOperation]: Start isEquivalent. First operand 425 states. Second operand has 423 states, 272 states have (on average 1.2022058823529411) internal successors, (327), 279 states have internal predecessors, (327), 106 states have call successors, (106), 45 states have call predecessors, (106), 44 states have return successors, (103), 98 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-28 05:45:56,625 INFO L74 IsIncluded]: Start isIncluded. First operand 425 states. Second operand has 423 states, 272 states have (on average 1.2022058823529411) internal successors, (327), 279 states have internal predecessors, (327), 106 states have call successors, (106), 45 states have call predecessors, (106), 44 states have return successors, (103), 98 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-28 05:45:56,625 INFO L87 Difference]: Start difference. First operand 425 states. Second operand has 423 states, 272 states have (on average 1.2022058823529411) internal successors, (327), 279 states have internal predecessors, (327), 106 states have call successors, (106), 45 states have call predecessors, (106), 44 states have return successors, (103), 98 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-28 05:45:56,635 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:45:56,635 INFO L93 Difference]: Finished difference Result 425 states and 538 transitions. [2022-04-28 05:45:56,635 INFO L276 IsEmpty]: Start isEmpty. Operand 425 states and 538 transitions. [2022-04-28 05:45:56,636 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:45:56,636 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:45:56,636 INFO L74 IsIncluded]: Start isIncluded. First operand has 423 states, 272 states have (on average 1.2022058823529411) internal successors, (327), 279 states have internal predecessors, (327), 106 states have call successors, (106), 45 states have call predecessors, (106), 44 states have return successors, (103), 98 states have call predecessors, (103), 103 states have call successors, (103) Second operand 425 states. [2022-04-28 05:45:56,637 INFO L87 Difference]: Start difference. First operand has 423 states, 272 states have (on average 1.2022058823529411) internal successors, (327), 279 states have internal predecessors, (327), 106 states have call successors, (106), 45 states have call predecessors, (106), 44 states have return successors, (103), 98 states have call predecessors, (103), 103 states have call successors, (103) Second operand 425 states. [2022-04-28 05:45:56,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:45:56,646 INFO L93 Difference]: Finished difference Result 425 states and 538 transitions. [2022-04-28 05:45:56,646 INFO L276 IsEmpty]: Start isEmpty. Operand 425 states and 538 transitions. [2022-04-28 05:45:56,646 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:45:56,646 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:45:56,646 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:45:56,646 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:45:56,647 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 423 states, 272 states have (on average 1.2022058823529411) internal successors, (327), 279 states have internal predecessors, (327), 106 states have call successors, (106), 45 states have call predecessors, (106), 44 states have return successors, (103), 98 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-28 05:45:56,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 423 states to 423 states and 536 transitions. [2022-04-28 05:45:56,662 INFO L78 Accepts]: Start accepts. Automaton has 423 states and 536 transitions. Word has length 110 [2022-04-28 05:45:56,662 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:45:56,663 INFO L495 AbstractCegarLoop]: Abstraction has 423 states and 536 transitions. [2022-04-28 05:45:56,663 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:45:56,663 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 423 states and 536 transitions. [2022-04-28 05:45:57,614 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 536 edges. 536 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:45:57,614 INFO L276 IsEmpty]: Start isEmpty. Operand 423 states and 536 transitions. [2022-04-28 05:45:57,614 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-28 05:45:57,614 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:45:57,615 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 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 05:45:57,619 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2022-04-28 05:45:57,815 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2022-04-28 05:45:57,815 INFO L420 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:45:57,815 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:45:57,815 INFO L85 PathProgramCache]: Analyzing trace with hash -289933735, now seen corresponding path program 5 times [2022-04-28 05:45:57,816 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:45:57,816 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1774114172] [2022-04-28 05:45:57,816 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:45:57,816 INFO L85 PathProgramCache]: Analyzing trace with hash -289933735, now seen corresponding path program 6 times [2022-04-28 05:45:57,816 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:45:57,816 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1907978104] [2022-04-28 05:45:57,816 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:45:57,817 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:45:57,826 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:45:57,826 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [398194189] [2022-04-28 05:45:57,826 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:45:57,826 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:45:57,826 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:45:57,827 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:45:57,828 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-04-28 05:45:57,889 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 05:45:57,889 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:45:57,890 INFO L263 TraceCheckSpWp]: Trace formula consists of 269 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 05:45:57,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:45:57,910 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:45:58,198 INFO L272 TraceCheckUtils]: 0: Hoare triple {41307#true} call ULTIMATE.init(); {41307#true} is VALID [2022-04-28 05:45:58,199 INFO L290 TraceCheckUtils]: 1: Hoare triple {41307#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);~counter~0 := 0; {41307#true} is VALID [2022-04-28 05:45:58,199 INFO L290 TraceCheckUtils]: 2: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,199 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41307#true} {41307#true} #98#return; {41307#true} is VALID [2022-04-28 05:45:58,199 INFO L272 TraceCheckUtils]: 4: Hoare triple {41307#true} call #t~ret8 := main(); {41307#true} is VALID [2022-04-28 05:45:58,199 INFO L290 TraceCheckUtils]: 5: Hoare triple {41307#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; {41307#true} is VALID [2022-04-28 05:45:58,199 INFO L272 TraceCheckUtils]: 6: Hoare triple {41307#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,199 INFO L290 TraceCheckUtils]: 7: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,199 INFO L290 TraceCheckUtils]: 8: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,199 INFO L290 TraceCheckUtils]: 9: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,199 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41307#true} {41307#true} #78#return; {41307#true} is VALID [2022-04-28 05:45:58,200 INFO L272 TraceCheckUtils]: 11: Hoare triple {41307#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,200 INFO L290 TraceCheckUtils]: 12: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,200 INFO L290 TraceCheckUtils]: 13: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,200 INFO L290 TraceCheckUtils]: 14: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,200 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41307#true} {41307#true} #80#return; {41307#true} is VALID [2022-04-28 05:45:58,200 INFO L290 TraceCheckUtils]: 16: Hoare triple {41307#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; {41307#true} is VALID [2022-04-28 05:45:58,200 INFO L272 TraceCheckUtils]: 17: Hoare triple {41307#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,200 INFO L290 TraceCheckUtils]: 18: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,200 INFO L290 TraceCheckUtils]: 19: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,200 INFO L290 TraceCheckUtils]: 20: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,201 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41307#true} {41307#true} #82#return; {41307#true} is VALID [2022-04-28 05:45:58,201 INFO L272 TraceCheckUtils]: 22: Hoare triple {41307#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,201 INFO L290 TraceCheckUtils]: 23: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,201 INFO L290 TraceCheckUtils]: 24: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,201 INFO L290 TraceCheckUtils]: 25: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,201 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41307#true} {41307#true} #84#return; {41307#true} is VALID [2022-04-28 05:45:58,201 INFO L290 TraceCheckUtils]: 27: Hoare triple {41307#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41307#true} is VALID [2022-04-28 05:45:58,201 INFO L290 TraceCheckUtils]: 28: Hoare triple {41307#true} assume !!(#t~post6 < 100);havoc #t~post6; {41307#true} is VALID [2022-04-28 05:45:58,201 INFO L290 TraceCheckUtils]: 29: Hoare triple {41307#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {41307#true} is VALID [2022-04-28 05:45:58,201 INFO L290 TraceCheckUtils]: 30: Hoare triple {41307#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41307#true} is VALID [2022-04-28 05:45:58,201 INFO L290 TraceCheckUtils]: 31: Hoare triple {41307#true} assume !!(#t~post7 < 100);havoc #t~post7; {41307#true} is VALID [2022-04-28 05:45:58,201 INFO L272 TraceCheckUtils]: 32: Hoare triple {41307#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,202 INFO L290 TraceCheckUtils]: 33: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,202 INFO L290 TraceCheckUtils]: 34: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,202 INFO L290 TraceCheckUtils]: 35: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,202 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {41307#true} {41307#true} #86#return; {41307#true} is VALID [2022-04-28 05:45:58,202 INFO L272 TraceCheckUtils]: 37: Hoare triple {41307#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,202 INFO L290 TraceCheckUtils]: 38: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,202 INFO L290 TraceCheckUtils]: 39: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,202 INFO L290 TraceCheckUtils]: 40: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,202 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {41307#true} {41307#true} #88#return; {41307#true} is VALID [2022-04-28 05:45:58,202 INFO L272 TraceCheckUtils]: 42: Hoare triple {41307#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,202 INFO L290 TraceCheckUtils]: 43: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,202 INFO L290 TraceCheckUtils]: 44: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,202 INFO L290 TraceCheckUtils]: 45: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,202 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {41307#true} {41307#true} #90#return; {41307#true} is VALID [2022-04-28 05:45:58,202 INFO L272 TraceCheckUtils]: 47: Hoare triple {41307#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)); {41307#true} is VALID [2022-04-28 05:45:58,203 INFO L290 TraceCheckUtils]: 48: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,203 INFO L290 TraceCheckUtils]: 49: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,203 INFO L290 TraceCheckUtils]: 50: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,203 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {41307#true} {41307#true} #92#return; {41307#true} is VALID [2022-04-28 05:45:58,203 INFO L290 TraceCheckUtils]: 52: Hoare triple {41307#true} assume !(~c~0 >= ~b~0); {41468#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:45:58,203 INFO L290 TraceCheckUtils]: 53: Hoare triple {41468#(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; {41472#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:45:58,204 INFO L290 TraceCheckUtils]: 54: Hoare triple {41472#(< main_~b~0 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41472#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:45:58,204 INFO L290 TraceCheckUtils]: 55: Hoare triple {41472#(< main_~b~0 main_~a~0)} assume !!(#t~post6 < 100);havoc #t~post6; {41472#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:45:58,204 INFO L290 TraceCheckUtils]: 56: Hoare triple {41472#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:58,205 INFO L290 TraceCheckUtils]: 57: Hoare triple {41482#(< main_~b~0 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:58,211 INFO L290 TraceCheckUtils]: 58: Hoare triple {41482#(< main_~b~0 main_~c~0)} assume !!(#t~post7 < 100);havoc #t~post7; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:58,211 INFO L272 TraceCheckUtils]: 59: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,211 INFO L290 TraceCheckUtils]: 60: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,211 INFO L290 TraceCheckUtils]: 61: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,211 INFO L290 TraceCheckUtils]: 62: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,212 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #86#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:58,212 INFO L272 TraceCheckUtils]: 64: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,212 INFO L290 TraceCheckUtils]: 65: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,212 INFO L290 TraceCheckUtils]: 66: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,212 INFO L290 TraceCheckUtils]: 67: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,213 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #88#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:58,213 INFO L272 TraceCheckUtils]: 69: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,213 INFO L290 TraceCheckUtils]: 70: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,214 INFO L290 TraceCheckUtils]: 71: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,214 INFO L290 TraceCheckUtils]: 72: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,214 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #90#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:58,214 INFO L272 TraceCheckUtils]: 74: Hoare triple {41482#(< 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)); {41307#true} is VALID [2022-04-28 05:45:58,214 INFO L290 TraceCheckUtils]: 75: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,215 INFO L290 TraceCheckUtils]: 76: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,215 INFO L290 TraceCheckUtils]: 77: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,215 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #92#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:58,217 INFO L290 TraceCheckUtils]: 79: Hoare triple {41482#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 05:45:58,217 INFO L290 TraceCheckUtils]: 80: Hoare triple {41552#(< 0 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 05:45:58,218 INFO L290 TraceCheckUtils]: 81: Hoare triple {41552#(< 0 main_~c~0)} assume !!(#t~post7 < 100);havoc #t~post7; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 05:45:58,218 INFO L272 TraceCheckUtils]: 82: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,218 INFO L290 TraceCheckUtils]: 83: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,218 INFO L290 TraceCheckUtils]: 84: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,218 INFO L290 TraceCheckUtils]: 85: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,219 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #86#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 05:45:58,219 INFO L272 TraceCheckUtils]: 87: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,219 INFO L290 TraceCheckUtils]: 88: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,219 INFO L290 TraceCheckUtils]: 89: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,219 INFO L290 TraceCheckUtils]: 90: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,220 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #88#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 05:45:58,220 INFO L272 TraceCheckUtils]: 92: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,220 INFO L290 TraceCheckUtils]: 93: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,220 INFO L290 TraceCheckUtils]: 94: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,220 INFO L290 TraceCheckUtils]: 95: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,221 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #90#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 05:45:58,221 INFO L272 TraceCheckUtils]: 97: Hoare triple {41552#(< 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)); {41307#true} is VALID [2022-04-28 05:45:58,221 INFO L290 TraceCheckUtils]: 98: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,221 INFO L290 TraceCheckUtils]: 99: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,221 INFO L290 TraceCheckUtils]: 100: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,222 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #92#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 05:45:58,222 INFO L290 TraceCheckUtils]: 102: Hoare triple {41552#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {41552#(< 0 main_~c~0)} is VALID [2022-04-28 05:45:58,223 INFO L290 TraceCheckUtils]: 103: Hoare triple {41552#(< 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; {41625#(< 0 main_~b~0)} is VALID [2022-04-28 05:45:58,223 INFO L290 TraceCheckUtils]: 104: Hoare triple {41625#(< 0 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41625#(< 0 main_~b~0)} is VALID [2022-04-28 05:45:58,224 INFO L290 TraceCheckUtils]: 105: Hoare triple {41625#(< 0 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {41625#(< 0 main_~b~0)} is VALID [2022-04-28 05:45:58,224 INFO L290 TraceCheckUtils]: 106: Hoare triple {41625#(< 0 main_~b~0)} assume !(0 != ~b~0); {41308#false} is VALID [2022-04-28 05:45:58,224 INFO L272 TraceCheckUtils]: 107: Hoare triple {41308#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {41308#false} is VALID [2022-04-28 05:45:58,224 INFO L290 TraceCheckUtils]: 108: Hoare triple {41308#false} ~cond := #in~cond; {41308#false} is VALID [2022-04-28 05:45:58,224 INFO L290 TraceCheckUtils]: 109: Hoare triple {41308#false} assume 0 == ~cond; {41308#false} is VALID [2022-04-28 05:45:58,224 INFO L290 TraceCheckUtils]: 110: Hoare triple {41308#false} assume !false; {41308#false} is VALID [2022-04-28 05:45:58,225 INFO L134 CoverageAnalysis]: Checked inductivity of 343 backedges. 44 proven. 11 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 05:45:58,225 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:45:58,580 INFO L290 TraceCheckUtils]: 110: Hoare triple {41308#false} assume !false; {41308#false} is VALID [2022-04-28 05:45:58,580 INFO L290 TraceCheckUtils]: 109: Hoare triple {41308#false} assume 0 == ~cond; {41308#false} is VALID [2022-04-28 05:45:58,580 INFO L290 TraceCheckUtils]: 108: Hoare triple {41308#false} ~cond := #in~cond; {41308#false} is VALID [2022-04-28 05:45:58,581 INFO L272 TraceCheckUtils]: 107: Hoare triple {41308#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {41308#false} is VALID [2022-04-28 05:45:58,581 INFO L290 TraceCheckUtils]: 106: Hoare triple {41625#(< 0 main_~b~0)} assume !(0 != ~b~0); {41308#false} is VALID [2022-04-28 05:45:58,581 INFO L290 TraceCheckUtils]: 105: Hoare triple {41625#(< 0 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {41625#(< 0 main_~b~0)} is VALID [2022-04-28 05:45:58,581 INFO L290 TraceCheckUtils]: 104: Hoare triple {41625#(< 0 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41625#(< 0 main_~b~0)} is VALID [2022-04-28 05:45:58,582 INFO L290 TraceCheckUtils]: 103: Hoare triple {41552#(< 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; {41625#(< 0 main_~b~0)} is VALID [2022-04-28 05:45:58,582 INFO L290 TraceCheckUtils]: 102: Hoare triple {41552#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {41552#(< 0 main_~c~0)} is VALID [2022-04-28 05:45:58,583 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #92#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 05:45:58,583 INFO L290 TraceCheckUtils]: 100: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,583 INFO L290 TraceCheckUtils]: 99: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,583 INFO L290 TraceCheckUtils]: 98: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,583 INFO L272 TraceCheckUtils]: 97: Hoare triple {41552#(< 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)); {41307#true} is VALID [2022-04-28 05:45:58,584 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #90#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 05:45:58,584 INFO L290 TraceCheckUtils]: 95: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,584 INFO L290 TraceCheckUtils]: 94: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,584 INFO L290 TraceCheckUtils]: 93: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,584 INFO L272 TraceCheckUtils]: 92: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,584 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #88#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 05:45:58,585 INFO L290 TraceCheckUtils]: 90: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,585 INFO L290 TraceCheckUtils]: 89: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,585 INFO L290 TraceCheckUtils]: 88: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,585 INFO L272 TraceCheckUtils]: 87: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,585 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #86#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 05:45:58,585 INFO L290 TraceCheckUtils]: 85: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,585 INFO L290 TraceCheckUtils]: 84: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,585 INFO L290 TraceCheckUtils]: 83: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,585 INFO L272 TraceCheckUtils]: 82: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,586 INFO L290 TraceCheckUtils]: 81: Hoare triple {41552#(< 0 main_~c~0)} assume !!(#t~post7 < 100);havoc #t~post7; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 05:45:58,586 INFO L290 TraceCheckUtils]: 80: Hoare triple {41552#(< 0 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 05:45:58,587 INFO L290 TraceCheckUtils]: 79: Hoare triple {41482#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 05:45:58,588 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #92#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:58,588 INFO L290 TraceCheckUtils]: 77: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,588 INFO L290 TraceCheckUtils]: 76: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,588 INFO L290 TraceCheckUtils]: 75: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,588 INFO L272 TraceCheckUtils]: 74: Hoare triple {41482#(< 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)); {41307#true} is VALID [2022-04-28 05:45:58,589 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #90#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:58,589 INFO L290 TraceCheckUtils]: 72: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,589 INFO L290 TraceCheckUtils]: 71: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,589 INFO L290 TraceCheckUtils]: 70: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,589 INFO L272 TraceCheckUtils]: 69: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,590 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #88#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:58,590 INFO L290 TraceCheckUtils]: 67: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,590 INFO L290 TraceCheckUtils]: 66: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,590 INFO L290 TraceCheckUtils]: 65: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,590 INFO L272 TraceCheckUtils]: 64: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,590 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #86#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:58,591 INFO L290 TraceCheckUtils]: 62: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,591 INFO L290 TraceCheckUtils]: 61: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,591 INFO L290 TraceCheckUtils]: 60: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,591 INFO L272 TraceCheckUtils]: 59: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,591 INFO L290 TraceCheckUtils]: 58: Hoare triple {41482#(< main_~b~0 main_~c~0)} assume !!(#t~post7 < 100);havoc #t~post7; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:58,591 INFO L290 TraceCheckUtils]: 57: Hoare triple {41482#(< main_~b~0 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:58,592 INFO L290 TraceCheckUtils]: 56: Hoare triple {41472#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:58,592 INFO L290 TraceCheckUtils]: 55: Hoare triple {41472#(< main_~b~0 main_~a~0)} assume !!(#t~post6 < 100);havoc #t~post6; {41472#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:45:58,592 INFO L290 TraceCheckUtils]: 54: Hoare triple {41472#(< main_~b~0 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41472#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:45:58,593 INFO L290 TraceCheckUtils]: 53: Hoare triple {41468#(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; {41472#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:45:58,593 INFO L290 TraceCheckUtils]: 52: Hoare triple {41307#true} assume !(~c~0 >= ~b~0); {41468#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:45:58,593 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {41307#true} {41307#true} #92#return; {41307#true} is VALID [2022-04-28 05:45:58,593 INFO L290 TraceCheckUtils]: 50: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,593 INFO L290 TraceCheckUtils]: 49: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,593 INFO L290 TraceCheckUtils]: 48: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,593 INFO L272 TraceCheckUtils]: 47: Hoare triple {41307#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)); {41307#true} is VALID [2022-04-28 05:45:58,593 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {41307#true} {41307#true} #90#return; {41307#true} is VALID [2022-04-28 05:45:58,593 INFO L290 TraceCheckUtils]: 45: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,593 INFO L290 TraceCheckUtils]: 44: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,593 INFO L290 TraceCheckUtils]: 43: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,594 INFO L272 TraceCheckUtils]: 42: Hoare triple {41307#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,594 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {41307#true} {41307#true} #88#return; {41307#true} is VALID [2022-04-28 05:45:58,594 INFO L290 TraceCheckUtils]: 40: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,594 INFO L290 TraceCheckUtils]: 39: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,594 INFO L290 TraceCheckUtils]: 38: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,594 INFO L272 TraceCheckUtils]: 37: Hoare triple {41307#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,594 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {41307#true} {41307#true} #86#return; {41307#true} is VALID [2022-04-28 05:45:58,594 INFO L290 TraceCheckUtils]: 35: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,594 INFO L290 TraceCheckUtils]: 34: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,594 INFO L290 TraceCheckUtils]: 33: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,594 INFO L272 TraceCheckUtils]: 32: Hoare triple {41307#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,594 INFO L290 TraceCheckUtils]: 31: Hoare triple {41307#true} assume !!(#t~post7 < 100);havoc #t~post7; {41307#true} is VALID [2022-04-28 05:45:58,594 INFO L290 TraceCheckUtils]: 30: Hoare triple {41307#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41307#true} is VALID [2022-04-28 05:45:58,594 INFO L290 TraceCheckUtils]: 29: Hoare triple {41307#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {41307#true} is VALID [2022-04-28 05:45:58,594 INFO L290 TraceCheckUtils]: 28: Hoare triple {41307#true} assume !!(#t~post6 < 100);havoc #t~post6; {41307#true} is VALID [2022-04-28 05:45:58,595 INFO L290 TraceCheckUtils]: 27: Hoare triple {41307#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41307#true} is VALID [2022-04-28 05:45:58,595 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41307#true} {41307#true} #84#return; {41307#true} is VALID [2022-04-28 05:45:58,595 INFO L290 TraceCheckUtils]: 25: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,595 INFO L290 TraceCheckUtils]: 24: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,595 INFO L290 TraceCheckUtils]: 23: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,595 INFO L272 TraceCheckUtils]: 22: Hoare triple {41307#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,595 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41307#true} {41307#true} #82#return; {41307#true} is VALID [2022-04-28 05:45:58,595 INFO L290 TraceCheckUtils]: 20: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,595 INFO L290 TraceCheckUtils]: 19: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,595 INFO L290 TraceCheckUtils]: 18: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,595 INFO L272 TraceCheckUtils]: 17: Hoare triple {41307#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,595 INFO L290 TraceCheckUtils]: 16: Hoare triple {41307#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; {41307#true} is VALID [2022-04-28 05:45:58,596 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41307#true} {41307#true} #80#return; {41307#true} is VALID [2022-04-28 05:45:58,596 INFO L290 TraceCheckUtils]: 14: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,596 INFO L290 TraceCheckUtils]: 13: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,596 INFO L290 TraceCheckUtils]: 12: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,596 INFO L272 TraceCheckUtils]: 11: Hoare triple {41307#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,596 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41307#true} {41307#true} #78#return; {41307#true} is VALID [2022-04-28 05:45:58,596 INFO L290 TraceCheckUtils]: 9: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,596 INFO L290 TraceCheckUtils]: 8: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 05:45:58,596 INFO L290 TraceCheckUtils]: 7: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 05:45:58,596 INFO L272 TraceCheckUtils]: 6: Hoare triple {41307#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {41307#true} is VALID [2022-04-28 05:45:58,596 INFO L290 TraceCheckUtils]: 5: Hoare triple {41307#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; {41307#true} is VALID [2022-04-28 05:45:58,596 INFO L272 TraceCheckUtils]: 4: Hoare triple {41307#true} call #t~ret8 := main(); {41307#true} is VALID [2022-04-28 05:45:58,596 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41307#true} {41307#true} #98#return; {41307#true} is VALID [2022-04-28 05:45:58,596 INFO L290 TraceCheckUtils]: 2: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 05:45:58,596 INFO L290 TraceCheckUtils]: 1: Hoare triple {41307#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);~counter~0 := 0; {41307#true} is VALID [2022-04-28 05:45:58,597 INFO L272 TraceCheckUtils]: 0: Hoare triple {41307#true} call ULTIMATE.init(); {41307#true} is VALID [2022-04-28 05:45:58,597 INFO L134 CoverageAnalysis]: Checked inductivity of 343 backedges. 44 proven. 11 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 05:45:58,597 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:45:58,597 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1907978104] [2022-04-28 05:45:58,597 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:45:58,597 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [398194189] [2022-04-28 05:45:58,597 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [398194189] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:45:58,597 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:45:58,597 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 7 [2022-04-28 05:45:58,597 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:45:58,598 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1774114172] [2022-04-28 05:45:58,598 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1774114172] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:45:58,598 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:45:58,598 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 05:45:58,598 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [541685098] [2022-04-28 05:45:58,598 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:45:58,598 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 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 111 [2022-04-28 05:45:58,599 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:45:58,599 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 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 05:45:58,658 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 05:45:58,658 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 05:45:58,658 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:45:58,658 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 05:45:58,658 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-04-28 05:45:58,658 INFO L87 Difference]: Start difference. First operand 423 states and 536 transitions. Second operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 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 05:46:01,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:46:01,103 INFO L93 Difference]: Finished difference Result 589 states and 810 transitions. [2022-04-28 05:46:01,103 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 05:46:01,103 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 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 111 [2022-04-28 05:46:01,103 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:46:01,104 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 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 05:46:01,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 178 transitions. [2022-04-28 05:46:01,106 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 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 05:46:01,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 178 transitions. [2022-04-28 05:46:01,109 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 178 transitions. [2022-04-28 05:46:01,298 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 178 edges. 178 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:46:01,323 INFO L225 Difference]: With dead ends: 589 [2022-04-28 05:46:01,324 INFO L226 Difference]: Without dead ends: 581 [2022-04-28 05:46:01,324 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 237 GetRequests, 220 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 38 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=75, Invalid=197, Unknown=0, NotChecked=0, Total=272 [2022-04-28 05:46:01,324 INFO L413 NwaCegarLoop]: 108 mSDtfsCounter, 32 mSDsluCounter, 261 mSDsCounter, 0 mSdLazyCounter, 267 mSolverCounterSat, 45 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 369 SdHoareTripleChecker+Invalid, 312 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 45 IncrementalHoareTripleChecker+Valid, 267 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 05:46:01,324 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 369 Invalid, 312 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [45 Valid, 267 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 05:46:01,325 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 581 states. [2022-04-28 05:46:02,310 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 581 to 470. [2022-04-28 05:46:02,311 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:46:02,311 INFO L82 GeneralOperation]: Start isEquivalent. First operand 581 states. Second operand has 470 states, 301 states have (on average 1.2259136212624584) internal successors, (369), 306 states have internal predecessors, (369), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 05:46:02,312 INFO L74 IsIncluded]: Start isIncluded. First operand 581 states. Second operand has 470 states, 301 states have (on average 1.2259136212624584) internal successors, (369), 306 states have internal predecessors, (369), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 05:46:02,312 INFO L87 Difference]: Start difference. First operand 581 states. Second operand has 470 states, 301 states have (on average 1.2259136212624584) internal successors, (369), 306 states have internal predecessors, (369), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 05:46:02,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:46:02,334 INFO L93 Difference]: Finished difference Result 581 states and 798 transitions. [2022-04-28 05:46:02,334 INFO L276 IsEmpty]: Start isEmpty. Operand 581 states and 798 transitions. [2022-04-28 05:46:02,335 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:46:02,335 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:46:02,336 INFO L74 IsIncluded]: Start isIncluded. First operand has 470 states, 301 states have (on average 1.2259136212624584) internal successors, (369), 306 states have internal predecessors, (369), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) Second operand 581 states. [2022-04-28 05:46:02,336 INFO L87 Difference]: Start difference. First operand has 470 states, 301 states have (on average 1.2259136212624584) internal successors, (369), 306 states have internal predecessors, (369), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) Second operand 581 states. [2022-04-28 05:46:02,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:46:02,360 INFO L93 Difference]: Finished difference Result 581 states and 798 transitions. [2022-04-28 05:46:02,360 INFO L276 IsEmpty]: Start isEmpty. Operand 581 states and 798 transitions. [2022-04-28 05:46:02,361 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:46:02,361 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:46:02,361 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:46:02,361 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:46:02,362 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 470 states, 301 states have (on average 1.2259136212624584) internal successors, (369), 306 states have internal predecessors, (369), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 05:46:02,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 470 states to 470 states and 614 transitions. [2022-04-28 05:46:02,380 INFO L78 Accepts]: Start accepts. Automaton has 470 states and 614 transitions. Word has length 111 [2022-04-28 05:46:02,380 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:46:02,380 INFO L495 AbstractCegarLoop]: Abstraction has 470 states and 614 transitions. [2022-04-28 05:46:02,380 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 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 05:46:02,380 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 470 states and 614 transitions. [2022-04-28 05:46:03,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 614 edges. 614 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:46:03,392 INFO L276 IsEmpty]: Start isEmpty. Operand 470 states and 614 transitions. [2022-04-28 05:46:03,393 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 113 [2022-04-28 05:46:03,393 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:46:03,393 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:46:03,414 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Forceful destruction successful, exit code 0 [2022-04-28 05:46:03,603 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 28 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-04-28 05:46:03,603 INFO L420 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:46:03,604 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:46:03,604 INFO L85 PathProgramCache]: Analyzing trace with hash -1282766646, now seen corresponding path program 3 times [2022-04-28 05:46:03,604 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:46:03,604 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [438409616] [2022-04-28 05:46:03,604 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:46:03,604 INFO L85 PathProgramCache]: Analyzing trace with hash -1282766646, now seen corresponding path program 4 times [2022-04-28 05:46:03,604 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:46:03,604 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [440549182] [2022-04-28 05:46:03,604 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:46:03,605 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:46:03,615 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:46:03,615 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1998407853] [2022-04-28 05:46:03,615 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:46:03,615 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:46:03,616 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:46:03,616 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:46:03,619 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Waiting until timeout for monitored process [2022-04-28 05:46:03,683 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:46:03,683 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:46:03,685 INFO L263 TraceCheckSpWp]: Trace formula consists of 312 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 05:46:03,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:46:03,716 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:46:04,134 INFO L272 TraceCheckUtils]: 0: Hoare triple {45285#true} call ULTIMATE.init(); {45285#true} is VALID [2022-04-28 05:46:04,134 INFO L290 TraceCheckUtils]: 1: Hoare triple {45285#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);~counter~0 := 0; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,135 INFO L290 TraceCheckUtils]: 2: Hoare triple {45293#(<= ~counter~0 0)} assume true; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,135 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45293#(<= ~counter~0 0)} {45285#true} #98#return; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,135 INFO L272 TraceCheckUtils]: 4: Hoare triple {45293#(<= ~counter~0 0)} call #t~ret8 := main(); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,136 INFO L290 TraceCheckUtils]: 5: Hoare triple {45293#(<= ~counter~0 0)} 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; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,136 INFO L272 TraceCheckUtils]: 6: Hoare triple {45293#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,136 INFO L290 TraceCheckUtils]: 7: Hoare triple {45293#(<= ~counter~0 0)} ~cond := #in~cond; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,137 INFO L290 TraceCheckUtils]: 8: Hoare triple {45293#(<= ~counter~0 0)} assume !(0 == ~cond); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,137 INFO L290 TraceCheckUtils]: 9: Hoare triple {45293#(<= ~counter~0 0)} assume true; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,137 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {45293#(<= ~counter~0 0)} {45293#(<= ~counter~0 0)} #78#return; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,138 INFO L272 TraceCheckUtils]: 11: Hoare triple {45293#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,138 INFO L290 TraceCheckUtils]: 12: Hoare triple {45293#(<= ~counter~0 0)} ~cond := #in~cond; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,138 INFO L290 TraceCheckUtils]: 13: Hoare triple {45293#(<= ~counter~0 0)} assume !(0 == ~cond); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,138 INFO L290 TraceCheckUtils]: 14: Hoare triple {45293#(<= ~counter~0 0)} assume true; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,139 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {45293#(<= ~counter~0 0)} {45293#(<= ~counter~0 0)} #80#return; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,139 INFO L290 TraceCheckUtils]: 16: Hoare triple {45293#(<= ~counter~0 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; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,139 INFO L272 TraceCheckUtils]: 17: Hoare triple {45293#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,140 INFO L290 TraceCheckUtils]: 18: Hoare triple {45293#(<= ~counter~0 0)} ~cond := #in~cond; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,140 INFO L290 TraceCheckUtils]: 19: Hoare triple {45293#(<= ~counter~0 0)} assume !(0 == ~cond); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,140 INFO L290 TraceCheckUtils]: 20: Hoare triple {45293#(<= ~counter~0 0)} assume true; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,141 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {45293#(<= ~counter~0 0)} {45293#(<= ~counter~0 0)} #82#return; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,141 INFO L272 TraceCheckUtils]: 22: Hoare triple {45293#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,141 INFO L290 TraceCheckUtils]: 23: Hoare triple {45293#(<= ~counter~0 0)} ~cond := #in~cond; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,142 INFO L290 TraceCheckUtils]: 24: Hoare triple {45293#(<= ~counter~0 0)} assume !(0 == ~cond); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,142 INFO L290 TraceCheckUtils]: 25: Hoare triple {45293#(<= ~counter~0 0)} assume true; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,142 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {45293#(<= ~counter~0 0)} {45293#(<= ~counter~0 0)} #84#return; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:04,143 INFO L290 TraceCheckUtils]: 27: Hoare triple {45293#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45372#(<= ~counter~0 1)} is VALID [2022-04-28 05:46:04,144 INFO L290 TraceCheckUtils]: 28: Hoare triple {45372#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {45372#(<= ~counter~0 1)} is VALID [2022-04-28 05:46:04,144 INFO L290 TraceCheckUtils]: 29: Hoare triple {45372#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {45372#(<= ~counter~0 1)} is VALID [2022-04-28 05:46:04,145 INFO L290 TraceCheckUtils]: 30: Hoare triple {45372#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,145 INFO L290 TraceCheckUtils]: 31: Hoare triple {45382#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,145 INFO L272 TraceCheckUtils]: 32: Hoare triple {45382#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,146 INFO L290 TraceCheckUtils]: 33: Hoare triple {45382#(<= ~counter~0 2)} ~cond := #in~cond; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,146 INFO L290 TraceCheckUtils]: 34: Hoare triple {45382#(<= ~counter~0 2)} assume !(0 == ~cond); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,146 INFO L290 TraceCheckUtils]: 35: Hoare triple {45382#(<= ~counter~0 2)} assume true; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,147 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {45382#(<= ~counter~0 2)} {45382#(<= ~counter~0 2)} #86#return; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,147 INFO L272 TraceCheckUtils]: 37: Hoare triple {45382#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,148 INFO L290 TraceCheckUtils]: 38: Hoare triple {45382#(<= ~counter~0 2)} ~cond := #in~cond; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,148 INFO L290 TraceCheckUtils]: 39: Hoare triple {45382#(<= ~counter~0 2)} assume !(0 == ~cond); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,148 INFO L290 TraceCheckUtils]: 40: Hoare triple {45382#(<= ~counter~0 2)} assume true; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,149 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {45382#(<= ~counter~0 2)} {45382#(<= ~counter~0 2)} #88#return; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,149 INFO L272 TraceCheckUtils]: 42: Hoare triple {45382#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,149 INFO L290 TraceCheckUtils]: 43: Hoare triple {45382#(<= ~counter~0 2)} ~cond := #in~cond; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,150 INFO L290 TraceCheckUtils]: 44: Hoare triple {45382#(<= ~counter~0 2)} assume !(0 == ~cond); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,150 INFO L290 TraceCheckUtils]: 45: Hoare triple {45382#(<= ~counter~0 2)} assume true; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,151 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {45382#(<= ~counter~0 2)} {45382#(<= ~counter~0 2)} #90#return; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,151 INFO L272 TraceCheckUtils]: 47: Hoare triple {45382#(<= ~counter~0 2)} 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)); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,151 INFO L290 TraceCheckUtils]: 48: Hoare triple {45382#(<= ~counter~0 2)} ~cond := #in~cond; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,152 INFO L290 TraceCheckUtils]: 49: Hoare triple {45382#(<= ~counter~0 2)} assume !(0 == ~cond); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,152 INFO L290 TraceCheckUtils]: 50: Hoare triple {45382#(<= ~counter~0 2)} assume true; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,153 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {45382#(<= ~counter~0 2)} {45382#(<= ~counter~0 2)} #92#return; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,153 INFO L290 TraceCheckUtils]: 52: Hoare triple {45382#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:04,153 INFO L290 TraceCheckUtils]: 53: Hoare triple {45382#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,154 INFO L290 TraceCheckUtils]: 54: Hoare triple {45452#(<= ~counter~0 3)} assume !!(#t~post7 < 100);havoc #t~post7; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,154 INFO L272 TraceCheckUtils]: 55: Hoare triple {45452#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,155 INFO L290 TraceCheckUtils]: 56: Hoare triple {45452#(<= ~counter~0 3)} ~cond := #in~cond; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,155 INFO L290 TraceCheckUtils]: 57: Hoare triple {45452#(<= ~counter~0 3)} assume !(0 == ~cond); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,155 INFO L290 TraceCheckUtils]: 58: Hoare triple {45452#(<= ~counter~0 3)} assume true; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,156 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {45452#(<= ~counter~0 3)} {45452#(<= ~counter~0 3)} #86#return; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,156 INFO L272 TraceCheckUtils]: 60: Hoare triple {45452#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,156 INFO L290 TraceCheckUtils]: 61: Hoare triple {45452#(<= ~counter~0 3)} ~cond := #in~cond; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,157 INFO L290 TraceCheckUtils]: 62: Hoare triple {45452#(<= ~counter~0 3)} assume !(0 == ~cond); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,157 INFO L290 TraceCheckUtils]: 63: Hoare triple {45452#(<= ~counter~0 3)} assume true; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,157 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {45452#(<= ~counter~0 3)} {45452#(<= ~counter~0 3)} #88#return; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,158 INFO L272 TraceCheckUtils]: 65: Hoare triple {45452#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,158 INFO L290 TraceCheckUtils]: 66: Hoare triple {45452#(<= ~counter~0 3)} ~cond := #in~cond; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,159 INFO L290 TraceCheckUtils]: 67: Hoare triple {45452#(<= ~counter~0 3)} assume !(0 == ~cond); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,159 INFO L290 TraceCheckUtils]: 68: Hoare triple {45452#(<= ~counter~0 3)} assume true; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,159 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {45452#(<= ~counter~0 3)} {45452#(<= ~counter~0 3)} #90#return; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,160 INFO L272 TraceCheckUtils]: 70: Hoare triple {45452#(<= ~counter~0 3)} 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)); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,160 INFO L290 TraceCheckUtils]: 71: Hoare triple {45452#(<= ~counter~0 3)} ~cond := #in~cond; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,160 INFO L290 TraceCheckUtils]: 72: Hoare triple {45452#(<= ~counter~0 3)} assume !(0 == ~cond); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,161 INFO L290 TraceCheckUtils]: 73: Hoare triple {45452#(<= ~counter~0 3)} assume true; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,161 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {45452#(<= ~counter~0 3)} {45452#(<= ~counter~0 3)} #92#return; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,162 INFO L290 TraceCheckUtils]: 75: Hoare triple {45452#(<= ~counter~0 3)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:04,162 INFO L290 TraceCheckUtils]: 76: Hoare triple {45452#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,163 INFO L290 TraceCheckUtils]: 77: Hoare triple {45522#(<= ~counter~0 4)} assume !!(#t~post7 < 100);havoc #t~post7; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,163 INFO L272 TraceCheckUtils]: 78: Hoare triple {45522#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,163 INFO L290 TraceCheckUtils]: 79: Hoare triple {45522#(<= ~counter~0 4)} ~cond := #in~cond; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,164 INFO L290 TraceCheckUtils]: 80: Hoare triple {45522#(<= ~counter~0 4)} assume !(0 == ~cond); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,164 INFO L290 TraceCheckUtils]: 81: Hoare triple {45522#(<= ~counter~0 4)} assume true; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,164 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {45522#(<= ~counter~0 4)} {45522#(<= ~counter~0 4)} #86#return; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,165 INFO L272 TraceCheckUtils]: 83: Hoare triple {45522#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,165 INFO L290 TraceCheckUtils]: 84: Hoare triple {45522#(<= ~counter~0 4)} ~cond := #in~cond; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,165 INFO L290 TraceCheckUtils]: 85: Hoare triple {45522#(<= ~counter~0 4)} assume !(0 == ~cond); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,166 INFO L290 TraceCheckUtils]: 86: Hoare triple {45522#(<= ~counter~0 4)} assume true; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,166 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {45522#(<= ~counter~0 4)} {45522#(<= ~counter~0 4)} #88#return; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,167 INFO L272 TraceCheckUtils]: 88: Hoare triple {45522#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,167 INFO L290 TraceCheckUtils]: 89: Hoare triple {45522#(<= ~counter~0 4)} ~cond := #in~cond; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,167 INFO L290 TraceCheckUtils]: 90: Hoare triple {45522#(<= ~counter~0 4)} assume !(0 == ~cond); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,168 INFO L290 TraceCheckUtils]: 91: Hoare triple {45522#(<= ~counter~0 4)} assume true; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,168 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {45522#(<= ~counter~0 4)} {45522#(<= ~counter~0 4)} #90#return; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,169 INFO L272 TraceCheckUtils]: 93: Hoare triple {45522#(<= ~counter~0 4)} 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)); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,169 INFO L290 TraceCheckUtils]: 94: Hoare triple {45522#(<= ~counter~0 4)} ~cond := #in~cond; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,169 INFO L290 TraceCheckUtils]: 95: Hoare triple {45522#(<= ~counter~0 4)} assume !(0 == ~cond); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,170 INFO L290 TraceCheckUtils]: 96: Hoare triple {45522#(<= ~counter~0 4)} assume true; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,170 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {45522#(<= ~counter~0 4)} {45522#(<= ~counter~0 4)} #92#return; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,170 INFO L290 TraceCheckUtils]: 98: Hoare triple {45522#(<= ~counter~0 4)} assume !(~c~0 >= ~b~0); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,171 INFO L290 TraceCheckUtils]: 99: Hoare triple {45522#(<= ~counter~0 4)} ~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; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:04,171 INFO L290 TraceCheckUtils]: 100: Hoare triple {45522#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45595#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:04,172 INFO L290 TraceCheckUtils]: 101: Hoare triple {45595#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {45595#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:04,172 INFO L290 TraceCheckUtils]: 102: Hoare triple {45595#(<= ~counter~0 5)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {45595#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:04,172 INFO L290 TraceCheckUtils]: 103: Hoare triple {45595#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45605#(<= |main_#t~post7| 5)} is VALID [2022-04-28 05:46:04,173 INFO L290 TraceCheckUtils]: 104: Hoare triple {45605#(<= |main_#t~post7| 5)} assume !(#t~post7 < 100);havoc #t~post7; {45286#false} is VALID [2022-04-28 05:46:04,173 INFO L290 TraceCheckUtils]: 105: Hoare triple {45286#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; {45286#false} is VALID [2022-04-28 05:46:04,173 INFO L290 TraceCheckUtils]: 106: Hoare triple {45286#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45286#false} is VALID [2022-04-28 05:46:04,173 INFO L290 TraceCheckUtils]: 107: Hoare triple {45286#false} assume !(#t~post6 < 100);havoc #t~post6; {45286#false} is VALID [2022-04-28 05:46:04,173 INFO L272 TraceCheckUtils]: 108: Hoare triple {45286#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {45286#false} is VALID [2022-04-28 05:46:04,173 INFO L290 TraceCheckUtils]: 109: Hoare triple {45286#false} ~cond := #in~cond; {45286#false} is VALID [2022-04-28 05:46:04,173 INFO L290 TraceCheckUtils]: 110: Hoare triple {45286#false} assume 0 == ~cond; {45286#false} is VALID [2022-04-28 05:46:04,173 INFO L290 TraceCheckUtils]: 111: Hoare triple {45286#false} assume !false; {45286#false} is VALID [2022-04-28 05:46:04,174 INFO L134 CoverageAnalysis]: Checked inductivity of 347 backedges. 29 proven. 222 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-28 05:46:04,174 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:46:04,602 INFO L290 TraceCheckUtils]: 111: Hoare triple {45286#false} assume !false; {45286#false} is VALID [2022-04-28 05:46:04,602 INFO L290 TraceCheckUtils]: 110: Hoare triple {45286#false} assume 0 == ~cond; {45286#false} is VALID [2022-04-28 05:46:04,602 INFO L290 TraceCheckUtils]: 109: Hoare triple {45286#false} ~cond := #in~cond; {45286#false} is VALID [2022-04-28 05:46:04,602 INFO L272 TraceCheckUtils]: 108: Hoare triple {45286#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {45286#false} is VALID [2022-04-28 05:46:04,602 INFO L290 TraceCheckUtils]: 107: Hoare triple {45286#false} assume !(#t~post6 < 100);havoc #t~post6; {45286#false} is VALID [2022-04-28 05:46:04,602 INFO L290 TraceCheckUtils]: 106: Hoare triple {45286#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45286#false} is VALID [2022-04-28 05:46:04,602 INFO L290 TraceCheckUtils]: 105: Hoare triple {45286#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; {45286#false} is VALID [2022-04-28 05:46:04,603 INFO L290 TraceCheckUtils]: 104: Hoare triple {45651#(< |main_#t~post7| 100)} assume !(#t~post7 < 100);havoc #t~post7; {45286#false} is VALID [2022-04-28 05:46:04,603 INFO L290 TraceCheckUtils]: 103: Hoare triple {45655#(< ~counter~0 100)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45651#(< |main_#t~post7| 100)} is VALID [2022-04-28 05:46:04,603 INFO L290 TraceCheckUtils]: 102: Hoare triple {45655#(< ~counter~0 100)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {45655#(< ~counter~0 100)} is VALID [2022-04-28 05:46:04,604 INFO L290 TraceCheckUtils]: 101: Hoare triple {45655#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {45655#(< ~counter~0 100)} is VALID [2022-04-28 05:46:04,605 INFO L290 TraceCheckUtils]: 100: Hoare triple {45665#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45655#(< ~counter~0 100)} is VALID [2022-04-28 05:46:04,605 INFO L290 TraceCheckUtils]: 99: Hoare triple {45665#(< ~counter~0 99)} ~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; {45665#(< ~counter~0 99)} is VALID [2022-04-28 05:46:04,605 INFO L290 TraceCheckUtils]: 98: Hoare triple {45665#(< ~counter~0 99)} assume !(~c~0 >= ~b~0); {45665#(< ~counter~0 99)} is VALID [2022-04-28 05:46:04,606 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {45285#true} {45665#(< ~counter~0 99)} #92#return; {45665#(< ~counter~0 99)} is VALID [2022-04-28 05:46:04,606 INFO L290 TraceCheckUtils]: 96: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 05:46:04,606 INFO L290 TraceCheckUtils]: 95: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 05:46:04,606 INFO L290 TraceCheckUtils]: 94: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 05:46:04,606 INFO L272 TraceCheckUtils]: 93: Hoare triple {45665#(< ~counter~0 99)} 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)); {45285#true} is VALID [2022-04-28 05:46:04,607 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {45285#true} {45665#(< ~counter~0 99)} #90#return; {45665#(< ~counter~0 99)} is VALID [2022-04-28 05:46:04,607 INFO L290 TraceCheckUtils]: 91: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 05:46:04,607 INFO L290 TraceCheckUtils]: 90: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 05:46:04,607 INFO L290 TraceCheckUtils]: 89: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 05:46:04,607 INFO L272 TraceCheckUtils]: 88: Hoare triple {45665#(< ~counter~0 99)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 05:46:04,608 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {45285#true} {45665#(< ~counter~0 99)} #88#return; {45665#(< ~counter~0 99)} is VALID [2022-04-28 05:46:04,608 INFO L290 TraceCheckUtils]: 86: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 05:46:04,608 INFO L290 TraceCheckUtils]: 85: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 05:46:04,608 INFO L290 TraceCheckUtils]: 84: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 05:46:04,608 INFO L272 TraceCheckUtils]: 83: Hoare triple {45665#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 05:46:04,609 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {45285#true} {45665#(< ~counter~0 99)} #86#return; {45665#(< ~counter~0 99)} is VALID [2022-04-28 05:46:04,609 INFO L290 TraceCheckUtils]: 81: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 05:46:04,609 INFO L290 TraceCheckUtils]: 80: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 05:46:04,609 INFO L290 TraceCheckUtils]: 79: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 05:46:04,609 INFO L272 TraceCheckUtils]: 78: Hoare triple {45665#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 05:46:04,609 INFO L290 TraceCheckUtils]: 77: Hoare triple {45665#(< ~counter~0 99)} assume !!(#t~post7 < 100);havoc #t~post7; {45665#(< ~counter~0 99)} is VALID [2022-04-28 05:46:04,610 INFO L290 TraceCheckUtils]: 76: Hoare triple {45738#(< ~counter~0 98)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45665#(< ~counter~0 99)} is VALID [2022-04-28 05:46:04,610 INFO L290 TraceCheckUtils]: 75: Hoare triple {45738#(< ~counter~0 98)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {45738#(< ~counter~0 98)} is VALID [2022-04-28 05:46:04,611 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {45285#true} {45738#(< ~counter~0 98)} #92#return; {45738#(< ~counter~0 98)} is VALID [2022-04-28 05:46:04,611 INFO L290 TraceCheckUtils]: 73: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 05:46:04,611 INFO L290 TraceCheckUtils]: 72: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 05:46:04,611 INFO L290 TraceCheckUtils]: 71: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 05:46:04,611 INFO L272 TraceCheckUtils]: 70: Hoare triple {45738#(< ~counter~0 98)} 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)); {45285#true} is VALID [2022-04-28 05:46:04,611 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {45285#true} {45738#(< ~counter~0 98)} #90#return; {45738#(< ~counter~0 98)} is VALID [2022-04-28 05:46:04,612 INFO L290 TraceCheckUtils]: 68: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 05:46:04,612 INFO L290 TraceCheckUtils]: 67: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 05:46:04,612 INFO L290 TraceCheckUtils]: 66: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 05:46:04,612 INFO L272 TraceCheckUtils]: 65: Hoare triple {45738#(< ~counter~0 98)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 05:46:04,612 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {45285#true} {45738#(< ~counter~0 98)} #88#return; {45738#(< ~counter~0 98)} is VALID [2022-04-28 05:46:04,612 INFO L290 TraceCheckUtils]: 63: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 05:46:04,612 INFO L290 TraceCheckUtils]: 62: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 05:46:04,613 INFO L290 TraceCheckUtils]: 61: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 05:46:04,613 INFO L272 TraceCheckUtils]: 60: Hoare triple {45738#(< ~counter~0 98)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 05:46:04,613 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {45285#true} {45738#(< ~counter~0 98)} #86#return; {45738#(< ~counter~0 98)} is VALID [2022-04-28 05:46:04,613 INFO L290 TraceCheckUtils]: 58: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 05:46:04,613 INFO L290 TraceCheckUtils]: 57: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 05:46:04,613 INFO L290 TraceCheckUtils]: 56: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 05:46:04,613 INFO L272 TraceCheckUtils]: 55: Hoare triple {45738#(< ~counter~0 98)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 05:46:04,614 INFO L290 TraceCheckUtils]: 54: Hoare triple {45738#(< ~counter~0 98)} assume !!(#t~post7 < 100);havoc #t~post7; {45738#(< ~counter~0 98)} is VALID [2022-04-28 05:46:04,614 INFO L290 TraceCheckUtils]: 53: Hoare triple {45808#(< ~counter~0 97)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45738#(< ~counter~0 98)} is VALID [2022-04-28 05:46:04,615 INFO L290 TraceCheckUtils]: 52: Hoare triple {45808#(< ~counter~0 97)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {45808#(< ~counter~0 97)} is VALID [2022-04-28 05:46:04,615 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {45285#true} {45808#(< ~counter~0 97)} #92#return; {45808#(< ~counter~0 97)} is VALID [2022-04-28 05:46:04,615 INFO L290 TraceCheckUtils]: 50: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 05:46:04,615 INFO L290 TraceCheckUtils]: 49: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 05:46:04,615 INFO L290 TraceCheckUtils]: 48: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 05:46:04,615 INFO L272 TraceCheckUtils]: 47: Hoare triple {45808#(< ~counter~0 97)} 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)); {45285#true} is VALID [2022-04-28 05:46:04,616 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {45285#true} {45808#(< ~counter~0 97)} #90#return; {45808#(< ~counter~0 97)} is VALID [2022-04-28 05:46:04,616 INFO L290 TraceCheckUtils]: 45: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 05:46:04,616 INFO L290 TraceCheckUtils]: 44: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 05:46:04,616 INFO L290 TraceCheckUtils]: 43: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 05:46:04,616 INFO L272 TraceCheckUtils]: 42: Hoare triple {45808#(< ~counter~0 97)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 05:46:04,617 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {45285#true} {45808#(< ~counter~0 97)} #88#return; {45808#(< ~counter~0 97)} is VALID [2022-04-28 05:46:04,617 INFO L290 TraceCheckUtils]: 40: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 05:46:04,617 INFO L290 TraceCheckUtils]: 39: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 05:46:04,617 INFO L290 TraceCheckUtils]: 38: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 05:46:04,617 INFO L272 TraceCheckUtils]: 37: Hoare triple {45808#(< ~counter~0 97)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 05:46:04,618 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {45285#true} {45808#(< ~counter~0 97)} #86#return; {45808#(< ~counter~0 97)} is VALID [2022-04-28 05:46:04,618 INFO L290 TraceCheckUtils]: 35: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 05:46:04,618 INFO L290 TraceCheckUtils]: 34: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 05:46:04,618 INFO L290 TraceCheckUtils]: 33: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 05:46:04,618 INFO L272 TraceCheckUtils]: 32: Hoare triple {45808#(< ~counter~0 97)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 05:46:04,618 INFO L290 TraceCheckUtils]: 31: Hoare triple {45808#(< ~counter~0 97)} assume !!(#t~post7 < 100);havoc #t~post7; {45808#(< ~counter~0 97)} is VALID [2022-04-28 05:46:04,619 INFO L290 TraceCheckUtils]: 30: Hoare triple {45878#(< ~counter~0 96)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45808#(< ~counter~0 97)} is VALID [2022-04-28 05:46:04,619 INFO L290 TraceCheckUtils]: 29: Hoare triple {45878#(< ~counter~0 96)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {45878#(< ~counter~0 96)} is VALID [2022-04-28 05:46:04,619 INFO L290 TraceCheckUtils]: 28: Hoare triple {45878#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {45878#(< ~counter~0 96)} is VALID [2022-04-28 05:46:04,620 INFO L290 TraceCheckUtils]: 27: Hoare triple {45888#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45878#(< ~counter~0 96)} is VALID [2022-04-28 05:46:04,620 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {45285#true} {45888#(< ~counter~0 95)} #84#return; {45888#(< ~counter~0 95)} is VALID [2022-04-28 05:46:04,620 INFO L290 TraceCheckUtils]: 25: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 05:46:04,621 INFO L290 TraceCheckUtils]: 24: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 05:46:04,621 INFO L290 TraceCheckUtils]: 23: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 05:46:04,621 INFO L272 TraceCheckUtils]: 22: Hoare triple {45888#(< ~counter~0 95)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {45285#true} is VALID [2022-04-28 05:46:04,621 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {45285#true} {45888#(< ~counter~0 95)} #82#return; {45888#(< ~counter~0 95)} is VALID [2022-04-28 05:46:04,621 INFO L290 TraceCheckUtils]: 20: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 05:46:04,621 INFO L290 TraceCheckUtils]: 19: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 05:46:04,621 INFO L290 TraceCheckUtils]: 18: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 05:46:04,621 INFO L272 TraceCheckUtils]: 17: Hoare triple {45888#(< ~counter~0 95)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {45285#true} is VALID [2022-04-28 05:46:04,622 INFO L290 TraceCheckUtils]: 16: Hoare triple {45888#(< ~counter~0 95)} ~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; {45888#(< ~counter~0 95)} is VALID [2022-04-28 05:46:04,622 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {45285#true} {45888#(< ~counter~0 95)} #80#return; {45888#(< ~counter~0 95)} is VALID [2022-04-28 05:46:04,622 INFO L290 TraceCheckUtils]: 14: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 05:46:04,622 INFO L290 TraceCheckUtils]: 13: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 05:46:04,622 INFO L290 TraceCheckUtils]: 12: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 05:46:04,622 INFO L272 TraceCheckUtils]: 11: Hoare triple {45888#(< ~counter~0 95)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {45285#true} is VALID [2022-04-28 05:46:04,623 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {45285#true} {45888#(< ~counter~0 95)} #78#return; {45888#(< ~counter~0 95)} is VALID [2022-04-28 05:46:04,623 INFO L290 TraceCheckUtils]: 9: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 05:46:04,623 INFO L290 TraceCheckUtils]: 8: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 05:46:04,623 INFO L290 TraceCheckUtils]: 7: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 05:46:04,623 INFO L272 TraceCheckUtils]: 6: Hoare triple {45888#(< ~counter~0 95)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {45285#true} is VALID [2022-04-28 05:46:04,623 INFO L290 TraceCheckUtils]: 5: Hoare triple {45888#(< ~counter~0 95)} 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; {45888#(< ~counter~0 95)} is VALID [2022-04-28 05:46:04,624 INFO L272 TraceCheckUtils]: 4: Hoare triple {45888#(< ~counter~0 95)} call #t~ret8 := main(); {45888#(< ~counter~0 95)} is VALID [2022-04-28 05:46:04,624 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45888#(< ~counter~0 95)} {45285#true} #98#return; {45888#(< ~counter~0 95)} is VALID [2022-04-28 05:46:04,624 INFO L290 TraceCheckUtils]: 2: Hoare triple {45888#(< ~counter~0 95)} assume true; {45888#(< ~counter~0 95)} is VALID [2022-04-28 05:46:04,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {45285#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);~counter~0 := 0; {45888#(< ~counter~0 95)} is VALID [2022-04-28 05:46:04,625 INFO L272 TraceCheckUtils]: 0: Hoare triple {45285#true} call ULTIMATE.init(); {45285#true} is VALID [2022-04-28 05:46:04,625 INFO L134 CoverageAnalysis]: Checked inductivity of 347 backedges. 29 proven. 30 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 05:46:04,625 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:46:04,625 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [440549182] [2022-04-28 05:46:04,625 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:46:04,625 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1998407853] [2022-04-28 05:46:04,625 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1998407853] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:46:04,625 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:46:04,626 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 05:46:04,626 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:46:04,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [438409616] [2022-04-28 05:46:04,626 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [438409616] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:46:04,626 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:46:04,626 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 05:46:04,626 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [88527914] [2022-04-28 05:46:04,626 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:46:04,626 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 112 [2022-04-28 05:46:04,627 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:46:04,627 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:46:04,690 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:46:04,690 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 05:46:04,690 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:46:04,691 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 05:46:04,691 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-28 05:46:04,691 INFO L87 Difference]: Start difference. First operand 470 states and 614 transitions. Second operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:46:06,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:46:06,083 INFO L93 Difference]: Finished difference Result 644 states and 881 transitions. [2022-04-28 05:46:06,083 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 05:46:06,083 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 112 [2022-04-28 05:46:06,083 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:46:06,083 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:46:06,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 152 transitions. [2022-04-28 05:46:06,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:46:06,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 152 transitions. [2022-04-28 05:46:06,086 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 152 transitions. [2022-04-28 05:46:06,224 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:46:06,235 INFO L225 Difference]: With dead ends: 644 [2022-04-28 05:46:06,235 INFO L226 Difference]: Without dead ends: 474 [2022-04-28 05:46:06,236 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 227 GetRequests, 209 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=152, Invalid=228, Unknown=0, NotChecked=0, Total=380 [2022-04-28 05:46:06,236 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 47 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 79 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 213 SdHoareTripleChecker+Invalid, 125 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 46 IncrementalHoareTripleChecker+Valid, 79 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:46:06,236 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [47 Valid, 213 Invalid, 125 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 79 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:46:06,237 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 474 states. [2022-04-28 05:46:07,344 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 474 to 474. [2022-04-28 05:46:07,345 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:46:07,345 INFO L82 GeneralOperation]: Start isEquivalent. First operand 474 states. Second operand has 474 states, 305 states have (on average 1.2163934426229508) internal successors, (371), 310 states have internal predecessors, (371), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 05:46:07,345 INFO L74 IsIncluded]: Start isIncluded. First operand 474 states. Second operand has 474 states, 305 states have (on average 1.2163934426229508) internal successors, (371), 310 states have internal predecessors, (371), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 05:46:07,346 INFO L87 Difference]: Start difference. First operand 474 states. Second operand has 474 states, 305 states have (on average 1.2163934426229508) internal successors, (371), 310 states have internal predecessors, (371), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 05:46:07,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:46:07,360 INFO L93 Difference]: Finished difference Result 474 states and 616 transitions. [2022-04-28 05:46:07,360 INFO L276 IsEmpty]: Start isEmpty. Operand 474 states and 616 transitions. [2022-04-28 05:46:07,361 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:46:07,361 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:46:07,361 INFO L74 IsIncluded]: Start isIncluded. First operand has 474 states, 305 states have (on average 1.2163934426229508) internal successors, (371), 310 states have internal predecessors, (371), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) Second operand 474 states. [2022-04-28 05:46:07,362 INFO L87 Difference]: Start difference. First operand has 474 states, 305 states have (on average 1.2163934426229508) internal successors, (371), 310 states have internal predecessors, (371), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) Second operand 474 states. [2022-04-28 05:46:07,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:46:07,376 INFO L93 Difference]: Finished difference Result 474 states and 616 transitions. [2022-04-28 05:46:07,376 INFO L276 IsEmpty]: Start isEmpty. Operand 474 states and 616 transitions. [2022-04-28 05:46:07,377 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:46:07,377 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:46:07,377 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:46:07,377 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:46:07,377 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 474 states, 305 states have (on average 1.2163934426229508) internal successors, (371), 310 states have internal predecessors, (371), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 05:46:07,390 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 474 states to 474 states and 616 transitions. [2022-04-28 05:46:07,390 INFO L78 Accepts]: Start accepts. Automaton has 474 states and 616 transitions. Word has length 112 [2022-04-28 05:46:07,391 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:46:07,391 INFO L495 AbstractCegarLoop]: Abstraction has 474 states and 616 transitions. [2022-04-28 05:46:07,391 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:46:07,391 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 474 states and 616 transitions. [2022-04-28 05:46:08,406 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 616 edges. 616 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:46:08,406 INFO L276 IsEmpty]: Start isEmpty. Operand 474 states and 616 transitions. [2022-04-28 05:46:08,407 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-28 05:46:08,407 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:46:08,407 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:46:08,426 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Forceful destruction successful, exit code 0 [2022-04-28 05:46:08,619 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 29 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-04-28 05:46:08,619 INFO L420 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:46:08,620 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:46:08,620 INFO L85 PathProgramCache]: Analyzing trace with hash 1546024104, now seen corresponding path program 5 times [2022-04-28 05:46:08,620 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:46:08,620 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [851727264] [2022-04-28 05:46:08,620 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:46:08,620 INFO L85 PathProgramCache]: Analyzing trace with hash 1546024104, now seen corresponding path program 6 times [2022-04-28 05:46:08,620 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:46:08,620 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1840144439] [2022-04-28 05:46:08,621 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:46:08,621 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:46:08,633 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:46:08,633 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1206347543] [2022-04-28 05:46:08,634 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:46:08,634 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:46:08,634 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:46:08,635 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:46:08,639 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2022-04-28 05:46:08,728 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 05:46:08,728 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:46:08,729 INFO L263 TraceCheckSpWp]: Trace formula consists of 332 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 05:46:08,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:46:08,756 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:46:09,215 INFO L272 TraceCheckUtils]: 0: Hoare triple {49164#true} call ULTIMATE.init(); {49164#true} is VALID [2022-04-28 05:46:09,215 INFO L290 TraceCheckUtils]: 1: Hoare triple {49164#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);~counter~0 := 0; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,216 INFO L290 TraceCheckUtils]: 2: Hoare triple {49172#(<= ~counter~0 0)} assume true; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,216 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49172#(<= ~counter~0 0)} {49164#true} #98#return; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,216 INFO L272 TraceCheckUtils]: 4: Hoare triple {49172#(<= ~counter~0 0)} call #t~ret8 := main(); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,217 INFO L290 TraceCheckUtils]: 5: Hoare triple {49172#(<= ~counter~0 0)} 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; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,217 INFO L272 TraceCheckUtils]: 6: Hoare triple {49172#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,217 INFO L290 TraceCheckUtils]: 7: Hoare triple {49172#(<= ~counter~0 0)} ~cond := #in~cond; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,218 INFO L290 TraceCheckUtils]: 8: Hoare triple {49172#(<= ~counter~0 0)} assume !(0 == ~cond); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,218 INFO L290 TraceCheckUtils]: 9: Hoare triple {49172#(<= ~counter~0 0)} assume true; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,218 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {49172#(<= ~counter~0 0)} {49172#(<= ~counter~0 0)} #78#return; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,219 INFO L272 TraceCheckUtils]: 11: Hoare triple {49172#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,219 INFO L290 TraceCheckUtils]: 12: Hoare triple {49172#(<= ~counter~0 0)} ~cond := #in~cond; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,219 INFO L290 TraceCheckUtils]: 13: Hoare triple {49172#(<= ~counter~0 0)} assume !(0 == ~cond); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,220 INFO L290 TraceCheckUtils]: 14: Hoare triple {49172#(<= ~counter~0 0)} assume true; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,220 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {49172#(<= ~counter~0 0)} {49172#(<= ~counter~0 0)} #80#return; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,220 INFO L290 TraceCheckUtils]: 16: Hoare triple {49172#(<= ~counter~0 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; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,221 INFO L272 TraceCheckUtils]: 17: Hoare triple {49172#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,221 INFO L290 TraceCheckUtils]: 18: Hoare triple {49172#(<= ~counter~0 0)} ~cond := #in~cond; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,221 INFO L290 TraceCheckUtils]: 19: Hoare triple {49172#(<= ~counter~0 0)} assume !(0 == ~cond); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,221 INFO L290 TraceCheckUtils]: 20: Hoare triple {49172#(<= ~counter~0 0)} assume true; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,222 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {49172#(<= ~counter~0 0)} {49172#(<= ~counter~0 0)} #82#return; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,222 INFO L272 TraceCheckUtils]: 22: Hoare triple {49172#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,222 INFO L290 TraceCheckUtils]: 23: Hoare triple {49172#(<= ~counter~0 0)} ~cond := #in~cond; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,223 INFO L290 TraceCheckUtils]: 24: Hoare triple {49172#(<= ~counter~0 0)} assume !(0 == ~cond); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,223 INFO L290 TraceCheckUtils]: 25: Hoare triple {49172#(<= ~counter~0 0)} assume true; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,224 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {49172#(<= ~counter~0 0)} {49172#(<= ~counter~0 0)} #84#return; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 05:46:09,225 INFO L290 TraceCheckUtils]: 27: Hoare triple {49172#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49251#(<= ~counter~0 1)} is VALID [2022-04-28 05:46:09,225 INFO L290 TraceCheckUtils]: 28: Hoare triple {49251#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {49251#(<= ~counter~0 1)} is VALID [2022-04-28 05:46:09,225 INFO L290 TraceCheckUtils]: 29: Hoare triple {49251#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {49251#(<= ~counter~0 1)} is VALID [2022-04-28 05:46:09,226 INFO L290 TraceCheckUtils]: 30: Hoare triple {49251#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,226 INFO L290 TraceCheckUtils]: 31: Hoare triple {49261#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,227 INFO L272 TraceCheckUtils]: 32: Hoare triple {49261#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,227 INFO L290 TraceCheckUtils]: 33: Hoare triple {49261#(<= ~counter~0 2)} ~cond := #in~cond; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,227 INFO L290 TraceCheckUtils]: 34: Hoare triple {49261#(<= ~counter~0 2)} assume !(0 == ~cond); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,228 INFO L290 TraceCheckUtils]: 35: Hoare triple {49261#(<= ~counter~0 2)} assume true; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,228 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {49261#(<= ~counter~0 2)} {49261#(<= ~counter~0 2)} #86#return; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,229 INFO L272 TraceCheckUtils]: 37: Hoare triple {49261#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,229 INFO L290 TraceCheckUtils]: 38: Hoare triple {49261#(<= ~counter~0 2)} ~cond := #in~cond; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,229 INFO L290 TraceCheckUtils]: 39: Hoare triple {49261#(<= ~counter~0 2)} assume !(0 == ~cond); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,229 INFO L290 TraceCheckUtils]: 40: Hoare triple {49261#(<= ~counter~0 2)} assume true; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,230 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {49261#(<= ~counter~0 2)} {49261#(<= ~counter~0 2)} #88#return; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,231 INFO L272 TraceCheckUtils]: 42: Hoare triple {49261#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,231 INFO L290 TraceCheckUtils]: 43: Hoare triple {49261#(<= ~counter~0 2)} ~cond := #in~cond; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,231 INFO L290 TraceCheckUtils]: 44: Hoare triple {49261#(<= ~counter~0 2)} assume !(0 == ~cond); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,231 INFO L290 TraceCheckUtils]: 45: Hoare triple {49261#(<= ~counter~0 2)} assume true; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,232 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {49261#(<= ~counter~0 2)} {49261#(<= ~counter~0 2)} #90#return; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,233 INFO L272 TraceCheckUtils]: 47: Hoare triple {49261#(<= ~counter~0 2)} 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)); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,233 INFO L290 TraceCheckUtils]: 48: Hoare triple {49261#(<= ~counter~0 2)} ~cond := #in~cond; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,233 INFO L290 TraceCheckUtils]: 49: Hoare triple {49261#(<= ~counter~0 2)} assume !(0 == ~cond); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,233 INFO L290 TraceCheckUtils]: 50: Hoare triple {49261#(<= ~counter~0 2)} assume true; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,234 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {49261#(<= ~counter~0 2)} {49261#(<= ~counter~0 2)} #92#return; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,234 INFO L290 TraceCheckUtils]: 52: Hoare triple {49261#(<= ~counter~0 2)} assume !(~c~0 >= ~b~0); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,235 INFO L290 TraceCheckUtils]: 53: Hoare triple {49261#(<= ~counter~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; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 05:46:09,235 INFO L290 TraceCheckUtils]: 54: Hoare triple {49261#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49334#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:09,236 INFO L290 TraceCheckUtils]: 55: Hoare triple {49334#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {49334#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:09,236 INFO L290 TraceCheckUtils]: 56: Hoare triple {49334#(<= ~counter~0 3)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {49334#(<= ~counter~0 3)} is VALID [2022-04-28 05:46:09,238 INFO L290 TraceCheckUtils]: 57: Hoare triple {49334#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,239 INFO L290 TraceCheckUtils]: 58: Hoare triple {49344#(<= ~counter~0 4)} assume !!(#t~post7 < 100);havoc #t~post7; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,239 INFO L272 TraceCheckUtils]: 59: Hoare triple {49344#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,239 INFO L290 TraceCheckUtils]: 60: Hoare triple {49344#(<= ~counter~0 4)} ~cond := #in~cond; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,240 INFO L290 TraceCheckUtils]: 61: Hoare triple {49344#(<= ~counter~0 4)} assume !(0 == ~cond); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,240 INFO L290 TraceCheckUtils]: 62: Hoare triple {49344#(<= ~counter~0 4)} assume true; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,241 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {49344#(<= ~counter~0 4)} {49344#(<= ~counter~0 4)} #86#return; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,241 INFO L272 TraceCheckUtils]: 64: Hoare triple {49344#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,241 INFO L290 TraceCheckUtils]: 65: Hoare triple {49344#(<= ~counter~0 4)} ~cond := #in~cond; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,242 INFO L290 TraceCheckUtils]: 66: Hoare triple {49344#(<= ~counter~0 4)} assume !(0 == ~cond); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,242 INFO L290 TraceCheckUtils]: 67: Hoare triple {49344#(<= ~counter~0 4)} assume true; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,242 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {49344#(<= ~counter~0 4)} {49344#(<= ~counter~0 4)} #88#return; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,243 INFO L272 TraceCheckUtils]: 69: Hoare triple {49344#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,243 INFO L290 TraceCheckUtils]: 70: Hoare triple {49344#(<= ~counter~0 4)} ~cond := #in~cond; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,243 INFO L290 TraceCheckUtils]: 71: Hoare triple {49344#(<= ~counter~0 4)} assume !(0 == ~cond); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,244 INFO L290 TraceCheckUtils]: 72: Hoare triple {49344#(<= ~counter~0 4)} assume true; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,244 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {49344#(<= ~counter~0 4)} {49344#(<= ~counter~0 4)} #90#return; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,245 INFO L272 TraceCheckUtils]: 74: Hoare triple {49344#(<= ~counter~0 4)} 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)); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,245 INFO L290 TraceCheckUtils]: 75: Hoare triple {49344#(<= ~counter~0 4)} ~cond := #in~cond; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,246 INFO L290 TraceCheckUtils]: 76: Hoare triple {49344#(<= ~counter~0 4)} assume !(0 == ~cond); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,246 INFO L290 TraceCheckUtils]: 77: Hoare triple {49344#(<= ~counter~0 4)} assume true; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,246 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {49344#(<= ~counter~0 4)} {49344#(<= ~counter~0 4)} #92#return; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,247 INFO L290 TraceCheckUtils]: 79: Hoare triple {49344#(<= ~counter~0 4)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 05:46:09,247 INFO L290 TraceCheckUtils]: 80: Hoare triple {49344#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,248 INFO L290 TraceCheckUtils]: 81: Hoare triple {49414#(<= ~counter~0 5)} assume !!(#t~post7 < 100);havoc #t~post7; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,248 INFO L272 TraceCheckUtils]: 82: Hoare triple {49414#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,248 INFO L290 TraceCheckUtils]: 83: Hoare triple {49414#(<= ~counter~0 5)} ~cond := #in~cond; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,249 INFO L290 TraceCheckUtils]: 84: Hoare triple {49414#(<= ~counter~0 5)} assume !(0 == ~cond); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,249 INFO L290 TraceCheckUtils]: 85: Hoare triple {49414#(<= ~counter~0 5)} assume true; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,250 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {49414#(<= ~counter~0 5)} {49414#(<= ~counter~0 5)} #86#return; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,250 INFO L272 TraceCheckUtils]: 87: Hoare triple {49414#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,250 INFO L290 TraceCheckUtils]: 88: Hoare triple {49414#(<= ~counter~0 5)} ~cond := #in~cond; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,251 INFO L290 TraceCheckUtils]: 89: Hoare triple {49414#(<= ~counter~0 5)} assume !(0 == ~cond); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,251 INFO L290 TraceCheckUtils]: 90: Hoare triple {49414#(<= ~counter~0 5)} assume true; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,251 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {49414#(<= ~counter~0 5)} {49414#(<= ~counter~0 5)} #88#return; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,252 INFO L272 TraceCheckUtils]: 92: Hoare triple {49414#(<= ~counter~0 5)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,252 INFO L290 TraceCheckUtils]: 93: Hoare triple {49414#(<= ~counter~0 5)} ~cond := #in~cond; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,253 INFO L290 TraceCheckUtils]: 94: Hoare triple {49414#(<= ~counter~0 5)} assume !(0 == ~cond); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,253 INFO L290 TraceCheckUtils]: 95: Hoare triple {49414#(<= ~counter~0 5)} assume true; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,253 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {49414#(<= ~counter~0 5)} {49414#(<= ~counter~0 5)} #90#return; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,254 INFO L272 TraceCheckUtils]: 97: Hoare triple {49414#(<= ~counter~0 5)} 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)); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,254 INFO L290 TraceCheckUtils]: 98: Hoare triple {49414#(<= ~counter~0 5)} ~cond := #in~cond; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,255 INFO L290 TraceCheckUtils]: 99: Hoare triple {49414#(<= ~counter~0 5)} assume !(0 == ~cond); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,255 INFO L290 TraceCheckUtils]: 100: Hoare triple {49414#(<= ~counter~0 5)} assume true; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,256 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {49414#(<= ~counter~0 5)} {49414#(<= ~counter~0 5)} #92#return; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,256 INFO L290 TraceCheckUtils]: 102: Hoare triple {49414#(<= ~counter~0 5)} assume !(~c~0 >= ~b~0); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,256 INFO L290 TraceCheckUtils]: 103: Hoare triple {49414#(<= ~counter~0 5)} ~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; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 05:46:09,257 INFO L290 TraceCheckUtils]: 104: Hoare triple {49414#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49487#(<= ~counter~0 6)} is VALID [2022-04-28 05:46:09,263 INFO L290 TraceCheckUtils]: 105: Hoare triple {49487#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {49487#(<= ~counter~0 6)} is VALID [2022-04-28 05:46:09,264 INFO L290 TraceCheckUtils]: 106: Hoare triple {49487#(<= ~counter~0 6)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {49487#(<= ~counter~0 6)} is VALID [2022-04-28 05:46:09,264 INFO L290 TraceCheckUtils]: 107: Hoare triple {49487#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49497#(<= |main_#t~post7| 6)} is VALID [2022-04-28 05:46:09,264 INFO L290 TraceCheckUtils]: 108: Hoare triple {49497#(<= |main_#t~post7| 6)} assume !(#t~post7 < 100);havoc #t~post7; {49165#false} is VALID [2022-04-28 05:46:09,265 INFO L290 TraceCheckUtils]: 109: Hoare triple {49165#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; {49165#false} is VALID [2022-04-28 05:46:09,265 INFO L290 TraceCheckUtils]: 110: Hoare triple {49165#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49165#false} is VALID [2022-04-28 05:46:09,265 INFO L290 TraceCheckUtils]: 111: Hoare triple {49165#false} assume !(#t~post6 < 100);havoc #t~post6; {49165#false} is VALID [2022-04-28 05:46:09,265 INFO L272 TraceCheckUtils]: 112: Hoare triple {49165#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {49165#false} is VALID [2022-04-28 05:46:09,265 INFO L290 TraceCheckUtils]: 113: Hoare triple {49165#false} ~cond := #in~cond; {49165#false} is VALID [2022-04-28 05:46:09,265 INFO L290 TraceCheckUtils]: 114: Hoare triple {49165#false} assume 0 == ~cond; {49165#false} is VALID [2022-04-28 05:46:09,265 INFO L290 TraceCheckUtils]: 115: Hoare triple {49165#false} assume !false; {49165#false} is VALID [2022-04-28 05:46:09,266 INFO L134 CoverageAnalysis]: Checked inductivity of 357 backedges. 32 proven. 229 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-28 05:46:09,266 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:46:09,761 INFO L290 TraceCheckUtils]: 115: Hoare triple {49165#false} assume !false; {49165#false} is VALID [2022-04-28 05:46:09,761 INFO L290 TraceCheckUtils]: 114: Hoare triple {49165#false} assume 0 == ~cond; {49165#false} is VALID [2022-04-28 05:46:09,761 INFO L290 TraceCheckUtils]: 113: Hoare triple {49165#false} ~cond := #in~cond; {49165#false} is VALID [2022-04-28 05:46:09,762 INFO L272 TraceCheckUtils]: 112: Hoare triple {49165#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {49165#false} is VALID [2022-04-28 05:46:09,762 INFO L290 TraceCheckUtils]: 111: Hoare triple {49165#false} assume !(#t~post6 < 100);havoc #t~post6; {49165#false} is VALID [2022-04-28 05:46:09,762 INFO L290 TraceCheckUtils]: 110: Hoare triple {49165#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49165#false} is VALID [2022-04-28 05:46:09,762 INFO L290 TraceCheckUtils]: 109: Hoare triple {49165#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; {49165#false} is VALID [2022-04-28 05:46:09,762 INFO L290 TraceCheckUtils]: 108: Hoare triple {49543#(< |main_#t~post7| 100)} assume !(#t~post7 < 100);havoc #t~post7; {49165#false} is VALID [2022-04-28 05:46:09,762 INFO L290 TraceCheckUtils]: 107: Hoare triple {49547#(< ~counter~0 100)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49543#(< |main_#t~post7| 100)} is VALID [2022-04-28 05:46:09,763 INFO L290 TraceCheckUtils]: 106: Hoare triple {49547#(< ~counter~0 100)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {49547#(< ~counter~0 100)} is VALID [2022-04-28 05:46:09,763 INFO L290 TraceCheckUtils]: 105: Hoare triple {49547#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {49547#(< ~counter~0 100)} is VALID [2022-04-28 05:46:09,764 INFO L290 TraceCheckUtils]: 104: Hoare triple {49557#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49547#(< ~counter~0 100)} is VALID [2022-04-28 05:46:09,764 INFO L290 TraceCheckUtils]: 103: Hoare triple {49557#(< ~counter~0 99)} ~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; {49557#(< ~counter~0 99)} is VALID [2022-04-28 05:46:09,765 INFO L290 TraceCheckUtils]: 102: Hoare triple {49557#(< ~counter~0 99)} assume !(~c~0 >= ~b~0); {49557#(< ~counter~0 99)} is VALID [2022-04-28 05:46:09,765 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {49164#true} {49557#(< ~counter~0 99)} #92#return; {49557#(< ~counter~0 99)} is VALID [2022-04-28 05:46:09,765 INFO L290 TraceCheckUtils]: 100: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 05:46:09,765 INFO L290 TraceCheckUtils]: 99: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 05:46:09,766 INFO L290 TraceCheckUtils]: 98: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 05:46:09,766 INFO L272 TraceCheckUtils]: 97: Hoare triple {49557#(< ~counter~0 99)} 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)); {49164#true} is VALID [2022-04-28 05:46:09,766 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {49164#true} {49557#(< ~counter~0 99)} #90#return; {49557#(< ~counter~0 99)} is VALID [2022-04-28 05:46:09,766 INFO L290 TraceCheckUtils]: 95: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 05:46:09,766 INFO L290 TraceCheckUtils]: 94: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 05:46:09,766 INFO L290 TraceCheckUtils]: 93: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 05:46:09,766 INFO L272 TraceCheckUtils]: 92: Hoare triple {49557#(< ~counter~0 99)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 05:46:09,767 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {49164#true} {49557#(< ~counter~0 99)} #88#return; {49557#(< ~counter~0 99)} is VALID [2022-04-28 05:46:09,767 INFO L290 TraceCheckUtils]: 90: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 05:46:09,767 INFO L290 TraceCheckUtils]: 89: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 05:46:09,767 INFO L290 TraceCheckUtils]: 88: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 05:46:09,767 INFO L272 TraceCheckUtils]: 87: Hoare triple {49557#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 05:46:09,768 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {49164#true} {49557#(< ~counter~0 99)} #86#return; {49557#(< ~counter~0 99)} is VALID [2022-04-28 05:46:09,768 INFO L290 TraceCheckUtils]: 85: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 05:46:09,768 INFO L290 TraceCheckUtils]: 84: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 05:46:09,768 INFO L290 TraceCheckUtils]: 83: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 05:46:09,768 INFO L272 TraceCheckUtils]: 82: Hoare triple {49557#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 05:46:09,768 INFO L290 TraceCheckUtils]: 81: Hoare triple {49557#(< ~counter~0 99)} assume !!(#t~post7 < 100);havoc #t~post7; {49557#(< ~counter~0 99)} is VALID [2022-04-28 05:46:09,769 INFO L290 TraceCheckUtils]: 80: Hoare triple {49630#(< ~counter~0 98)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49557#(< ~counter~0 99)} is VALID [2022-04-28 05:46:09,769 INFO L290 TraceCheckUtils]: 79: Hoare triple {49630#(< ~counter~0 98)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {49630#(< ~counter~0 98)} is VALID [2022-04-28 05:46:09,770 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {49164#true} {49630#(< ~counter~0 98)} #92#return; {49630#(< ~counter~0 98)} is VALID [2022-04-28 05:46:09,770 INFO L290 TraceCheckUtils]: 77: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 05:46:09,770 INFO L290 TraceCheckUtils]: 76: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 05:46:09,770 INFO L290 TraceCheckUtils]: 75: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 05:46:09,770 INFO L272 TraceCheckUtils]: 74: Hoare triple {49630#(< ~counter~0 98)} 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)); {49164#true} is VALID [2022-04-28 05:46:09,771 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {49164#true} {49630#(< ~counter~0 98)} #90#return; {49630#(< ~counter~0 98)} is VALID [2022-04-28 05:46:09,771 INFO L290 TraceCheckUtils]: 72: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 05:46:09,771 INFO L290 TraceCheckUtils]: 71: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 05:46:09,771 INFO L290 TraceCheckUtils]: 70: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 05:46:09,771 INFO L272 TraceCheckUtils]: 69: Hoare triple {49630#(< ~counter~0 98)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 05:46:09,771 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {49164#true} {49630#(< ~counter~0 98)} #88#return; {49630#(< ~counter~0 98)} is VALID [2022-04-28 05:46:09,772 INFO L290 TraceCheckUtils]: 67: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 05:46:09,772 INFO L290 TraceCheckUtils]: 66: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 05:46:09,772 INFO L290 TraceCheckUtils]: 65: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 05:46:09,772 INFO L272 TraceCheckUtils]: 64: Hoare triple {49630#(< ~counter~0 98)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 05:46:09,772 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {49164#true} {49630#(< ~counter~0 98)} #86#return; {49630#(< ~counter~0 98)} is VALID [2022-04-28 05:46:09,772 INFO L290 TraceCheckUtils]: 62: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 05:46:09,772 INFO L290 TraceCheckUtils]: 61: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 05:46:09,772 INFO L290 TraceCheckUtils]: 60: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 05:46:09,773 INFO L272 TraceCheckUtils]: 59: Hoare triple {49630#(< ~counter~0 98)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 05:46:09,773 INFO L290 TraceCheckUtils]: 58: Hoare triple {49630#(< ~counter~0 98)} assume !!(#t~post7 < 100);havoc #t~post7; {49630#(< ~counter~0 98)} is VALID [2022-04-28 05:46:09,773 INFO L290 TraceCheckUtils]: 57: Hoare triple {49700#(< ~counter~0 97)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49630#(< ~counter~0 98)} is VALID [2022-04-28 05:46:09,774 INFO L290 TraceCheckUtils]: 56: Hoare triple {49700#(< ~counter~0 97)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {49700#(< ~counter~0 97)} is VALID [2022-04-28 05:46:09,774 INFO L290 TraceCheckUtils]: 55: Hoare triple {49700#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {49700#(< ~counter~0 97)} is VALID [2022-04-28 05:46:09,775 INFO L290 TraceCheckUtils]: 54: Hoare triple {49710#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49700#(< ~counter~0 97)} is VALID [2022-04-28 05:46:09,775 INFO L290 TraceCheckUtils]: 53: Hoare triple {49710#(< ~counter~0 96)} ~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; {49710#(< ~counter~0 96)} is VALID [2022-04-28 05:46:09,775 INFO L290 TraceCheckUtils]: 52: Hoare triple {49710#(< ~counter~0 96)} assume !(~c~0 >= ~b~0); {49710#(< ~counter~0 96)} is VALID [2022-04-28 05:46:09,776 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {49164#true} {49710#(< ~counter~0 96)} #92#return; {49710#(< ~counter~0 96)} is VALID [2022-04-28 05:46:09,776 INFO L290 TraceCheckUtils]: 50: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 05:46:09,776 INFO L290 TraceCheckUtils]: 49: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 05:46:09,776 INFO L290 TraceCheckUtils]: 48: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 05:46:09,776 INFO L272 TraceCheckUtils]: 47: Hoare triple {49710#(< ~counter~0 96)} 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)); {49164#true} is VALID [2022-04-28 05:46:09,777 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {49164#true} {49710#(< ~counter~0 96)} #90#return; {49710#(< ~counter~0 96)} is VALID [2022-04-28 05:46:09,777 INFO L290 TraceCheckUtils]: 45: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 05:46:09,777 INFO L290 TraceCheckUtils]: 44: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 05:46:09,777 INFO L290 TraceCheckUtils]: 43: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 05:46:09,777 INFO L272 TraceCheckUtils]: 42: Hoare triple {49710#(< ~counter~0 96)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 05:46:09,777 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {49164#true} {49710#(< ~counter~0 96)} #88#return; {49710#(< ~counter~0 96)} is VALID [2022-04-28 05:46:09,778 INFO L290 TraceCheckUtils]: 40: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 05:46:09,778 INFO L290 TraceCheckUtils]: 39: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 05:46:09,778 INFO L290 TraceCheckUtils]: 38: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 05:46:09,778 INFO L272 TraceCheckUtils]: 37: Hoare triple {49710#(< ~counter~0 96)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 05:46:09,778 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {49164#true} {49710#(< ~counter~0 96)} #86#return; {49710#(< ~counter~0 96)} is VALID [2022-04-28 05:46:09,778 INFO L290 TraceCheckUtils]: 35: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 05:46:09,778 INFO L290 TraceCheckUtils]: 34: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 05:46:09,778 INFO L290 TraceCheckUtils]: 33: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 05:46:09,779 INFO L272 TraceCheckUtils]: 32: Hoare triple {49710#(< ~counter~0 96)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 05:46:09,779 INFO L290 TraceCheckUtils]: 31: Hoare triple {49710#(< ~counter~0 96)} assume !!(#t~post7 < 100);havoc #t~post7; {49710#(< ~counter~0 96)} is VALID [2022-04-28 05:46:09,779 INFO L290 TraceCheckUtils]: 30: Hoare triple {49783#(< ~counter~0 95)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49710#(< ~counter~0 96)} is VALID [2022-04-28 05:46:09,780 INFO L290 TraceCheckUtils]: 29: Hoare triple {49783#(< ~counter~0 95)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {49783#(< ~counter~0 95)} is VALID [2022-04-28 05:46:09,780 INFO L290 TraceCheckUtils]: 28: Hoare triple {49783#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {49783#(< ~counter~0 95)} is VALID [2022-04-28 05:46:09,781 INFO L290 TraceCheckUtils]: 27: Hoare triple {49793#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49783#(< ~counter~0 95)} is VALID [2022-04-28 05:46:09,781 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {49164#true} {49793#(< ~counter~0 94)} #84#return; {49793#(< ~counter~0 94)} is VALID [2022-04-28 05:46:09,781 INFO L290 TraceCheckUtils]: 25: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 05:46:09,781 INFO L290 TraceCheckUtils]: 24: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 05:46:09,781 INFO L290 TraceCheckUtils]: 23: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 05:46:09,781 INFO L272 TraceCheckUtils]: 22: Hoare triple {49793#(< ~counter~0 94)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {49164#true} is VALID [2022-04-28 05:46:09,782 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {49164#true} {49793#(< ~counter~0 94)} #82#return; {49793#(< ~counter~0 94)} is VALID [2022-04-28 05:46:09,782 INFO L290 TraceCheckUtils]: 20: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 05:46:09,782 INFO L290 TraceCheckUtils]: 19: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 05:46:09,782 INFO L290 TraceCheckUtils]: 18: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 05:46:09,782 INFO L272 TraceCheckUtils]: 17: Hoare triple {49793#(< ~counter~0 94)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {49164#true} is VALID [2022-04-28 05:46:09,782 INFO L290 TraceCheckUtils]: 16: Hoare triple {49793#(< ~counter~0 94)} ~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; {49793#(< ~counter~0 94)} is VALID [2022-04-28 05:46:09,783 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {49164#true} {49793#(< ~counter~0 94)} #80#return; {49793#(< ~counter~0 94)} is VALID [2022-04-28 05:46:09,783 INFO L290 TraceCheckUtils]: 14: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 05:46:09,783 INFO L290 TraceCheckUtils]: 13: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 05:46:09,783 INFO L290 TraceCheckUtils]: 12: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 05:46:09,783 INFO L272 TraceCheckUtils]: 11: Hoare triple {49793#(< ~counter~0 94)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {49164#true} is VALID [2022-04-28 05:46:09,783 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {49164#true} {49793#(< ~counter~0 94)} #78#return; {49793#(< ~counter~0 94)} is VALID [2022-04-28 05:46:09,783 INFO L290 TraceCheckUtils]: 9: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 05:46:09,784 INFO L290 TraceCheckUtils]: 8: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 05:46:09,784 INFO L290 TraceCheckUtils]: 7: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 05:46:09,784 INFO L272 TraceCheckUtils]: 6: Hoare triple {49793#(< ~counter~0 94)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {49164#true} is VALID [2022-04-28 05:46:09,784 INFO L290 TraceCheckUtils]: 5: Hoare triple {49793#(< ~counter~0 94)} 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; {49793#(< ~counter~0 94)} is VALID [2022-04-28 05:46:09,784 INFO L272 TraceCheckUtils]: 4: Hoare triple {49793#(< ~counter~0 94)} call #t~ret8 := main(); {49793#(< ~counter~0 94)} is VALID [2022-04-28 05:46:09,785 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49793#(< ~counter~0 94)} {49164#true} #98#return; {49793#(< ~counter~0 94)} is VALID [2022-04-28 05:46:09,785 INFO L290 TraceCheckUtils]: 2: Hoare triple {49793#(< ~counter~0 94)} assume true; {49793#(< ~counter~0 94)} is VALID [2022-04-28 05:46:09,785 INFO L290 TraceCheckUtils]: 1: Hoare triple {49164#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);~counter~0 := 0; {49793#(< ~counter~0 94)} is VALID [2022-04-28 05:46:09,785 INFO L272 TraceCheckUtils]: 0: Hoare triple {49164#true} call ULTIMATE.init(); {49164#true} is VALID [2022-04-28 05:46:09,786 INFO L134 CoverageAnalysis]: Checked inductivity of 357 backedges. 32 proven. 37 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 05:46:09,786 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:46:09,786 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1840144439] [2022-04-28 05:46:09,786 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:46:09,786 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1206347543] [2022-04-28 05:46:09,786 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1206347543] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:46:09,786 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:46:09,786 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2022-04-28 05:46:09,786 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:46:09,786 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [851727264] [2022-04-28 05:46:09,786 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [851727264] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:46:09,787 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:46:09,787 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 05:46:09,787 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [318453370] [2022-04-28 05:46:09,787 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:46:09,787 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 116 [2022-04-28 05:46:09,787 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:46:09,787 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:46:09,856 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:46:09,856 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 05:46:09,856 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:46:09,856 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 05:46:09,857 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=181, Unknown=0, NotChecked=0, Total=306 [2022-04-28 05:46:09,857 INFO L87 Difference]: Start difference. First operand 474 states and 616 transitions. Second operand has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:46:11,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:46:11,503 INFO L93 Difference]: Finished difference Result 731 states and 966 transitions. [2022-04-28 05:46:11,503 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 05:46:11,503 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 116 [2022-04-28 05:46:11,503 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:46:11,504 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:46:11,505 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 175 transitions. [2022-04-28 05:46:11,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:46:11,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 175 transitions. [2022-04-28 05:46:11,507 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 175 transitions. [2022-04-28 05:46:11,663 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 175 edges. 175 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:46:11,681 INFO L225 Difference]: With dead ends: 731 [2022-04-28 05:46:11,681 INFO L226 Difference]: Without dead ends: 561 [2022-04-28 05:46:11,682 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 236 GetRequests, 215 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=205, Invalid=301, Unknown=0, NotChecked=0, Total=506 [2022-04-28 05:46:11,683 INFO L413 NwaCegarLoop]: 64 mSDtfsCounter, 76 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 92 mSolverCounterSat, 52 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 76 SdHoareTripleChecker+Valid, 222 SdHoareTripleChecker+Invalid, 144 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 52 IncrementalHoareTripleChecker+Valid, 92 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 05:46:11,683 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [76 Valid, 222 Invalid, 144 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [52 Valid, 92 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 05:46:11,684 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 561 states. [2022-04-28 05:46:12,843 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 561 to 553. [2022-04-28 05:46:12,844 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:46:12,845 INFO L82 GeneralOperation]: Start isEquivalent. First operand 561 states. Second operand has 553 states, 361 states have (on average 1.1911357340720221) internal successors, (430), 367 states have internal predecessors, (430), 133 states have call successors, (133), 59 states have call predecessors, (133), 58 states have return successors, (129), 126 states have call predecessors, (129), 129 states have call successors, (129) [2022-04-28 05:46:12,845 INFO L74 IsIncluded]: Start isIncluded. First operand 561 states. Second operand has 553 states, 361 states have (on average 1.1911357340720221) internal successors, (430), 367 states have internal predecessors, (430), 133 states have call successors, (133), 59 states have call predecessors, (133), 58 states have return successors, (129), 126 states have call predecessors, (129), 129 states have call successors, (129) [2022-04-28 05:46:12,846 INFO L87 Difference]: Start difference. First operand 561 states. Second operand has 553 states, 361 states have (on average 1.1911357340720221) internal successors, (430), 367 states have internal predecessors, (430), 133 states have call successors, (133), 59 states have call predecessors, (133), 58 states have return successors, (129), 126 states have call predecessors, (129), 129 states have call successors, (129) [2022-04-28 05:46:12,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:46:12,864 INFO L93 Difference]: Finished difference Result 561 states and 699 transitions. [2022-04-28 05:46:12,865 INFO L276 IsEmpty]: Start isEmpty. Operand 561 states and 699 transitions. [2022-04-28 05:46:12,865 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:46:12,865 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:46:12,866 INFO L74 IsIncluded]: Start isIncluded. First operand has 553 states, 361 states have (on average 1.1911357340720221) internal successors, (430), 367 states have internal predecessors, (430), 133 states have call successors, (133), 59 states have call predecessors, (133), 58 states have return successors, (129), 126 states have call predecessors, (129), 129 states have call successors, (129) Second operand 561 states. [2022-04-28 05:46:12,866 INFO L87 Difference]: Start difference. First operand has 553 states, 361 states have (on average 1.1911357340720221) internal successors, (430), 367 states have internal predecessors, (430), 133 states have call successors, (133), 59 states have call predecessors, (133), 58 states have return successors, (129), 126 states have call predecessors, (129), 129 states have call successors, (129) Second operand 561 states. [2022-04-28 05:46:12,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:46:12,884 INFO L93 Difference]: Finished difference Result 561 states and 699 transitions. [2022-04-28 05:46:12,884 INFO L276 IsEmpty]: Start isEmpty. Operand 561 states and 699 transitions. [2022-04-28 05:46:12,885 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:46:12,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:46:12,886 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:46:12,886 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:46:12,886 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 553 states, 361 states have (on average 1.1911357340720221) internal successors, (430), 367 states have internal predecessors, (430), 133 states have call successors, (133), 59 states have call predecessors, (133), 58 states have return successors, (129), 126 states have call predecessors, (129), 129 states have call successors, (129) [2022-04-28 05:46:12,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 553 states to 553 states and 692 transitions. [2022-04-28 05:46:12,909 INFO L78 Accepts]: Start accepts. Automaton has 553 states and 692 transitions. Word has length 116 [2022-04-28 05:46:12,909 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:46:12,909 INFO L495 AbstractCegarLoop]: Abstraction has 553 states and 692 transitions. [2022-04-28 05:46:12,909 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 05:46:12,909 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 553 states and 692 transitions. [2022-04-28 05:46:14,050 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 692 edges. 692 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:46:14,050 INFO L276 IsEmpty]: Start isEmpty. Operand 553 states and 692 transitions. [2022-04-28 05:46:14,051 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 119 [2022-04-28 05:46:14,051 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:46:14,051 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 4, 4, 4, 4, 4, 4, 4, 4, 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] [2022-04-28 05:46:14,069 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Forceful destruction successful, exit code 0 [2022-04-28 05:46:14,251 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29,30 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:46:14,251 INFO L420 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:46:14,251 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:46:14,252 INFO L85 PathProgramCache]: Analyzing trace with hash 1978671899, now seen corresponding path program 3 times [2022-04-28 05:46:14,252 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:46:14,252 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [289629921] [2022-04-28 05:46:14,252 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:46:14,252 INFO L85 PathProgramCache]: Analyzing trace with hash 1978671899, now seen corresponding path program 4 times [2022-04-28 05:46:14,252 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:46:14,252 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2004694298] [2022-04-28 05:46:14,252 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:46:14,252 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:46:14,264 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:46:14,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [427379819] [2022-04-28 05:46:14,264 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:46:14,265 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:46:14,265 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:46:14,266 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:46:14,271 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Waiting until timeout for monitored process [2022-04-28 05:46:14,340 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:46:14,340 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:46:14,341 INFO L263 TraceCheckSpWp]: Trace formula consists of 274 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 05:46:14,360 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:46:14,362 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:46:18,801 INFO L272 TraceCheckUtils]: 0: Hoare triple {53577#true} call ULTIMATE.init(); {53577#true} is VALID [2022-04-28 05:46:18,801 INFO L290 TraceCheckUtils]: 1: Hoare triple {53577#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);~counter~0 := 0; {53577#true} is VALID [2022-04-28 05:46:18,801 INFO L290 TraceCheckUtils]: 2: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:18,801 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53577#true} {53577#true} #98#return; {53577#true} is VALID [2022-04-28 05:46:18,801 INFO L272 TraceCheckUtils]: 4: Hoare triple {53577#true} call #t~ret8 := main(); {53577#true} is VALID [2022-04-28 05:46:18,801 INFO L290 TraceCheckUtils]: 5: Hoare triple {53577#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; {53577#true} is VALID [2022-04-28 05:46:18,802 INFO L272 TraceCheckUtils]: 6: Hoare triple {53577#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:18,802 INFO L290 TraceCheckUtils]: 7: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:18,802 INFO L290 TraceCheckUtils]: 8: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:18,802 INFO L290 TraceCheckUtils]: 9: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:18,802 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {53577#true} {53577#true} #78#return; {53577#true} is VALID [2022-04-28 05:46:18,802 INFO L272 TraceCheckUtils]: 11: Hoare triple {53577#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:18,802 INFO L290 TraceCheckUtils]: 12: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:18,802 INFO L290 TraceCheckUtils]: 13: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:18,802 INFO L290 TraceCheckUtils]: 14: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:18,802 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {53577#true} {53577#true} #80#return; {53577#true} is VALID [2022-04-28 05:46:18,803 INFO L290 TraceCheckUtils]: 16: Hoare triple {53577#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; {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 05:46:18,803 INFO L272 TraceCheckUtils]: 17: Hoare triple {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:18,803 INFO L290 TraceCheckUtils]: 18: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:18,803 INFO L290 TraceCheckUtils]: 19: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:18,803 INFO L290 TraceCheckUtils]: 20: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:18,803 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {53577#true} {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} #82#return; {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 05:46:18,803 INFO L272 TraceCheckUtils]: 22: Hoare triple {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:18,803 INFO L290 TraceCheckUtils]: 23: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:18,804 INFO L290 TraceCheckUtils]: 24: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:18,804 INFO L290 TraceCheckUtils]: 25: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:18,804 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {53577#true} {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} #84#return; {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 05:46:18,804 INFO L290 TraceCheckUtils]: 27: Hoare triple {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 05:46:18,805 INFO L290 TraceCheckUtils]: 28: Hoare triple {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 05:46:18,805 INFO L290 TraceCheckUtils]: 29: Hoare triple {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 05:46:18,806 INFO L290 TraceCheckUtils]: 30: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 05:46:18,806 INFO L290 TraceCheckUtils]: 31: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} assume !!(#t~post7 < 100);havoc #t~post7; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 05:46:18,806 INFO L272 TraceCheckUtils]: 32: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:18,806 INFO L290 TraceCheckUtils]: 33: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:18,806 INFO L290 TraceCheckUtils]: 34: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:18,806 INFO L290 TraceCheckUtils]: 35: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:18,807 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {53577#true} {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} #86#return; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 05:46:18,807 INFO L272 TraceCheckUtils]: 37: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:18,807 INFO L290 TraceCheckUtils]: 38: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:18,807 INFO L290 TraceCheckUtils]: 39: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:18,807 INFO L290 TraceCheckUtils]: 40: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:18,808 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {53577#true} {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} #88#return; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 05:46:18,808 INFO L272 TraceCheckUtils]: 42: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:18,808 INFO L290 TraceCheckUtils]: 43: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:18,808 INFO L290 TraceCheckUtils]: 44: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:18,808 INFO L290 TraceCheckUtils]: 45: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:18,809 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {53577#true} {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} #90#return; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 05:46:18,809 INFO L272 TraceCheckUtils]: 47: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= 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)); {53577#true} is VALID [2022-04-28 05:46:18,809 INFO L290 TraceCheckUtils]: 48: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:18,809 INFO L290 TraceCheckUtils]: 49: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:18,809 INFO L290 TraceCheckUtils]: 50: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:18,809 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {53577#true} {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} #92#return; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 05:46:18,810 INFO L290 TraceCheckUtils]: 52: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 05:46:18,810 INFO L290 TraceCheckUtils]: 53: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= 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; {53743#(= main_~s~0 0)} is VALID [2022-04-28 05:46:18,811 INFO L290 TraceCheckUtils]: 54: Hoare triple {53743#(= main_~s~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {53743#(= main_~s~0 0)} is VALID [2022-04-28 05:46:18,811 INFO L290 TraceCheckUtils]: 55: Hoare triple {53743#(= main_~s~0 0)} assume !!(#t~post6 < 100);havoc #t~post6; {53743#(= main_~s~0 0)} is VALID [2022-04-28 05:46:18,811 INFO L290 TraceCheckUtils]: 56: Hoare triple {53743#(= main_~s~0 0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {53743#(= main_~s~0 0)} is VALID [2022-04-28 05:46:18,811 INFO L290 TraceCheckUtils]: 57: Hoare triple {53743#(= main_~s~0 0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53743#(= main_~s~0 0)} is VALID [2022-04-28 05:46:18,812 INFO L290 TraceCheckUtils]: 58: Hoare triple {53743#(= main_~s~0 0)} assume !!(#t~post7 < 100);havoc #t~post7; {53743#(= main_~s~0 0)} is VALID [2022-04-28 05:46:18,812 INFO L272 TraceCheckUtils]: 59: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:18,812 INFO L290 TraceCheckUtils]: 60: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:18,812 INFO L290 TraceCheckUtils]: 61: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:18,812 INFO L290 TraceCheckUtils]: 62: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:18,812 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {53577#true} {53743#(= main_~s~0 0)} #86#return; {53743#(= main_~s~0 0)} is VALID [2022-04-28 05:46:18,813 INFO L272 TraceCheckUtils]: 64: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:18,813 INFO L290 TraceCheckUtils]: 65: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:18,813 INFO L290 TraceCheckUtils]: 66: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:18,813 INFO L290 TraceCheckUtils]: 67: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:18,813 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {53577#true} {53743#(= main_~s~0 0)} #88#return; {53743#(= main_~s~0 0)} is VALID [2022-04-28 05:46:18,813 INFO L272 TraceCheckUtils]: 69: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:18,813 INFO L290 TraceCheckUtils]: 70: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:18,813 INFO L290 TraceCheckUtils]: 71: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:18,814 INFO L290 TraceCheckUtils]: 72: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:18,814 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {53577#true} {53743#(= main_~s~0 0)} #90#return; {53743#(= main_~s~0 0)} is VALID [2022-04-28 05:46:18,814 INFO L272 TraceCheckUtils]: 74: Hoare triple {53743#(= main_~s~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)); {53577#true} is VALID [2022-04-28 05:46:18,814 INFO L290 TraceCheckUtils]: 75: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:18,814 INFO L290 TraceCheckUtils]: 76: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:18,814 INFO L290 TraceCheckUtils]: 77: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:18,815 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {53577#true} {53743#(= main_~s~0 0)} #92#return; {53743#(= main_~s~0 0)} is VALID [2022-04-28 05:46:18,815 INFO L290 TraceCheckUtils]: 79: Hoare triple {53743#(= main_~s~0 0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {53743#(= main_~s~0 0)} is VALID [2022-04-28 05:46:18,815 INFO L290 TraceCheckUtils]: 80: Hoare triple {53743#(= main_~s~0 0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53743#(= main_~s~0 0)} is VALID [2022-04-28 05:46:18,816 INFO L290 TraceCheckUtils]: 81: Hoare triple {53743#(= main_~s~0 0)} assume !!(#t~post7 < 100);havoc #t~post7; {53743#(= main_~s~0 0)} is VALID [2022-04-28 05:46:18,816 INFO L272 TraceCheckUtils]: 82: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:18,816 INFO L290 TraceCheckUtils]: 83: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:18,816 INFO L290 TraceCheckUtils]: 84: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:18,816 INFO L290 TraceCheckUtils]: 85: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:18,816 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {53577#true} {53743#(= main_~s~0 0)} #86#return; {53743#(= main_~s~0 0)} is VALID [2022-04-28 05:46:18,817 INFO L272 TraceCheckUtils]: 87: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:18,817 INFO L290 TraceCheckUtils]: 88: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:18,817 INFO L290 TraceCheckUtils]: 89: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:18,817 INFO L290 TraceCheckUtils]: 90: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:18,817 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {53577#true} {53743#(= main_~s~0 0)} #88#return; {53743#(= main_~s~0 0)} is VALID [2022-04-28 05:46:18,817 INFO L272 TraceCheckUtils]: 92: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:18,818 INFO L290 TraceCheckUtils]: 93: Hoare triple {53577#true} ~cond := #in~cond; {53864#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:46:18,818 INFO L290 TraceCheckUtils]: 94: Hoare triple {53864#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:46:18,818 INFO L290 TraceCheckUtils]: 95: Hoare triple {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:46:18,819 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} {53743#(= main_~s~0 0)} #90#return; {53875#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:46:18,819 INFO L272 TraceCheckUtils]: 97: Hoare triple {53875#(and (= main_~s~0 0) (= 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)); {53577#true} is VALID [2022-04-28 05:46:18,820 INFO L290 TraceCheckUtils]: 98: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:18,820 INFO L290 TraceCheckUtils]: 99: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:18,820 INFO L290 TraceCheckUtils]: 100: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:18,821 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {53577#true} {53875#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #92#return; {53875#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:46:18,821 INFO L290 TraceCheckUtils]: 102: Hoare triple {53875#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {53875#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:46:18,822 INFO L290 TraceCheckUtils]: 103: Hoare triple {53875#(and (= main_~s~0 0) (= 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; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:46:18,822 INFO L290 TraceCheckUtils]: 104: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:46:18,823 INFO L290 TraceCheckUtils]: 105: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:46:18,823 INFO L290 TraceCheckUtils]: 106: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:46:18,824 INFO L290 TraceCheckUtils]: 107: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:46:18,824 INFO L290 TraceCheckUtils]: 108: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:46:18,824 INFO L272 TraceCheckUtils]: 109: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:18,824 INFO L290 TraceCheckUtils]: 110: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:18,824 INFO L290 TraceCheckUtils]: 111: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:18,825 INFO L290 TraceCheckUtils]: 112: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:18,825 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {53577#true} {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} #86#return; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:46:18,826 INFO L272 TraceCheckUtils]: 114: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~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)); {53931#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:46:18,827 INFO L290 TraceCheckUtils]: 115: Hoare triple {53931#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {53935#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:46:18,827 INFO L290 TraceCheckUtils]: 116: Hoare triple {53935#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {53578#false} is VALID [2022-04-28 05:46:18,827 INFO L290 TraceCheckUtils]: 117: Hoare triple {53578#false} assume !false; {53578#false} is VALID [2022-04-28 05:46:18,828 INFO L134 CoverageAnalysis]: Checked inductivity of 405 backedges. 57 proven. 43 refuted. 0 times theorem prover too weak. 305 trivial. 0 not checked. [2022-04-28 05:46:18,828 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:46:32,920 INFO L290 TraceCheckUtils]: 117: Hoare triple {53578#false} assume !false; {53578#false} is VALID [2022-04-28 05:46:32,920 INFO L290 TraceCheckUtils]: 116: Hoare triple {53935#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {53578#false} is VALID [2022-04-28 05:46:32,921 INFO L290 TraceCheckUtils]: 115: Hoare triple {53931#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {53935#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:46:32,921 INFO L272 TraceCheckUtils]: 114: Hoare triple {53951#(= 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)); {53931#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:46:32,922 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {53577#true} {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #86#return; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:46:32,922 INFO L290 TraceCheckUtils]: 112: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:32,922 INFO L290 TraceCheckUtils]: 111: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:32,922 INFO L290 TraceCheckUtils]: 110: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:32,922 INFO L272 TraceCheckUtils]: 109: Hoare triple {53951#(= 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)); {53577#true} is VALID [2022-04-28 05:46:32,923 INFO L290 TraceCheckUtils]: 108: Hoare triple {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:46:32,930 INFO L290 TraceCheckUtils]: 107: Hoare triple {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:46:32,930 INFO L290 TraceCheckUtils]: 106: Hoare triple {53951#(= 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; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:46:32,930 INFO L290 TraceCheckUtils]: 105: Hoare triple {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:46:32,931 INFO L290 TraceCheckUtils]: 104: Hoare triple {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:46:32,931 INFO L290 TraceCheckUtils]: 103: Hoare triple {53985#(= 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; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:46:32,932 INFO L290 TraceCheckUtils]: 102: Hoare triple {53985#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {53985#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:46:32,932 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {53577#true} {53985#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #92#return; {53985#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:46:32,932 INFO L290 TraceCheckUtils]: 100: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:32,932 INFO L290 TraceCheckUtils]: 99: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:32,932 INFO L290 TraceCheckUtils]: 98: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:32,932 INFO L272 TraceCheckUtils]: 97: Hoare triple {53985#(= 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)); {53577#true} is VALID [2022-04-28 05:46:32,933 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} {53577#true} #90#return; {53985#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:46:32,933 INFO L290 TraceCheckUtils]: 95: Hoare triple {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:46:32,934 INFO L290 TraceCheckUtils]: 94: Hoare triple {54016#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:46:32,934 INFO L290 TraceCheckUtils]: 93: Hoare triple {53577#true} ~cond := #in~cond; {54016#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:46:32,934 INFO L272 TraceCheckUtils]: 92: Hoare triple {53577#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:32,934 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {53577#true} {53577#true} #88#return; {53577#true} is VALID [2022-04-28 05:46:32,934 INFO L290 TraceCheckUtils]: 90: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:32,934 INFO L290 TraceCheckUtils]: 89: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:32,934 INFO L290 TraceCheckUtils]: 88: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:32,934 INFO L272 TraceCheckUtils]: 87: Hoare triple {53577#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:32,934 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {53577#true} {53577#true} #86#return; {53577#true} is VALID [2022-04-28 05:46:32,935 INFO L290 TraceCheckUtils]: 85: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:32,935 INFO L290 TraceCheckUtils]: 84: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:32,935 INFO L290 TraceCheckUtils]: 83: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:32,935 INFO L272 TraceCheckUtils]: 82: Hoare triple {53577#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:32,935 INFO L290 TraceCheckUtils]: 81: Hoare triple {53577#true} assume !!(#t~post7 < 100);havoc #t~post7; {53577#true} is VALID [2022-04-28 05:46:32,935 INFO L290 TraceCheckUtils]: 80: Hoare triple {53577#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53577#true} is VALID [2022-04-28 05:46:32,935 INFO L290 TraceCheckUtils]: 79: Hoare triple {53577#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {53577#true} is VALID [2022-04-28 05:46:32,935 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {53577#true} {53577#true} #92#return; {53577#true} is VALID [2022-04-28 05:46:32,935 INFO L290 TraceCheckUtils]: 77: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:32,935 INFO L290 TraceCheckUtils]: 76: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:32,935 INFO L290 TraceCheckUtils]: 75: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:32,935 INFO L272 TraceCheckUtils]: 74: Hoare triple {53577#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)); {53577#true} is VALID [2022-04-28 05:46:32,935 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {53577#true} {53577#true} #90#return; {53577#true} is VALID [2022-04-28 05:46:32,935 INFO L290 TraceCheckUtils]: 72: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:32,935 INFO L290 TraceCheckUtils]: 71: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:32,936 INFO L290 TraceCheckUtils]: 70: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:32,936 INFO L272 TraceCheckUtils]: 69: Hoare triple {53577#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:32,936 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {53577#true} {53577#true} #88#return; {53577#true} is VALID [2022-04-28 05:46:32,936 INFO L290 TraceCheckUtils]: 67: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:32,936 INFO L290 TraceCheckUtils]: 66: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:32,936 INFO L290 TraceCheckUtils]: 65: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:32,936 INFO L272 TraceCheckUtils]: 64: Hoare triple {53577#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:32,936 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {53577#true} {53577#true} #86#return; {53577#true} is VALID [2022-04-28 05:46:32,936 INFO L290 TraceCheckUtils]: 62: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:32,936 INFO L290 TraceCheckUtils]: 61: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:32,936 INFO L290 TraceCheckUtils]: 60: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:32,936 INFO L272 TraceCheckUtils]: 59: Hoare triple {53577#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:32,936 INFO L290 TraceCheckUtils]: 58: Hoare triple {53577#true} assume !!(#t~post7 < 100);havoc #t~post7; {53577#true} is VALID [2022-04-28 05:46:32,936 INFO L290 TraceCheckUtils]: 57: Hoare triple {53577#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53577#true} is VALID [2022-04-28 05:46:32,936 INFO L290 TraceCheckUtils]: 56: Hoare triple {53577#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {53577#true} is VALID [2022-04-28 05:46:32,937 INFO L290 TraceCheckUtils]: 55: Hoare triple {53577#true} assume !!(#t~post6 < 100);havoc #t~post6; {53577#true} is VALID [2022-04-28 05:46:32,937 INFO L290 TraceCheckUtils]: 54: Hoare triple {53577#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {53577#true} is VALID [2022-04-28 05:46:32,937 INFO L290 TraceCheckUtils]: 53: Hoare triple {53577#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; {53577#true} is VALID [2022-04-28 05:46:32,937 INFO L290 TraceCheckUtils]: 52: Hoare triple {53577#true} assume !(~c~0 >= ~b~0); {53577#true} is VALID [2022-04-28 05:46:32,937 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {53577#true} {53577#true} #92#return; {53577#true} is VALID [2022-04-28 05:46:32,937 INFO L290 TraceCheckUtils]: 50: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:32,937 INFO L290 TraceCheckUtils]: 49: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:32,937 INFO L290 TraceCheckUtils]: 48: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:32,937 INFO L272 TraceCheckUtils]: 47: Hoare triple {53577#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)); {53577#true} is VALID [2022-04-28 05:46:32,937 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {53577#true} {53577#true} #90#return; {53577#true} is VALID [2022-04-28 05:46:32,937 INFO L290 TraceCheckUtils]: 45: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:32,937 INFO L290 TraceCheckUtils]: 44: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:32,937 INFO L290 TraceCheckUtils]: 43: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:32,937 INFO L272 TraceCheckUtils]: 42: Hoare triple {53577#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:32,937 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {53577#true} {53577#true} #88#return; {53577#true} is VALID [2022-04-28 05:46:32,938 INFO L290 TraceCheckUtils]: 40: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:32,938 INFO L290 TraceCheckUtils]: 39: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:32,938 INFO L290 TraceCheckUtils]: 38: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:32,938 INFO L272 TraceCheckUtils]: 37: Hoare triple {53577#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:32,938 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {53577#true} {53577#true} #86#return; {53577#true} is VALID [2022-04-28 05:46:32,938 INFO L290 TraceCheckUtils]: 35: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:32,938 INFO L290 TraceCheckUtils]: 34: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:32,938 INFO L290 TraceCheckUtils]: 33: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:32,938 INFO L272 TraceCheckUtils]: 32: Hoare triple {53577#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:32,938 INFO L290 TraceCheckUtils]: 31: Hoare triple {53577#true} assume !!(#t~post7 < 100);havoc #t~post7; {53577#true} is VALID [2022-04-28 05:46:32,938 INFO L290 TraceCheckUtils]: 30: Hoare triple {53577#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53577#true} is VALID [2022-04-28 05:46:32,938 INFO L290 TraceCheckUtils]: 29: Hoare triple {53577#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {53577#true} is VALID [2022-04-28 05:46:32,938 INFO L290 TraceCheckUtils]: 28: Hoare triple {53577#true} assume !!(#t~post6 < 100);havoc #t~post6; {53577#true} is VALID [2022-04-28 05:46:32,938 INFO L290 TraceCheckUtils]: 27: Hoare triple {53577#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {53577#true} is VALID [2022-04-28 05:46:32,938 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {53577#true} {53577#true} #84#return; {53577#true} is VALID [2022-04-28 05:46:32,939 INFO L290 TraceCheckUtils]: 25: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:32,939 INFO L290 TraceCheckUtils]: 24: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:32,939 INFO L290 TraceCheckUtils]: 23: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:32,939 INFO L272 TraceCheckUtils]: 22: Hoare triple {53577#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:32,939 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {53577#true} {53577#true} #82#return; {53577#true} is VALID [2022-04-28 05:46:32,939 INFO L290 TraceCheckUtils]: 20: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:32,939 INFO L290 TraceCheckUtils]: 19: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:32,939 INFO L290 TraceCheckUtils]: 18: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:32,939 INFO L272 TraceCheckUtils]: 17: Hoare triple {53577#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:32,939 INFO L290 TraceCheckUtils]: 16: Hoare triple {53577#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; {53577#true} is VALID [2022-04-28 05:46:32,939 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {53577#true} {53577#true} #80#return; {53577#true} is VALID [2022-04-28 05:46:32,939 INFO L290 TraceCheckUtils]: 14: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:32,939 INFO L290 TraceCheckUtils]: 13: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:32,939 INFO L290 TraceCheckUtils]: 12: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:32,939 INFO L272 TraceCheckUtils]: 11: Hoare triple {53577#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:32,940 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {53577#true} {53577#true} #78#return; {53577#true} is VALID [2022-04-28 05:46:32,940 INFO L290 TraceCheckUtils]: 9: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:32,940 INFO L290 TraceCheckUtils]: 8: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 05:46:32,940 INFO L290 TraceCheckUtils]: 7: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 05:46:32,940 INFO L272 TraceCheckUtils]: 6: Hoare triple {53577#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {53577#true} is VALID [2022-04-28 05:46:32,940 INFO L290 TraceCheckUtils]: 5: Hoare triple {53577#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; {53577#true} is VALID [2022-04-28 05:46:32,940 INFO L272 TraceCheckUtils]: 4: Hoare triple {53577#true} call #t~ret8 := main(); {53577#true} is VALID [2022-04-28 05:46:32,940 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53577#true} {53577#true} #98#return; {53577#true} is VALID [2022-04-28 05:46:32,940 INFO L290 TraceCheckUtils]: 2: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 05:46:32,940 INFO L290 TraceCheckUtils]: 1: Hoare triple {53577#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);~counter~0 := 0; {53577#true} is VALID [2022-04-28 05:46:32,940 INFO L272 TraceCheckUtils]: 0: Hoare triple {53577#true} call ULTIMATE.init(); {53577#true} is VALID [2022-04-28 05:46:32,941 INFO L134 CoverageAnalysis]: Checked inductivity of 405 backedges. 78 proven. 7 refuted. 0 times theorem prover too weak. 320 trivial. 0 not checked. [2022-04-28 05:46:32,941 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:46:32,941 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2004694298] [2022-04-28 05:46:32,941 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:46:32,941 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [427379819] [2022-04-28 05:46:32,941 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [427379819] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:46:32,941 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:46:32,941 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 14 [2022-04-28 05:46:32,941 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:46:32,941 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [289629921] [2022-04-28 05:46:32,941 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [289629921] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:46:32,941 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:46:32,941 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 05:46:32,942 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [109210005] [2022-04-28 05:46:32,942 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:46:32,942 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 118 [2022-04-28 05:46:32,942 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:46:32,942 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:46:33,006 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 05:46:33,007 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 05:46:33,007 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:46:33,007 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 05:46:33,007 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=149, Unknown=0, NotChecked=0, Total=182 [2022-04-28 05:46:33,007 INFO L87 Difference]: Start difference. First operand 553 states and 692 transitions. Second operand has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:46:35,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:46:35,600 INFO L93 Difference]: Finished difference Result 606 states and 774 transitions. [2022-04-28 05:46:35,600 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 05:46:35,600 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 118 [2022-04-28 05:46:35,600 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:46:35,600 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:46:35,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 127 transitions. [2022-04-28 05:46:35,601 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:46:35,602 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 127 transitions. [2022-04-28 05:46:35,602 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 127 transitions. [2022-04-28 05:46:35,730 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:46:35,746 INFO L225 Difference]: With dead ends: 606 [2022-04-28 05:46:35,746 INFO L226 Difference]: Without dead ends: 603 [2022-04-28 05:46:35,747 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 239 GetRequests, 222 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=58, Invalid=248, Unknown=0, NotChecked=0, Total=306 [2022-04-28 05:46:35,747 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 33 mSDsluCounter, 287 mSDsCounter, 0 mSdLazyCounter, 393 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 344 SdHoareTripleChecker+Invalid, 423 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 393 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 05:46:35,747 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 344 Invalid, 423 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 393 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 05:46:35,748 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 603 states. [2022-04-28 05:46:36,974 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 603 to 596. [2022-04-28 05:46:36,974 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:46:36,975 INFO L82 GeneralOperation]: Start isEquivalent. First operand 603 states. Second operand has 596 states, 386 states have (on average 1.2098445595854923) internal successors, (467), 393 states have internal predecessors, (467), 150 states have call successors, (150), 60 states have call predecessors, (150), 59 states have return successors, (146), 142 states have call predecessors, (146), 146 states have call successors, (146) [2022-04-28 05:46:36,975 INFO L74 IsIncluded]: Start isIncluded. First operand 603 states. Second operand has 596 states, 386 states have (on average 1.2098445595854923) internal successors, (467), 393 states have internal predecessors, (467), 150 states have call successors, (150), 60 states have call predecessors, (150), 59 states have return successors, (146), 142 states have call predecessors, (146), 146 states have call successors, (146) [2022-04-28 05:46:36,976 INFO L87 Difference]: Start difference. First operand 603 states. Second operand has 596 states, 386 states have (on average 1.2098445595854923) internal successors, (467), 393 states have internal predecessors, (467), 150 states have call successors, (150), 60 states have call predecessors, (150), 59 states have return successors, (146), 142 states have call predecessors, (146), 146 states have call successors, (146) [2022-04-28 05:46:36,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:46:36,989 INFO L93 Difference]: Finished difference Result 603 states and 770 transitions. [2022-04-28 05:46:36,989 INFO L276 IsEmpty]: Start isEmpty. Operand 603 states and 770 transitions. [2022-04-28 05:46:36,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:46:36,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:46:36,990 INFO L74 IsIncluded]: Start isIncluded. First operand has 596 states, 386 states have (on average 1.2098445595854923) internal successors, (467), 393 states have internal predecessors, (467), 150 states have call successors, (150), 60 states have call predecessors, (150), 59 states have return successors, (146), 142 states have call predecessors, (146), 146 states have call successors, (146) Second operand 603 states. [2022-04-28 05:46:36,991 INFO L87 Difference]: Start difference. First operand has 596 states, 386 states have (on average 1.2098445595854923) internal successors, (467), 393 states have internal predecessors, (467), 150 states have call successors, (150), 60 states have call predecessors, (150), 59 states have return successors, (146), 142 states have call predecessors, (146), 146 states have call successors, (146) Second operand 603 states. [2022-04-28 05:46:37,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:46:37,013 INFO L93 Difference]: Finished difference Result 603 states and 770 transitions. [2022-04-28 05:46:37,013 INFO L276 IsEmpty]: Start isEmpty. Operand 603 states and 770 transitions. [2022-04-28 05:46:37,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:46:37,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:46:37,015 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:46:37,015 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:46:37,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 596 states, 386 states have (on average 1.2098445595854923) internal successors, (467), 393 states have internal predecessors, (467), 150 states have call successors, (150), 60 states have call predecessors, (150), 59 states have return successors, (146), 142 states have call predecessors, (146), 146 states have call successors, (146) [2022-04-28 05:46:37,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 596 states to 596 states and 763 transitions. [2022-04-28 05:46:37,041 INFO L78 Accepts]: Start accepts. Automaton has 596 states and 763 transitions. Word has length 118 [2022-04-28 05:46:37,041 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:46:37,042 INFO L495 AbstractCegarLoop]: Abstraction has 596 states and 763 transitions. [2022-04-28 05:46:37,042 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:46:37,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 596 states and 763 transitions. [2022-04-28 05:46:38,451 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 763 edges. 763 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:46:38,452 INFO L276 IsEmpty]: Start isEmpty. Operand 596 states and 763 transitions. [2022-04-28 05:46:38,452 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 125 [2022-04-28 05:46:38,452 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:46:38,452 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 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 05:46:38,469 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Forceful destruction successful, exit code 0 [2022-04-28 05:46:38,655 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 31 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable30 [2022-04-28 05:46:38,655 INFO L420 AbstractCegarLoop]: === Iteration 32 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:46:38,656 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:46:38,656 INFO L85 PathProgramCache]: Analyzing trace with hash 992936989, now seen corresponding path program 5 times [2022-04-28 05:46:38,656 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:46:38,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [3495888] [2022-04-28 05:46:38,656 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:46:38,656 INFO L85 PathProgramCache]: Analyzing trace with hash 992936989, now seen corresponding path program 6 times [2022-04-28 05:46:38,656 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:46:38,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [152249514] [2022-04-28 05:46:38,657 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:46:38,657 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:46:38,670 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:46:38,670 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [406752798] [2022-04-28 05:46:38,670 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:46:38,670 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:46:38,671 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:46:38,671 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:46:38,672 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Waiting until timeout for monitored process [2022-04-28 05:46:39,046 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 05:46:39,046 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:46:39,048 INFO L263 TraceCheckSpWp]: Trace formula consists of 238 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-28 05:46:39,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:46:39,071 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:47:00,768 INFO L272 TraceCheckUtils]: 0: Hoare triple {57916#true} call ULTIMATE.init(); {57916#true} is VALID [2022-04-28 05:47:00,768 INFO L290 TraceCheckUtils]: 1: Hoare triple {57916#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);~counter~0 := 0; {57916#true} is VALID [2022-04-28 05:47:00,768 INFO L290 TraceCheckUtils]: 2: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 05:47:00,768 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57916#true} {57916#true} #98#return; {57916#true} is VALID [2022-04-28 05:47:00,768 INFO L272 TraceCheckUtils]: 4: Hoare triple {57916#true} call #t~ret8 := main(); {57916#true} is VALID [2022-04-28 05:47:00,768 INFO L290 TraceCheckUtils]: 5: Hoare triple {57916#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; {57916#true} is VALID [2022-04-28 05:47:00,768 INFO L272 TraceCheckUtils]: 6: Hoare triple {57916#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {57916#true} is VALID [2022-04-28 05:47:00,768 INFO L290 TraceCheckUtils]: 7: Hoare triple {57916#true} ~cond := #in~cond; {57942#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:47:00,769 INFO L290 TraceCheckUtils]: 8: Hoare triple {57942#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {57946#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:47:00,769 INFO L290 TraceCheckUtils]: 9: Hoare triple {57946#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {57946#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:47:00,769 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {57946#(not (= |assume_abort_if_not_#in~cond| 0))} {57916#true} #78#return; {57953#(<= 1 main_~x~0)} is VALID [2022-04-28 05:47:00,770 INFO L272 TraceCheckUtils]: 11: Hoare triple {57953#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {57916#true} is VALID [2022-04-28 05:47:00,770 INFO L290 TraceCheckUtils]: 12: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 05:47:00,770 INFO L290 TraceCheckUtils]: 13: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 05:47:00,770 INFO L290 TraceCheckUtils]: 14: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 05:47:00,770 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {57916#true} {57953#(<= 1 main_~x~0)} #80#return; {57953#(<= 1 main_~x~0)} is VALID [2022-04-28 05:47:00,771 INFO L290 TraceCheckUtils]: 16: Hoare triple {57953#(<= 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; {57972#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,771 INFO L272 TraceCheckUtils]: 17: Hoare triple {57972#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {57916#true} is VALID [2022-04-28 05:47:00,771 INFO L290 TraceCheckUtils]: 18: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 05:47:00,771 INFO L290 TraceCheckUtils]: 19: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 05:47:00,771 INFO L290 TraceCheckUtils]: 20: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 05:47:00,771 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {57916#true} {57972#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #82#return; {57972#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,772 INFO L272 TraceCheckUtils]: 22: Hoare triple {57972#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {57916#true} is VALID [2022-04-28 05:47:00,772 INFO L290 TraceCheckUtils]: 23: Hoare triple {57916#true} ~cond := #in~cond; {57942#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:47:00,772 INFO L290 TraceCheckUtils]: 24: Hoare triple {57942#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {57946#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:47:00,772 INFO L290 TraceCheckUtils]: 25: Hoare triple {57946#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {57946#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:47:00,773 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {57946#(not (= |assume_abort_if_not_#in~cond| 0))} {57972#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #84#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,774 INFO L290 TraceCheckUtils]: 27: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,774 INFO L290 TraceCheckUtils]: 28: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,775 INFO L290 TraceCheckUtils]: 29: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,775 INFO L290 TraceCheckUtils]: 30: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,775 INFO L290 TraceCheckUtils]: 31: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,776 INFO L272 TraceCheckUtils]: 32: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 05:47:00,776 INFO L290 TraceCheckUtils]: 33: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 05:47:00,776 INFO L290 TraceCheckUtils]: 34: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 05:47:00,776 INFO L290 TraceCheckUtils]: 35: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 05:47:00,776 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #86#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,777 INFO L272 TraceCheckUtils]: 37: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 05:47:00,777 INFO L290 TraceCheckUtils]: 38: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 05:47:00,777 INFO L290 TraceCheckUtils]: 39: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 05:47:00,777 INFO L290 TraceCheckUtils]: 40: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 05:47:00,777 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #88#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,777 INFO L272 TraceCheckUtils]: 42: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 05:47:00,778 INFO L290 TraceCheckUtils]: 43: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 05:47:00,778 INFO L290 TraceCheckUtils]: 44: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 05:47:00,778 INFO L290 TraceCheckUtils]: 45: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 05:47:00,778 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #90#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,778 INFO L272 TraceCheckUtils]: 47: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= 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)); {57916#true} is VALID [2022-04-28 05:47:00,778 INFO L290 TraceCheckUtils]: 48: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 05:47:00,779 INFO L290 TraceCheckUtils]: 49: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 05:47:00,779 INFO L290 TraceCheckUtils]: 50: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 05:47:00,779 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #92#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,780 INFO L290 TraceCheckUtils]: 52: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,780 INFO L290 TraceCheckUtils]: 53: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,781 INFO L290 TraceCheckUtils]: 54: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,781 INFO L272 TraceCheckUtils]: 55: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 05:47:00,781 INFO L290 TraceCheckUtils]: 56: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 05:47:00,781 INFO L290 TraceCheckUtils]: 57: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 05:47:00,781 INFO L290 TraceCheckUtils]: 58: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 05:47:00,782 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #86#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,782 INFO L272 TraceCheckUtils]: 60: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 05:47:00,782 INFO L290 TraceCheckUtils]: 61: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 05:47:00,782 INFO L290 TraceCheckUtils]: 62: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 05:47:00,782 INFO L290 TraceCheckUtils]: 63: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 05:47:00,782 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #88#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,783 INFO L272 TraceCheckUtils]: 65: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 05:47:00,783 INFO L290 TraceCheckUtils]: 66: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 05:47:00,783 INFO L290 TraceCheckUtils]: 67: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 05:47:00,783 INFO L290 TraceCheckUtils]: 68: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 05:47:00,783 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #90#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,783 INFO L272 TraceCheckUtils]: 70: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= 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)); {57916#true} is VALID [2022-04-28 05:47:00,784 INFO L290 TraceCheckUtils]: 71: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 05:47:00,784 INFO L290 TraceCheckUtils]: 72: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 05:47:00,784 INFO L290 TraceCheckUtils]: 73: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 05:47:00,784 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #92#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,786 INFO L290 TraceCheckUtils]: 75: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,786 INFO L290 TraceCheckUtils]: 76: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,787 INFO L290 TraceCheckUtils]: 77: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,787 INFO L272 TraceCheckUtils]: 78: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 05:47:00,787 INFO L290 TraceCheckUtils]: 79: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 05:47:00,787 INFO L290 TraceCheckUtils]: 80: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 05:47:00,787 INFO L290 TraceCheckUtils]: 81: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 05:47:00,788 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {57916#true} {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #86#return; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,788 INFO L272 TraceCheckUtils]: 83: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 05:47:00,788 INFO L290 TraceCheckUtils]: 84: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 05:47:00,788 INFO L290 TraceCheckUtils]: 85: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 05:47:00,788 INFO L290 TraceCheckUtils]: 86: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 05:47:00,789 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {57916#true} {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #88#return; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,789 INFO L272 TraceCheckUtils]: 88: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 05:47:00,789 INFO L290 TraceCheckUtils]: 89: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 05:47:00,789 INFO L290 TraceCheckUtils]: 90: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 05:47:00,789 INFO L290 TraceCheckUtils]: 91: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 05:47:00,790 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {57916#true} {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #90#return; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,790 INFO L272 TraceCheckUtils]: 93: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= 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)); {57916#true} is VALID [2022-04-28 05:47:00,790 INFO L290 TraceCheckUtils]: 94: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 05:47:00,790 INFO L290 TraceCheckUtils]: 95: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 05:47:00,790 INFO L290 TraceCheckUtils]: 96: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 05:47:00,790 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {57916#true} {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #92#return; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,791 INFO L290 TraceCheckUtils]: 98: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {58221#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (not (<= main_~y~0 main_~c~0)) (<= 0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 05:47:00,792 INFO L290 TraceCheckUtils]: 99: Hoare triple {58221#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (not (<= main_~y~0 main_~c~0)) (<= 0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= 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; {58225#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 05:47:00,792 INFO L290 TraceCheckUtils]: 100: Hoare triple {58225#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {58225#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 05:47:00,795 INFO L290 TraceCheckUtils]: 101: Hoare triple {58225#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} assume !!(#t~post6 < 100);havoc #t~post6; {58225#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 05:47:00,796 INFO L290 TraceCheckUtils]: 102: Hoare triple {58225#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 05:47:00,796 INFO L290 TraceCheckUtils]: 103: Hoare triple {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 05:47:00,796 INFO L290 TraceCheckUtils]: 104: Hoare triple {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} assume !!(#t~post7 < 100);havoc #t~post7; {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 05:47:00,797 INFO L272 TraceCheckUtils]: 105: Hoare triple {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 05:47:00,797 INFO L290 TraceCheckUtils]: 106: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 05:47:00,797 INFO L290 TraceCheckUtils]: 107: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 05:47:00,797 INFO L290 TraceCheckUtils]: 108: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 05:47:00,797 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {57916#true} {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} #86#return; {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 05:47:00,797 INFO L272 TraceCheckUtils]: 110: Hoare triple {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 05:47:00,798 INFO L290 TraceCheckUtils]: 111: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 05:47:00,798 INFO L290 TraceCheckUtils]: 112: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 05:47:00,798 INFO L290 TraceCheckUtils]: 113: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 05:47:00,798 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {57916#true} {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} #88#return; {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 05:47:00,798 INFO L272 TraceCheckUtils]: 115: Hoare triple {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 05:47:00,799 INFO L290 TraceCheckUtils]: 116: Hoare triple {57916#true} ~cond := #in~cond; {58278#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:47:00,799 INFO L290 TraceCheckUtils]: 117: Hoare triple {58278#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {58282#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:47:00,799 INFO L290 TraceCheckUtils]: 118: Hoare triple {58282#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {58282#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:47:00,800 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {58282#(not (= |__VERIFIER_assert_#in~cond| 0))} {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} #90#return; {58289#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 05:47:00,804 INFO L272 TraceCheckUtils]: 120: Hoare triple {58289#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} 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)); {58293#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:47:00,805 INFO L290 TraceCheckUtils]: 121: Hoare triple {58293#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {58297#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:47:00,805 INFO L290 TraceCheckUtils]: 122: Hoare triple {58297#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {57917#false} is VALID [2022-04-28 05:47:00,805 INFO L290 TraceCheckUtils]: 123: Hoare triple {57917#false} assume !false; {57917#false} is VALID [2022-04-28 05:47:00,806 INFO L134 CoverageAnalysis]: Checked inductivity of 516 backedges. 91 proven. 28 refuted. 0 times theorem prover too weak. 397 trivial. 0 not checked. [2022-04-28 05:47:00,806 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:47:48,297 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:47:48,298 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [152249514] [2022-04-28 05:47:48,298 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:47:48,298 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [406752798] [2022-04-28 05:47:48,298 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [406752798] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 05:47:48,298 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:47:48,298 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-28 05:47:48,299 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:47:48,299 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [3495888] [2022-04-28 05:47:48,299 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [3495888] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:47:48,299 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:47:48,299 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 05:47:48,299 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1963641977] [2022-04-28 05:47:48,299 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:47:48,301 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 124 [2022-04-28 05:47:48,301 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:47:48,302 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:47:48,393 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 05:47:48,393 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 05:47:48,393 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:47:48,393 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 05:47:48,394 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=103, Invalid=403, Unknown=0, NotChecked=0, Total=506 [2022-04-28 05:47:48,394 INFO L87 Difference]: Start difference. First operand 596 states and 763 transitions. Second operand has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:47:50,954 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.91s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 05:48:05,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:48:05,316 INFO L93 Difference]: Finished difference Result 619 states and 791 transitions. [2022-04-28 05:48:05,316 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 05:48:05,316 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 124 [2022-04-28 05:48:05,316 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:48:05,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:48:05,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 111 transitions. [2022-04-28 05:48:05,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:48:05,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 111 transitions. [2022-04-28 05:48:05,318 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 111 transitions. [2022-04-28 05:48:05,469 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:48:05,485 INFO L225 Difference]: With dead ends: 619 [2022-04-28 05:48:05,485 INFO L226 Difference]: Without dead ends: 615 [2022-04-28 05:48:05,485 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 177 GetRequests, 151 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 165 ImplicationChecksByTransitivity, 6.8s TimeCoverageRelationStatistics Valid=133, Invalid=569, Unknown=0, NotChecked=0, Total=702 [2022-04-28 05:48:05,486 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 54 mSDsluCounter, 268 mSDsCounter, 0 mSdLazyCounter, 624 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 64 SdHoareTripleChecker+Valid, 318 SdHoareTripleChecker+Invalid, 656 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 624 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:48:05,486 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [64 Valid, 318 Invalid, 656 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 624 Invalid, 0 Unknown, 0 Unchecked, 5.1s Time] [2022-04-28 05:48:05,486 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 615 states. [2022-04-28 05:48:06,870 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 615 to 609. [2022-04-28 05:48:06,871 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:48:06,871 INFO L82 GeneralOperation]: Start isEquivalent. First operand 615 states. Second operand has 609 states, 394 states have (on average 1.2081218274111676) internal successors, (476), 400 states have internal predecessors, (476), 154 states have call successors, (154), 62 states have call predecessors, (154), 60 states have return successors, (150), 146 states have call predecessors, (150), 150 states have call successors, (150) [2022-04-28 05:48:06,872 INFO L74 IsIncluded]: Start isIncluded. First operand 615 states. Second operand has 609 states, 394 states have (on average 1.2081218274111676) internal successors, (476), 400 states have internal predecessors, (476), 154 states have call successors, (154), 62 states have call predecessors, (154), 60 states have return successors, (150), 146 states have call predecessors, (150), 150 states have call successors, (150) [2022-04-28 05:48:06,872 INFO L87 Difference]: Start difference. First operand 615 states. Second operand has 609 states, 394 states have (on average 1.2081218274111676) internal successors, (476), 400 states have internal predecessors, (476), 154 states have call successors, (154), 62 states have call predecessors, (154), 60 states have return successors, (150), 146 states have call predecessors, (150), 150 states have call successors, (150) [2022-04-28 05:48:06,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:48:06,887 INFO L93 Difference]: Finished difference Result 615 states and 786 transitions. [2022-04-28 05:48:06,887 INFO L276 IsEmpty]: Start isEmpty. Operand 615 states and 786 transitions. [2022-04-28 05:48:06,888 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:48:06,888 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:48:06,889 INFO L74 IsIncluded]: Start isIncluded. First operand has 609 states, 394 states have (on average 1.2081218274111676) internal successors, (476), 400 states have internal predecessors, (476), 154 states have call successors, (154), 62 states have call predecessors, (154), 60 states have return successors, (150), 146 states have call predecessors, (150), 150 states have call successors, (150) Second operand 615 states. [2022-04-28 05:48:06,889 INFO L87 Difference]: Start difference. First operand has 609 states, 394 states have (on average 1.2081218274111676) internal successors, (476), 400 states have internal predecessors, (476), 154 states have call successors, (154), 62 states have call predecessors, (154), 60 states have return successors, (150), 146 states have call predecessors, (150), 150 states have call successors, (150) Second operand 615 states. [2022-04-28 05:48:06,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:48:06,903 INFO L93 Difference]: Finished difference Result 615 states and 786 transitions. [2022-04-28 05:48:06,903 INFO L276 IsEmpty]: Start isEmpty. Operand 615 states and 786 transitions. [2022-04-28 05:48:06,903 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:48:06,904 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:48:06,904 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:48:06,904 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:48:06,904 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 609 states, 394 states have (on average 1.2081218274111676) internal successors, (476), 400 states have internal predecessors, (476), 154 states have call successors, (154), 62 states have call predecessors, (154), 60 states have return successors, (150), 146 states have call predecessors, (150), 150 states have call successors, (150) [2022-04-28 05:48:06,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 609 states to 609 states and 780 transitions. [2022-04-28 05:48:06,922 INFO L78 Accepts]: Start accepts. Automaton has 609 states and 780 transitions. Word has length 124 [2022-04-28 05:48:06,922 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:48:06,922 INFO L495 AbstractCegarLoop]: Abstraction has 609 states and 780 transitions. [2022-04-28 05:48:06,922 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 05:48:06,922 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 609 states and 780 transitions. [2022-04-28 05:48:08,401 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 780 edges. 780 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:48:08,401 INFO L276 IsEmpty]: Start isEmpty. Operand 609 states and 780 transitions. [2022-04-28 05:48:08,401 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 124 [2022-04-28 05:48:08,401 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:48:08,402 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 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 05:48:08,407 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Forceful destruction successful, exit code 0 [2022-04-28 05:48:08,602 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable31,32 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:48:08,602 INFO L420 AbstractCegarLoop]: === Iteration 33 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:48:08,602 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:48:08,603 INFO L85 PathProgramCache]: Analyzing trace with hash -1110867224, now seen corresponding path program 7 times [2022-04-28 05:48:08,603 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:48:08,603 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1691980063] [2022-04-28 05:48:08,603 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:48:08,603 INFO L85 PathProgramCache]: Analyzing trace with hash -1110867224, now seen corresponding path program 8 times [2022-04-28 05:48:08,603 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:48:08,603 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1910766096] [2022-04-28 05:48:08,604 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:48:08,604 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:48:08,613 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:48:08,613 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1332070777] [2022-04-28 05:48:08,613 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:48:08,613 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:48:08,613 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:48:08,614 INFO L229 MonitoredProcess]: Starting monitored process 33 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:48:08,615 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Waiting until timeout for monitored process [2022-04-28 05:48:08,679 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:48:08,679 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:48:08,680 INFO L263 TraceCheckSpWp]: Trace formula consists of 331 conjuncts, 71 conjunts are in the unsatisfiable core [2022-04-28 05:48:08,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:48:08,711 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:48:24,176 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:48:30,434 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:48:30,726 INFO L272 TraceCheckUtils]: 0: Hoare triple {62154#true} call ULTIMATE.init(); {62154#true} is VALID [2022-04-28 05:48:30,727 INFO L290 TraceCheckUtils]: 1: Hoare triple {62154#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);~counter~0 := 0; {62154#true} is VALID [2022-04-28 05:48:30,727 INFO L290 TraceCheckUtils]: 2: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:48:30,727 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {62154#true} {62154#true} #98#return; {62154#true} is VALID [2022-04-28 05:48:30,727 INFO L272 TraceCheckUtils]: 4: Hoare triple {62154#true} call #t~ret8 := main(); {62154#true} is VALID [2022-04-28 05:48:30,727 INFO L290 TraceCheckUtils]: 5: Hoare triple {62154#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; {62154#true} is VALID [2022-04-28 05:48:30,727 INFO L272 TraceCheckUtils]: 6: Hoare triple {62154#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:48:30,727 INFO L290 TraceCheckUtils]: 7: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:48:30,727 INFO L290 TraceCheckUtils]: 8: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:48:30,727 INFO L290 TraceCheckUtils]: 9: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:48:30,727 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {62154#true} {62154#true} #78#return; {62154#true} is VALID [2022-04-28 05:48:30,727 INFO L272 TraceCheckUtils]: 11: Hoare triple {62154#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:48:30,727 INFO L290 TraceCheckUtils]: 12: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:48:30,728 INFO L290 TraceCheckUtils]: 13: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:48:30,728 INFO L290 TraceCheckUtils]: 14: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:48:30,728 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {62154#true} {62154#true} #80#return; {62154#true} is VALID [2022-04-28 05:48:30,728 INFO L290 TraceCheckUtils]: 16: Hoare triple {62154#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; {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:48:30,728 INFO L272 TraceCheckUtils]: 17: Hoare triple {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:48:30,728 INFO L290 TraceCheckUtils]: 18: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:48:30,728 INFO L290 TraceCheckUtils]: 19: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:48:30,728 INFO L290 TraceCheckUtils]: 20: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:48:30,729 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {62154#true} {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #82#return; {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:48:30,729 INFO L272 TraceCheckUtils]: 22: Hoare triple {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:48:30,729 INFO L290 TraceCheckUtils]: 23: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:48:30,729 INFO L290 TraceCheckUtils]: 24: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:48:30,729 INFO L290 TraceCheckUtils]: 25: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:48:30,730 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {62154#true} {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #84#return; {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:48:30,730 INFO L290 TraceCheckUtils]: 27: Hoare triple {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:48:30,731 INFO L290 TraceCheckUtils]: 28: Hoare triple {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:48:30,731 INFO L290 TraceCheckUtils]: 29: Hoare triple {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:48:30,731 INFO L290 TraceCheckUtils]: 30: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:48:30,732 INFO L290 TraceCheckUtils]: 31: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !!(#t~post7 < 100);havoc #t~post7; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:48:30,732 INFO L272 TraceCheckUtils]: 32: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:48:30,732 INFO L290 TraceCheckUtils]: 33: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:48:30,732 INFO L290 TraceCheckUtils]: 34: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:48:30,732 INFO L290 TraceCheckUtils]: 35: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:48:30,733 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {62154#true} {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #86#return; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:48:30,733 INFO L272 TraceCheckUtils]: 37: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:48:30,733 INFO L290 TraceCheckUtils]: 38: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:48:30,733 INFO L290 TraceCheckUtils]: 39: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:48:30,733 INFO L290 TraceCheckUtils]: 40: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:48:30,734 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {62154#true} {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #88#return; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:48:30,734 INFO L272 TraceCheckUtils]: 42: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:48:30,734 INFO L290 TraceCheckUtils]: 43: Hoare triple {62154#true} ~cond := #in~cond; {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:48:30,734 INFO L290 TraceCheckUtils]: 44: Hoare triple {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:48:30,735 INFO L290 TraceCheckUtils]: 45: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:48:30,735 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #90#return; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:48:30,735 INFO L272 TraceCheckUtils]: 47: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} 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)); {62154#true} is VALID [2022-04-28 05:48:30,735 INFO L290 TraceCheckUtils]: 48: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:48:30,735 INFO L290 TraceCheckUtils]: 49: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:48:30,736 INFO L290 TraceCheckUtils]: 50: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:48:30,736 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {62154#true} {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #92#return; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:48:30,737 INFO L290 TraceCheckUtils]: 52: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:48:30,737 INFO L290 TraceCheckUtils]: 53: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~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; {62322#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:48:30,737 INFO L290 TraceCheckUtils]: 54: Hoare triple {62322#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {62322#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:48:30,738 INFO L290 TraceCheckUtils]: 55: Hoare triple {62322#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {62322#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:48:30,738 INFO L290 TraceCheckUtils]: 56: Hoare triple {62322#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:48:30,739 INFO L290 TraceCheckUtils]: 57: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:48:30,739 INFO L290 TraceCheckUtils]: 58: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(#t~post7 < 100);havoc #t~post7; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:48:30,739 INFO L272 TraceCheckUtils]: 59: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:48:30,739 INFO L290 TraceCheckUtils]: 60: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:48:30,739 INFO L290 TraceCheckUtils]: 61: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:48:30,739 INFO L290 TraceCheckUtils]: 62: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:48:30,740 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {62154#true} {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #86#return; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:48:30,740 INFO L272 TraceCheckUtils]: 64: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:48:30,740 INFO L290 TraceCheckUtils]: 65: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:48:30,740 INFO L290 TraceCheckUtils]: 66: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:48:30,740 INFO L290 TraceCheckUtils]: 67: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:48:30,741 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {62154#true} {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #88#return; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:48:30,741 INFO L272 TraceCheckUtils]: 69: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:48:30,741 INFO L290 TraceCheckUtils]: 70: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:48:30,741 INFO L290 TraceCheckUtils]: 71: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:48:30,741 INFO L290 TraceCheckUtils]: 72: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:48:30,742 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {62154#true} {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #90#return; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:48:30,742 INFO L272 TraceCheckUtils]: 74: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} 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)); {62154#true} is VALID [2022-04-28 05:48:30,742 INFO L290 TraceCheckUtils]: 75: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:48:30,742 INFO L290 TraceCheckUtils]: 76: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:48:30,742 INFO L290 TraceCheckUtils]: 77: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:48:30,743 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {62154#true} {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #92#return; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:48:30,744 INFO L290 TraceCheckUtils]: 79: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} is VALID [2022-04-28 05:48:30,744 INFO L290 TraceCheckUtils]: 80: Hoare triple {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} is VALID [2022-04-28 05:48:30,745 INFO L290 TraceCheckUtils]: 81: Hoare triple {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} is VALID [2022-04-28 05:48:30,745 INFO L272 TraceCheckUtils]: 82: Hoare triple {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:48:30,746 INFO L290 TraceCheckUtils]: 83: Hoare triple {62154#true} ~cond := #in~cond; {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:48:30,746 INFO L290 TraceCheckUtils]: 84: Hoare triple {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:48:30,746 INFO L290 TraceCheckUtils]: 85: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:48:30,747 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} #86#return; {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} is VALID [2022-04-28 05:48:30,747 INFO L272 TraceCheckUtils]: 87: Hoare triple {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:48:30,747 INFO L290 TraceCheckUtils]: 88: Hoare triple {62154#true} ~cond := #in~cond; {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:48:30,748 INFO L290 TraceCheckUtils]: 89: Hoare triple {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:48:30,748 INFO L290 TraceCheckUtils]: 90: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:48:30,749 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} #88#return; {62439#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:48:30,749 INFO L272 TraceCheckUtils]: 92: Hoare triple {62439#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:48:30,749 INFO L290 TraceCheckUtils]: 93: Hoare triple {62154#true} ~cond := #in~cond; {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:48:30,750 INFO L290 TraceCheckUtils]: 94: Hoare triple {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:48:30,750 INFO L290 TraceCheckUtils]: 95: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:48:30,751 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62439#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} #90#return; {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:48:30,751 INFO L272 TraceCheckUtils]: 97: Hoare triple {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~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)); {62154#true} is VALID [2022-04-28 05:48:30,751 INFO L290 TraceCheckUtils]: 98: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:48:30,751 INFO L290 TraceCheckUtils]: 99: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:48:30,751 INFO L290 TraceCheckUtils]: 100: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:48:30,752 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {62154#true} {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))))} #92#return; {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:48:30,752 INFO L290 TraceCheckUtils]: 102: Hoare triple {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:48:30,758 INFO L290 TraceCheckUtils]: 103: Hoare triple {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~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; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 05:48:30,758 INFO L290 TraceCheckUtils]: 104: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 05:48:30,760 INFO L290 TraceCheckUtils]: 105: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 05:48:30,760 INFO L290 TraceCheckUtils]: 106: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 05:48:30,761 INFO L290 TraceCheckUtils]: 107: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 05:48:30,762 INFO L290 TraceCheckUtils]: 108: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 05:48:30,762 INFO L272 TraceCheckUtils]: 109: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:48:30,762 INFO L290 TraceCheckUtils]: 110: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:48:30,762 INFO L290 TraceCheckUtils]: 111: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:48:30,762 INFO L290 TraceCheckUtils]: 112: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:48:30,763 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {62154#true} {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} #86#return; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 05:48:30,763 INFO L272 TraceCheckUtils]: 114: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:48:30,763 INFO L290 TraceCheckUtils]: 115: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:48:30,763 INFO L290 TraceCheckUtils]: 116: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:48:30,763 INFO L290 TraceCheckUtils]: 117: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:48:30,764 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {62154#true} {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} #88#return; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 05:48:30,767 INFO L272 TraceCheckUtils]: 119: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62526#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:48:30,767 INFO L290 TraceCheckUtils]: 120: Hoare triple {62526#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {62530#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:48:30,768 INFO L290 TraceCheckUtils]: 121: Hoare triple {62530#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {62155#false} is VALID [2022-04-28 05:48:30,768 INFO L290 TraceCheckUtils]: 122: Hoare triple {62155#false} assume !false; {62155#false} is VALID [2022-04-28 05:48:30,768 INFO L134 CoverageAnalysis]: Checked inductivity of 462 backedges. 93 proven. 101 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-28 05:48:30,768 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:50:02,946 INFO L290 TraceCheckUtils]: 122: Hoare triple {62155#false} assume !false; {62155#false} is VALID [2022-04-28 05:50:02,947 INFO L290 TraceCheckUtils]: 121: Hoare triple {62530#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {62155#false} is VALID [2022-04-28 05:50:02,947 INFO L290 TraceCheckUtils]: 120: Hoare triple {62526#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {62530#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:50:02,948 INFO L272 TraceCheckUtils]: 119: Hoare triple {62546#(= 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)); {62526#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:50:02,949 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {62154#true} {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #88#return; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:50:02,949 INFO L290 TraceCheckUtils]: 117: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:50:02,949 INFO L290 TraceCheckUtils]: 116: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:50:02,949 INFO L290 TraceCheckUtils]: 115: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:50:02,949 INFO L272 TraceCheckUtils]: 114: Hoare triple {62546#(= 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)); {62154#true} is VALID [2022-04-28 05:50:02,950 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {62154#true} {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #86#return; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:50:02,950 INFO L290 TraceCheckUtils]: 112: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:50:02,950 INFO L290 TraceCheckUtils]: 111: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:50:02,950 INFO L290 TraceCheckUtils]: 110: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:50:02,950 INFO L272 TraceCheckUtils]: 109: Hoare triple {62546#(= 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)); {62154#true} is VALID [2022-04-28 05:50:02,950 INFO L290 TraceCheckUtils]: 108: Hoare triple {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:50:02,951 INFO L290 TraceCheckUtils]: 107: Hoare triple {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:50:02,951 INFO L290 TraceCheckUtils]: 106: Hoare triple {62546#(= 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; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:50:02,951 INFO L290 TraceCheckUtils]: 105: Hoare triple {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:50:02,952 INFO L290 TraceCheckUtils]: 104: Hoare triple {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:50:04,953 WARN L290 TraceCheckUtils]: 103: Hoare triple {62595#(= (+ (* (+ (* (* main_~k~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; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-28 05:50:04,954 INFO L290 TraceCheckUtils]: 102: Hoare triple {62595#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} assume !(~c~0 >= ~b~0); {62595#(= (+ (* (+ (* (* main_~k~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 05:50:04,955 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {62154#true} {62595#(= (+ (* (+ (* (* main_~k~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)} #92#return; {62595#(= (+ (* (+ (* (* main_~k~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 05:50:04,955 INFO L290 TraceCheckUtils]: 100: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:50:04,955 INFO L290 TraceCheckUtils]: 99: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:50:04,955 INFO L290 TraceCheckUtils]: 98: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:50:04,955 INFO L272 TraceCheckUtils]: 97: Hoare triple {62595#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:50:04,956 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62617#(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)))))} #90#return; {62595#(= (+ (* (+ (* (* main_~k~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 05:50:04,956 INFO L290 TraceCheckUtils]: 95: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:04,957 INFO L290 TraceCheckUtils]: 94: Hoare triple {62627#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:04,957 INFO L290 TraceCheckUtils]: 93: Hoare triple {62154#true} ~cond := #in~cond; {62627#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:50:04,957 INFO L272 TraceCheckUtils]: 92: Hoare triple {62617#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:50:04,958 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62634#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #88#return; {62617#(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 05:50:04,958 INFO L290 TraceCheckUtils]: 90: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:04,959 INFO L290 TraceCheckUtils]: 89: Hoare triple {62627#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:04,959 INFO L290 TraceCheckUtils]: 88: Hoare triple {62154#true} ~cond := #in~cond; {62627#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:50:04,959 INFO L272 TraceCheckUtils]: 87: Hoare triple {62634#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:50:04,975 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62154#true} #86#return; {62634#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:50:04,976 INFO L290 TraceCheckUtils]: 85: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:04,976 INFO L290 TraceCheckUtils]: 84: Hoare triple {62627#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:04,976 INFO L290 TraceCheckUtils]: 83: Hoare triple {62154#true} ~cond := #in~cond; {62627#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:50:04,977 INFO L272 TraceCheckUtils]: 82: Hoare triple {62154#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:50:04,977 INFO L290 TraceCheckUtils]: 81: Hoare triple {62154#true} assume !!(#t~post7 < 100);havoc #t~post7; {62154#true} is VALID [2022-04-28 05:50:04,977 INFO L290 TraceCheckUtils]: 80: Hoare triple {62154#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62154#true} is VALID [2022-04-28 05:50:04,977 INFO L290 TraceCheckUtils]: 79: Hoare triple {62154#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {62154#true} is VALID [2022-04-28 05:50:04,977 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {62154#true} {62154#true} #92#return; {62154#true} is VALID [2022-04-28 05:50:04,977 INFO L290 TraceCheckUtils]: 77: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:50:04,977 INFO L290 TraceCheckUtils]: 76: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:50:04,977 INFO L290 TraceCheckUtils]: 75: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:50:04,977 INFO L272 TraceCheckUtils]: 74: Hoare triple {62154#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)); {62154#true} is VALID [2022-04-28 05:50:04,977 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {62154#true} {62154#true} #90#return; {62154#true} is VALID [2022-04-28 05:50:04,977 INFO L290 TraceCheckUtils]: 72: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:50:04,977 INFO L290 TraceCheckUtils]: 71: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:50:04,977 INFO L290 TraceCheckUtils]: 70: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:50:04,977 INFO L272 TraceCheckUtils]: 69: Hoare triple {62154#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:50:04,977 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {62154#true} {62154#true} #88#return; {62154#true} is VALID [2022-04-28 05:50:04,978 INFO L290 TraceCheckUtils]: 67: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:50:04,978 INFO L290 TraceCheckUtils]: 66: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:50:04,978 INFO L290 TraceCheckUtils]: 65: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:50:04,978 INFO L272 TraceCheckUtils]: 64: Hoare triple {62154#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:50:04,978 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {62154#true} {62154#true} #86#return; {62154#true} is VALID [2022-04-28 05:50:04,978 INFO L290 TraceCheckUtils]: 62: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:50:04,978 INFO L290 TraceCheckUtils]: 61: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:50:04,978 INFO L290 TraceCheckUtils]: 60: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:50:04,978 INFO L272 TraceCheckUtils]: 59: Hoare triple {62154#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:50:04,978 INFO L290 TraceCheckUtils]: 58: Hoare triple {62154#true} assume !!(#t~post7 < 100);havoc #t~post7; {62154#true} is VALID [2022-04-28 05:50:04,978 INFO L290 TraceCheckUtils]: 57: Hoare triple {62154#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62154#true} is VALID [2022-04-28 05:50:04,978 INFO L290 TraceCheckUtils]: 56: Hoare triple {62154#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {62154#true} is VALID [2022-04-28 05:50:04,978 INFO L290 TraceCheckUtils]: 55: Hoare triple {62154#true} assume !!(#t~post6 < 100);havoc #t~post6; {62154#true} is VALID [2022-04-28 05:50:04,978 INFO L290 TraceCheckUtils]: 54: Hoare triple {62154#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {62154#true} is VALID [2022-04-28 05:50:04,978 INFO L290 TraceCheckUtils]: 53: Hoare triple {62154#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; {62154#true} is VALID [2022-04-28 05:50:04,979 INFO L290 TraceCheckUtils]: 52: Hoare triple {62154#true} assume !(~c~0 >= ~b~0); {62154#true} is VALID [2022-04-28 05:50:04,979 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {62154#true} {62154#true} #92#return; {62154#true} is VALID [2022-04-28 05:50:04,979 INFO L290 TraceCheckUtils]: 50: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:50:04,979 INFO L290 TraceCheckUtils]: 49: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:50:04,979 INFO L290 TraceCheckUtils]: 48: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:50:04,979 INFO L272 TraceCheckUtils]: 47: Hoare triple {62154#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)); {62154#true} is VALID [2022-04-28 05:50:04,979 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {62154#true} {62154#true} #90#return; {62154#true} is VALID [2022-04-28 05:50:04,979 INFO L290 TraceCheckUtils]: 45: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:50:04,979 INFO L290 TraceCheckUtils]: 44: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:50:04,979 INFO L290 TraceCheckUtils]: 43: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:50:04,979 INFO L272 TraceCheckUtils]: 42: Hoare triple {62154#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:50:04,979 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {62154#true} {62154#true} #88#return; {62154#true} is VALID [2022-04-28 05:50:04,979 INFO L290 TraceCheckUtils]: 40: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:50:04,979 INFO L290 TraceCheckUtils]: 39: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:50:04,979 INFO L290 TraceCheckUtils]: 38: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:50:04,979 INFO L272 TraceCheckUtils]: 37: Hoare triple {62154#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:50:04,980 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {62154#true} {62154#true} #86#return; {62154#true} is VALID [2022-04-28 05:50:04,980 INFO L290 TraceCheckUtils]: 35: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:50:04,980 INFO L290 TraceCheckUtils]: 34: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:50:04,980 INFO L290 TraceCheckUtils]: 33: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:50:04,980 INFO L272 TraceCheckUtils]: 32: Hoare triple {62154#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:50:04,980 INFO L290 TraceCheckUtils]: 31: Hoare triple {62154#true} assume !!(#t~post7 < 100);havoc #t~post7; {62154#true} is VALID [2022-04-28 05:50:04,980 INFO L290 TraceCheckUtils]: 30: Hoare triple {62154#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62154#true} is VALID [2022-04-28 05:50:04,980 INFO L290 TraceCheckUtils]: 29: Hoare triple {62154#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {62154#true} is VALID [2022-04-28 05:50:04,980 INFO L290 TraceCheckUtils]: 28: Hoare triple {62154#true} assume !!(#t~post6 < 100);havoc #t~post6; {62154#true} is VALID [2022-04-28 05:50:04,980 INFO L290 TraceCheckUtils]: 27: Hoare triple {62154#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {62154#true} is VALID [2022-04-28 05:50:04,980 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {62154#true} {62154#true} #84#return; {62154#true} is VALID [2022-04-28 05:50:04,980 INFO L290 TraceCheckUtils]: 25: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:50:04,980 INFO L290 TraceCheckUtils]: 24: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:50:04,980 INFO L290 TraceCheckUtils]: 23: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:50:04,980 INFO L272 TraceCheckUtils]: 22: Hoare triple {62154#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:50:04,981 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {62154#true} {62154#true} #82#return; {62154#true} is VALID [2022-04-28 05:50:04,981 INFO L290 TraceCheckUtils]: 20: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:50:04,981 INFO L290 TraceCheckUtils]: 19: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:50:04,981 INFO L290 TraceCheckUtils]: 18: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:50:04,981 INFO L272 TraceCheckUtils]: 17: Hoare triple {62154#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:50:04,981 INFO L290 TraceCheckUtils]: 16: Hoare triple {62154#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; {62154#true} is VALID [2022-04-28 05:50:04,981 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {62154#true} {62154#true} #80#return; {62154#true} is VALID [2022-04-28 05:50:04,981 INFO L290 TraceCheckUtils]: 14: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:50:04,981 INFO L290 TraceCheckUtils]: 13: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:50:04,981 INFO L290 TraceCheckUtils]: 12: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:50:04,981 INFO L272 TraceCheckUtils]: 11: Hoare triple {62154#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:50:04,981 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {62154#true} {62154#true} #78#return; {62154#true} is VALID [2022-04-28 05:50:04,981 INFO L290 TraceCheckUtils]: 9: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:50:04,981 INFO L290 TraceCheckUtils]: 8: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 05:50:04,981 INFO L290 TraceCheckUtils]: 7: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 05:50:04,981 INFO L272 TraceCheckUtils]: 6: Hoare triple {62154#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {62154#true} is VALID [2022-04-28 05:50:04,982 INFO L290 TraceCheckUtils]: 5: Hoare triple {62154#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; {62154#true} is VALID [2022-04-28 05:50:04,982 INFO L272 TraceCheckUtils]: 4: Hoare triple {62154#true} call #t~ret8 := main(); {62154#true} is VALID [2022-04-28 05:50:04,982 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {62154#true} {62154#true} #98#return; {62154#true} is VALID [2022-04-28 05:50:04,982 INFO L290 TraceCheckUtils]: 2: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 05:50:04,982 INFO L290 TraceCheckUtils]: 1: Hoare triple {62154#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);~counter~0 := 0; {62154#true} is VALID [2022-04-28 05:50:04,982 INFO L272 TraceCheckUtils]: 0: Hoare triple {62154#true} call ULTIMATE.init(); {62154#true} is VALID [2022-04-28 05:50:04,982 INFO L134 CoverageAnalysis]: Checked inductivity of 462 backedges. 125 proven. 32 refuted. 0 times theorem prover too weak. 305 trivial. 0 not checked. [2022-04-28 05:50:04,982 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:50:04,982 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1910766096] [2022-04-28 05:50:04,982 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:50:04,983 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1332070777] [2022-04-28 05:50:04,983 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1332070777] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:50:04,983 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:50:04,983 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 10] total 19 [2022-04-28 05:50:04,983 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:50:04,983 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1691980063] [2022-04-28 05:50:04,983 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1691980063] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:50:04,983 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:50:04,983 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 05:50:04,983 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [308442998] [2022-04-28 05:50:04,983 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:50:04,984 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) Word has length 123 [2022-04-28 05:50:04,984 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:50:04,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 05:50:05,080 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 05:50:05,080 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 05:50:05,080 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:50:05,080 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 05:50:05,080 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=284, Unknown=0, NotChecked=0, Total=342 [2022-04-28 05:50:05,080 INFO L87 Difference]: Start difference. First operand 609 states and 780 transitions. Second operand has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 05:50:08,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:50:08,982 INFO L93 Difference]: Finished difference Result 638 states and 824 transitions. [2022-04-28 05:50:08,982 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 05:50:08,982 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) Word has length 123 [2022-04-28 05:50:08,982 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:50:08,982 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 05:50:08,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 138 transitions. [2022-04-28 05:50:08,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 05:50:08,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 138 transitions. [2022-04-28 05:50:08,985 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 138 transitions. [2022-04-28 05:50:09,165 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:50:09,183 INFO L225 Difference]: With dead ends: 638 [2022-04-28 05:50:09,183 INFO L226 Difference]: Without dead ends: 636 [2022-04-28 05:50:09,183 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 249 GetRequests, 226 SyntacticMatches, 2 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=87, Invalid=419, Unknown=0, NotChecked=0, Total=506 [2022-04-28 05:50:09,183 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 38 mSDsluCounter, 331 mSDsCounter, 0 mSdLazyCounter, 659 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 389 SdHoareTripleChecker+Invalid, 693 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 659 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:50:09,184 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 389 Invalid, 693 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 659 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 05:50:09,184 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 636 states. [2022-04-28 05:50:10,632 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 636 to 632. [2022-04-28 05:50:10,632 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:50:10,633 INFO L82 GeneralOperation]: Start isEquivalent. First operand 636 states. Second operand has 632 states, 404 states have (on average 1.2128712871287128) internal successors, (490), 410 states have internal predecessors, (490), 166 states have call successors, (166), 63 states have call predecessors, (166), 61 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) [2022-04-28 05:50:10,633 INFO L74 IsIncluded]: Start isIncluded. First operand 636 states. Second operand has 632 states, 404 states have (on average 1.2128712871287128) internal successors, (490), 410 states have internal predecessors, (490), 166 states have call successors, (166), 63 states have call predecessors, (166), 61 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) [2022-04-28 05:50:10,633 INFO L87 Difference]: Start difference. First operand 636 states. Second operand has 632 states, 404 states have (on average 1.2128712871287128) internal successors, (490), 410 states have internal predecessors, (490), 166 states have call successors, (166), 63 states have call predecessors, (166), 61 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) [2022-04-28 05:50:10,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:50:10,649 INFO L93 Difference]: Finished difference Result 636 states and 822 transitions. [2022-04-28 05:50:10,649 INFO L276 IsEmpty]: Start isEmpty. Operand 636 states and 822 transitions. [2022-04-28 05:50:10,650 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:50:10,650 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:50:10,650 INFO L74 IsIncluded]: Start isIncluded. First operand has 632 states, 404 states have (on average 1.2128712871287128) internal successors, (490), 410 states have internal predecessors, (490), 166 states have call successors, (166), 63 states have call predecessors, (166), 61 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) Second operand 636 states. [2022-04-28 05:50:10,651 INFO L87 Difference]: Start difference. First operand has 632 states, 404 states have (on average 1.2128712871287128) internal successors, (490), 410 states have internal predecessors, (490), 166 states have call successors, (166), 63 states have call predecessors, (166), 61 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) Second operand 636 states. [2022-04-28 05:50:10,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:50:10,665 INFO L93 Difference]: Finished difference Result 636 states and 822 transitions. [2022-04-28 05:50:10,665 INFO L276 IsEmpty]: Start isEmpty. Operand 636 states and 822 transitions. [2022-04-28 05:50:10,666 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:50:10,666 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:50:10,666 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:50:10,666 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:50:10,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 632 states, 404 states have (on average 1.2128712871287128) internal successors, (490), 410 states have internal predecessors, (490), 166 states have call successors, (166), 63 states have call predecessors, (166), 61 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) [2022-04-28 05:50:10,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 632 states to 632 states and 818 transitions. [2022-04-28 05:50:10,690 INFO L78 Accepts]: Start accepts. Automaton has 632 states and 818 transitions. Word has length 123 [2022-04-28 05:50:10,690 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:50:10,690 INFO L495 AbstractCegarLoop]: Abstraction has 632 states and 818 transitions. [2022-04-28 05:50:10,690 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 05:50:10,690 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 632 states and 818 transitions. [2022-04-28 05:50:12,289 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 818 edges. 818 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:50:12,289 INFO L276 IsEmpty]: Start isEmpty. Operand 632 states and 818 transitions. [2022-04-28 05:50:12,290 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 129 [2022-04-28 05:50:12,290 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:50:12,290 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 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 05:50:12,307 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Forceful destruction successful, exit code 0 [2022-04-28 05:50:12,491 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable32,33 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:50:12,491 INFO L420 AbstractCegarLoop]: === Iteration 34 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:50:12,491 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:50:12,491 INFO L85 PathProgramCache]: Analyzing trace with hash -270396677, now seen corresponding path program 9 times [2022-04-28 05:50:12,491 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:50:12,492 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1075712004] [2022-04-28 05:50:12,492 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:50:12,492 INFO L85 PathProgramCache]: Analyzing trace with hash -270396677, now seen corresponding path program 10 times [2022-04-28 05:50:12,492 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:50:12,492 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [33700153] [2022-04-28 05:50:12,492 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:50:12,493 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:50:12,510 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:50:12,511 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [946616969] [2022-04-28 05:50:12,511 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:50:12,511 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:50:12,511 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:50:12,512 INFO L229 MonitoredProcess]: Starting monitored process 34 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:50:12,514 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Waiting until timeout for monitored process [2022-04-28 05:50:12,596 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:50:12,596 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:50:12,598 INFO L263 TraceCheckSpWp]: Trace formula consists of 292 conjuncts, 68 conjunts are in the unsatisfiable core [2022-04-28 05:50:12,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:50:12,622 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:50:14,225 INFO L272 TraceCheckUtils]: 0: Hoare triple {66730#true} call ULTIMATE.init(); {66730#true} is VALID [2022-04-28 05:50:14,225 INFO L290 TraceCheckUtils]: 1: Hoare triple {66730#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);~counter~0 := 0; {66730#true} is VALID [2022-04-28 05:50:14,226 INFO L290 TraceCheckUtils]: 2: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 05:50:14,226 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66730#true} {66730#true} #98#return; {66730#true} is VALID [2022-04-28 05:50:14,226 INFO L272 TraceCheckUtils]: 4: Hoare triple {66730#true} call #t~ret8 := main(); {66730#true} is VALID [2022-04-28 05:50:14,226 INFO L290 TraceCheckUtils]: 5: Hoare triple {66730#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; {66730#true} is VALID [2022-04-28 05:50:14,226 INFO L272 TraceCheckUtils]: 6: Hoare triple {66730#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {66730#true} is VALID [2022-04-28 05:50:14,226 INFO L290 TraceCheckUtils]: 7: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 05:50:14,226 INFO L290 TraceCheckUtils]: 8: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 05:50:14,226 INFO L290 TraceCheckUtils]: 9: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 05:50:14,226 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {66730#true} {66730#true} #78#return; {66730#true} is VALID [2022-04-28 05:50:14,226 INFO L272 TraceCheckUtils]: 11: Hoare triple {66730#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {66730#true} is VALID [2022-04-28 05:50:14,226 INFO L290 TraceCheckUtils]: 12: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 05:50:14,226 INFO L290 TraceCheckUtils]: 13: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 05:50:14,226 INFO L290 TraceCheckUtils]: 14: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 05:50:14,226 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {66730#true} {66730#true} #80#return; {66730#true} is VALID [2022-04-28 05:50:14,227 INFO L290 TraceCheckUtils]: 16: Hoare triple {66730#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; {66783#(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) (= main_~p~0 1))} is VALID [2022-04-28 05:50:14,227 INFO L272 TraceCheckUtils]: 17: Hoare triple {66783#(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) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {66730#true} is VALID [2022-04-28 05:50:14,227 INFO L290 TraceCheckUtils]: 18: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 05:50:14,227 INFO L290 TraceCheckUtils]: 19: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 05:50:14,227 INFO L290 TraceCheckUtils]: 20: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 05:50:14,228 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {66730#true} {66783#(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) (= main_~p~0 1))} #82#return; {66783#(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) (= main_~p~0 1))} is VALID [2022-04-28 05:50:14,228 INFO L272 TraceCheckUtils]: 22: Hoare triple {66783#(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) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {66730#true} is VALID [2022-04-28 05:50:14,228 INFO L290 TraceCheckUtils]: 23: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 05:50:14,228 INFO L290 TraceCheckUtils]: 24: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 05:50:14,228 INFO L290 TraceCheckUtils]: 25: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 05:50:14,229 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {66730#true} {66783#(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) (= main_~p~0 1))} #84#return; {66783#(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) (= main_~p~0 1))} is VALID [2022-04-28 05:50:14,229 INFO L290 TraceCheckUtils]: 27: Hoare triple {66783#(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) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {66783#(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) (= main_~p~0 1))} is VALID [2022-04-28 05:50:14,230 INFO L290 TraceCheckUtils]: 28: Hoare triple {66783#(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) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {66783#(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) (= main_~p~0 1))} is VALID [2022-04-28 05:50:14,230 INFO L290 TraceCheckUtils]: 29: Hoare triple {66783#(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) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {66823#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:50:14,231 INFO L290 TraceCheckUtils]: 30: Hoare triple {66823#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {66823#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:50:14,231 INFO L290 TraceCheckUtils]: 31: Hoare triple {66823#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {66823#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:50:14,231 INFO L272 TraceCheckUtils]: 32: Hoare triple {66823#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 05:50:14,231 INFO L290 TraceCheckUtils]: 33: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 05:50:14,231 INFO L290 TraceCheckUtils]: 34: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 05:50:14,231 INFO L290 TraceCheckUtils]: 35: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 05:50:14,232 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {66730#true} {66823#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {66823#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:50:14,232 INFO L272 TraceCheckUtils]: 37: Hoare triple {66823#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 05:50:14,232 INFO L290 TraceCheckUtils]: 38: Hoare triple {66730#true} ~cond := #in~cond; {66851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:50:14,233 INFO L290 TraceCheckUtils]: 39: Hoare triple {66851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:14,233 INFO L290 TraceCheckUtils]: 40: Hoare triple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:14,234 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} {66823#(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_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #88#return; {66862#(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_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:50:14,234 INFO L272 TraceCheckUtils]: 42: Hoare triple {66862#(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_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 05:50:14,234 INFO L290 TraceCheckUtils]: 43: Hoare triple {66730#true} ~cond := #in~cond; {66851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:50:14,235 INFO L290 TraceCheckUtils]: 44: Hoare triple {66851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:14,235 INFO L290 TraceCheckUtils]: 45: Hoare triple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:14,235 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} {66862#(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_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #90#return; {66862#(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_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:50:14,236 INFO L272 TraceCheckUtils]: 47: Hoare triple {66862#(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_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 05:50:14,236 INFO L290 TraceCheckUtils]: 48: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 05:50:14,236 INFO L290 TraceCheckUtils]: 49: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 05:50:14,236 INFO L290 TraceCheckUtils]: 50: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 05:50:14,237 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {66730#true} {66862#(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_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #92#return; {66862#(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_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:50:14,237 INFO L290 TraceCheckUtils]: 52: Hoare triple {66862#(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_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {66862#(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_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:50:14,238 INFO L290 TraceCheckUtils]: 53: Hoare triple {66862#(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_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {66899#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,238 INFO L290 TraceCheckUtils]: 54: Hoare triple {66899#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {66899#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,238 INFO L290 TraceCheckUtils]: 55: Hoare triple {66899#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {66899#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,239 INFO L290 TraceCheckUtils]: 56: Hoare triple {66899#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,239 INFO L290 TraceCheckUtils]: 57: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,240 INFO L290 TraceCheckUtils]: 58: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,240 INFO L272 TraceCheckUtils]: 59: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 05:50:14,240 INFO L290 TraceCheckUtils]: 60: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 05:50:14,240 INFO L290 TraceCheckUtils]: 61: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 05:50:14,240 INFO L290 TraceCheckUtils]: 62: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 05:50:14,241 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {66730#true} {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,241 INFO L272 TraceCheckUtils]: 64: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 05:50:14,241 INFO L290 TraceCheckUtils]: 65: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 05:50:14,241 INFO L290 TraceCheckUtils]: 66: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 05:50:14,241 INFO L290 TraceCheckUtils]: 67: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 05:50:14,242 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {66730#true} {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,242 INFO L272 TraceCheckUtils]: 69: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 05:50:14,242 INFO L290 TraceCheckUtils]: 70: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 05:50:14,242 INFO L290 TraceCheckUtils]: 71: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 05:50:14,242 INFO L290 TraceCheckUtils]: 72: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 05:50:14,243 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {66730#true} {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,243 INFO L272 TraceCheckUtils]: 74: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 05:50:14,243 INFO L290 TraceCheckUtils]: 75: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 05:50:14,243 INFO L290 TraceCheckUtils]: 76: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 05:50:14,243 INFO L290 TraceCheckUtils]: 77: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 05:50:14,244 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {66730#true} {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #92#return; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,244 INFO L290 TraceCheckUtils]: 79: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,245 INFO L290 TraceCheckUtils]: 80: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,245 INFO L290 TraceCheckUtils]: 81: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,245 INFO L272 TraceCheckUtils]: 82: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 05:50:14,245 INFO L290 TraceCheckUtils]: 83: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 05:50:14,245 INFO L290 TraceCheckUtils]: 84: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 05:50:14,246 INFO L290 TraceCheckUtils]: 85: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 05:50:14,246 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {66730#true} {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,246 INFO L272 TraceCheckUtils]: 87: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 05:50:14,246 INFO L290 TraceCheckUtils]: 88: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 05:50:14,246 INFO L290 TraceCheckUtils]: 89: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 05:50:14,247 INFO L290 TraceCheckUtils]: 90: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 05:50:14,247 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {66730#true} {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,247 INFO L272 TraceCheckUtils]: 92: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 05:50:14,247 INFO L290 TraceCheckUtils]: 93: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 05:50:14,247 INFO L290 TraceCheckUtils]: 94: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 05:50:14,248 INFO L290 TraceCheckUtils]: 95: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 05:50:14,248 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {66730#true} {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,248 INFO L272 TraceCheckUtils]: 97: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 05:50:14,248 INFO L290 TraceCheckUtils]: 98: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 05:50:14,248 INFO L290 TraceCheckUtils]: 99: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 05:50:14,249 INFO L290 TraceCheckUtils]: 100: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 05:50:14,249 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {66730#true} {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #92#return; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,250 INFO L290 TraceCheckUtils]: 102: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,250 INFO L290 TraceCheckUtils]: 103: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,251 INFO L290 TraceCheckUtils]: 104: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,251 INFO L290 TraceCheckUtils]: 105: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,251 INFO L290 TraceCheckUtils]: 106: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~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; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,252 INFO L290 TraceCheckUtils]: 107: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,252 INFO L290 TraceCheckUtils]: 108: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,252 INFO L272 TraceCheckUtils]: 109: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~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)); {66730#true} is VALID [2022-04-28 05:50:14,253 INFO L290 TraceCheckUtils]: 110: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 05:50:14,253 INFO L290 TraceCheckUtils]: 111: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 05:50:14,253 INFO L290 TraceCheckUtils]: 112: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 05:50:14,253 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {66730#true} {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,253 INFO L272 TraceCheckUtils]: 114: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~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)); {66730#true} is VALID [2022-04-28 05:50:14,253 INFO L290 TraceCheckUtils]: 115: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 05:50:14,254 INFO L290 TraceCheckUtils]: 116: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 05:50:14,254 INFO L290 TraceCheckUtils]: 117: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 05:50:14,254 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {66730#true} {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,254 INFO L272 TraceCheckUtils]: 119: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~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)); {66730#true} is VALID [2022-04-28 05:50:14,255 INFO L290 TraceCheckUtils]: 120: Hoare triple {66730#true} ~cond := #in~cond; {66851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:50:14,255 INFO L290 TraceCheckUtils]: 121: Hoare triple {66851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:14,255 INFO L290 TraceCheckUtils]: 122: Hoare triple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:14,256 INFO L284 TraceCheckUtils]: 123: Hoare quadruple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:50:14,258 INFO L272 TraceCheckUtils]: 124: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~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)); {67116#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:50:14,258 INFO L290 TraceCheckUtils]: 125: Hoare triple {67116#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {67120#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:50:14,258 INFO L290 TraceCheckUtils]: 126: Hoare triple {67120#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {66731#false} is VALID [2022-04-28 05:50:14,258 INFO L290 TraceCheckUtils]: 127: Hoare triple {66731#false} assume !false; {66731#false} is VALID [2022-04-28 05:50:14,259 INFO L134 CoverageAnalysis]: Checked inductivity of 523 backedges. 69 proven. 118 refuted. 0 times theorem prover too weak. 336 trivial. 0 not checked. [2022-04-28 05:50:14,259 INFO L328 TraceCheckSpWp]: Computing backward predicates...