/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_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 05:41:05,667 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 05:41:05,669 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 05:41:05,705 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 05:41:05,706 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 05:41:05,707 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 05:41:05,708 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 05:41:05,709 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 05:41:05,711 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 05:41:05,711 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 05:41:05,712 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 05:41:05,713 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 05:41:05,713 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 05:41:05,714 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 05:41:05,715 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 05:41:05,716 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 05:41:05,716 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 05:41:05,717 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 05:41:05,718 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 05:41:05,720 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 05:41:05,721 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 05:41:05,723 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 05:41:05,724 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 05:41:05,725 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 05:41:05,725 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 05:41:05,728 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 05:41:05,728 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 05:41:05,731 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 05:41:05,731 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 05:41:05,732 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 05:41:05,732 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 05:41:05,733 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 05:41:05,733 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 05:41:05,734 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 05:41:05,734 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 05:41:05,735 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 05:41:05,735 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 05:41:05,736 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 05:41:05,736 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 05:41:05,736 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 05:41:05,737 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 05:41:05,739 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 05:41:05,740 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:41:05,747 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 05:41:05,747 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 05:41:05,748 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 05:41:05,748 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 05:41:05,748 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 05:41:05,749 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 05:41:05,749 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 05:41:05,749 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 05:41:05,749 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 05:41:05,749 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 05:41:05,749 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 05:41:05,750 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 05:41:05,750 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 05:41:05,750 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 05:41:05,750 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 05:41:05,750 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 05:41:05,750 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 05:41:05,751 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 05:41:05,751 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 05:41:05,755 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 05:41:05,755 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 05:41:05,755 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 05:41:05,755 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 05:41:05,755 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 05:41:05,756 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 05:41:05,756 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:41:05,983 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 05:41:06,002 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 05:41:06,005 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 05:41:06,005 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 05:41:06,006 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 05:41:06,007 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound2.c [2022-04-28 05:41:06,058 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8de46f793/2a291ab83ed848cbba162a8e1cf18169/FLAG0025e42e6 [2022-04-28 05:41:06,398 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 05:41:06,399 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound2.c [2022-04-28 05:41:06,405 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8de46f793/2a291ab83ed848cbba162a8e1cf18169/FLAG0025e42e6 [2022-04-28 05:41:06,792 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8de46f793/2a291ab83ed848cbba162a8e1cf18169 [2022-04-28 05:41:06,794 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 05:41:06,796 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 05:41:06,797 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 05:41:06,798 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 05:41:06,801 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 05:41:06,802 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 05:41:06" (1/1) ... [2022-04-28 05:41:06,803 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@29c714ff and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:41:06, skipping insertion in model container [2022-04-28 05:41:06,803 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 05:41:06" (1/1) ... [2022-04-28 05:41:06,808 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 05:41:06,823 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 05:41:06,969 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_valuebound2.c[490,503] [2022-04-28 05:41:06,991 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 05:41:06,998 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 05:41:07,008 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_valuebound2.c[490,503] [2022-04-28 05:41:07,018 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 05:41:07,029 INFO L208 MainTranslator]: Completed translation [2022-04-28 05:41:07,030 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:41:07 WrapperNode [2022-04-28 05:41:07,030 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 05:41:07,031 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 05:41:07,031 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 05:41:07,031 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 05:41:07,039 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:41:07" (1/1) ... [2022-04-28 05:41:07,040 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:41:07" (1/1) ... [2022-04-28 05:41:07,055 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:41:07" (1/1) ... [2022-04-28 05:41:07,056 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:41:07" (1/1) ... [2022-04-28 05:41:07,066 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:41:07" (1/1) ... [2022-04-28 05:41:07,072 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:41:07" (1/1) ... [2022-04-28 05:41:07,079 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:41:07" (1/1) ... [2022-04-28 05:41:07,081 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 05:41:07,081 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 05:41:07,082 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 05:41:07,082 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 05:41:07,086 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:41:07" (1/1) ... [2022-04-28 05:41:07,097 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 05:41:07,106 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:41:07,119 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:41:07,124 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:41:07,153 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 05:41:07,153 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 05:41:07,153 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 05:41:07,153 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 05:41:07,153 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 05:41:07,154 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 05:41:07,154 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 05:41:07,154 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 05:41:07,154 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 05:41:07,154 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 05:41:07,154 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 05:41:07,155 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 05:41:07,156 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 05:41:07,156 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 05:41:07,156 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 05:41:07,156 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 05:41:07,157 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 05:41:07,157 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 05:41:07,157 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 05:41:07,157 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 05:41:07,217 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 05:41:07,219 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 05:41:07,441 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 05:41:07,447 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 05:41:07,448 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 05:41:07,449 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 05:41:07 BoogieIcfgContainer [2022-04-28 05:41:07,449 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 05:41:07,450 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 05:41:07,450 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 05:41:07,454 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 05:41:07,454 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 05:41:06" (1/3) ... [2022-04-28 05:41:07,455 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@576bf09 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 05:41:07, skipping insertion in model container [2022-04-28 05:41:07,455 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:41:07" (2/3) ... [2022-04-28 05:41:07,456 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@576bf09 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 05:41:07, skipping insertion in model container [2022-04-28 05:41:07,456 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 05:41:07" (3/3) ... [2022-04-28 05:41:07,459 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll_valuebound2.c [2022-04-28 05:41:07,472 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 05:41:07,472 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 05:41:07,529 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 05:41:07,537 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@3322f907, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@46ff2cc7 [2022-04-28 05:41:07,538 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 05:41:07,545 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 05:41:07,552 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 05:41:07,552 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:41:07,553 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:41:07,554 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:41:07,560 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:41:07,560 INFO L85 PathProgramCache]: Analyzing trace with hash -587582002, now seen corresponding path program 1 times [2022-04-28 05:41:07,567 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:41:07,567 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [512116089] [2022-04-28 05:41:07,579 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:41:07,580 INFO L85 PathProgramCache]: Analyzing trace with hash -587582002, now seen corresponding path program 2 times [2022-04-28 05:41:07,583 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:41:07,584 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2060960540] [2022-04-28 05:41:07,584 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:41:07,585 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:41:07,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:41:07,769 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 05:41:07,782 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:41:07,798 INFO L290 TraceCheckUtils]: 0: Hoare triple {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-28 05:41:07,798 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-28 05:41:07,799 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-28 05:41:07,799 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 05:41:07,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:41:07,819 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:41:07,820 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:41:07,820 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:41:07,820 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-28 05:41:07,821 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 05:41:07,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:41:07,829 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:41:07,829 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:41:07,830 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:41:07,830 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-28 05:41:07,830 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 05:41:07,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:41:07,837 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:41:07,838 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:41:07,838 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:41:07,838 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-28 05:41:07,839 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 05:41:07,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:41:07,859 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:41:07,860 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:41:07,860 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:41:07,860 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-28 05:41:07,861 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-28 05:41:07,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:41:07,868 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:41:07,868 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:41:07,868 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:41:07,868 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-28 05:41:07,869 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-04-28 05:41:07,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:41:07,874 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:41:07,875 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:41:07,875 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:41:07,875 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-28 05:41:07,876 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 05:41:07,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-28 05:41:07,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-28 05:41:07,877 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-28 05:41:07,877 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-28 05:41:07,878 INFO L290 TraceCheckUtils]: 5: Hoare triple {43#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43#true} is VALID [2022-04-28 05:41:07,878 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {43#true} is VALID [2022-04-28 05:41:07,878 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:41:07,879 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:41:07,879 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:41:07,879 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-28 05:41:07,881 INFO L290 TraceCheckUtils]: 11: Hoare triple {44#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {44#false} is VALID [2022-04-28 05:41:07,881 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {43#true} is VALID [2022-04-28 05:41:07,881 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:41:07,882 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:41:07,882 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:41:07,883 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-28 05:41:07,883 INFO L272 TraceCheckUtils]: 17: Hoare triple {44#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-28 05:41:07,883 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:41:07,884 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:41:07,885 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:41:07,888 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-28 05:41:07,888 INFO L272 TraceCheckUtils]: 22: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-28 05:41:07,889 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:41:07,890 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:41:07,890 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:41:07,890 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-28 05:41:07,892 INFO L290 TraceCheckUtils]: 27: Hoare triple {44#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {44#false} is VALID [2022-04-28 05:41:07,892 INFO L272 TraceCheckUtils]: 28: Hoare triple {44#false} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {43#true} is VALID [2022-04-28 05:41:07,892 INFO L290 TraceCheckUtils]: 29: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:41:07,893 INFO L290 TraceCheckUtils]: 30: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:41:07,894 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:41:07,895 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-28 05:41:07,895 INFO L272 TraceCheckUtils]: 33: Hoare triple {44#false} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {43#true} is VALID [2022-04-28 05:41:07,895 INFO L290 TraceCheckUtils]: 34: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:41:07,896 INFO L290 TraceCheckUtils]: 35: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:41:07,896 INFO L290 TraceCheckUtils]: 36: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:41:07,896 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-28 05:41:07,897 INFO L290 TraceCheckUtils]: 38: Hoare triple {44#false} assume !true; {44#false} is VALID [2022-04-28 05:41:07,898 INFO L272 TraceCheckUtils]: 39: Hoare triple {44#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {44#false} is VALID [2022-04-28 05:41:07,900 INFO L290 TraceCheckUtils]: 40: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-28 05:41:07,900 INFO L290 TraceCheckUtils]: 41: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-28 05:41:07,900 INFO L290 TraceCheckUtils]: 42: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-28 05:41:07,901 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-28 05:41:07,902 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:41:07,902 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2060960540] [2022-04-28 05:41:07,902 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2060960540] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:41:07,903 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:41:07,903 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 05:41:07,905 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:41:07,905 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [512116089] [2022-04-28 05:41:07,905 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [512116089] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:41:07,905 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:41:07,906 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 05:41:07,906 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1898300767] [2022-04-28 05:41:07,906 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:41:07,910 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-28 05:41:07,914 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:41:07,917 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:41:07,966 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:41:07,966 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 05:41:07,966 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:41:07,996 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 05:41:07,996 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 05:41:07,998 INFO L87 Difference]: Start difference. First operand has 40 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:41:08,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:08,224 INFO L93 Difference]: Finished difference Result 73 states and 118 transitions. [2022-04-28 05:41:08,224 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 05:41:08,225 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-28 05:41:08,226 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:41:08,227 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:41:08,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-28 05:41:08,247 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:41:08,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-28 05:41:08,257 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 118 transitions. [2022-04-28 05:41:08,399 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:41:08,409 INFO L225 Difference]: With dead ends: 73 [2022-04-28 05:41:08,409 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 05:41:08,413 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 05:41:08,416 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 14 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 42 SdHoareTripleChecker+Invalid, 27 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 14 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:41:08,418 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 42 Invalid, 27 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 14 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:41:08,428 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 05:41:08,442 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-28 05:41:08,443 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:41:08,444 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 05:41:08,444 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 05:41:08,445 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 05:41:08,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:08,449 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-28 05:41:08,450 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-28 05:41:08,450 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:41:08,451 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:41:08,451 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 35 states. [2022-04-28 05:41:08,452 INFO L87 Difference]: Start difference. First operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 35 states. [2022-04-28 05:41:08,455 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:08,455 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-28 05:41:08,456 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-28 05:41:08,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:41:08,457 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:41:08,457 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:41:08,457 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:41:08,457 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 05:41:08,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 46 transitions. [2022-04-28 05:41:08,461 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 46 transitions. Word has length 43 [2022-04-28 05:41:08,462 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:41:08,462 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 46 transitions. [2022-04-28 05:41:08,462 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:41:08,462 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 46 transitions. [2022-04-28 05:41:08,513 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:41:08,514 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-28 05:41:08,515 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 05:41:08,515 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:41:08,515 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:41:08,515 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 05:41:08,516 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:41:08,516 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:41:08,516 INFO L85 PathProgramCache]: Analyzing trace with hash 987777007, now seen corresponding path program 1 times [2022-04-28 05:41:08,516 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:41:08,517 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [575507328] [2022-04-28 05:41:08,517 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:41:08,517 INFO L85 PathProgramCache]: Analyzing trace with hash 987777007, now seen corresponding path program 2 times [2022-04-28 05:41:08,517 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:41:08,518 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2095834032] [2022-04-28 05:41:08,518 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:41:08,518 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:41:08,540 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:41:08,541 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1676433620] [2022-04-28 05:41:08,541 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:41:08,541 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:41:08,541 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:41:08,546 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:41:08,572 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:41:08,602 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:41:08,602 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:41:08,604 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 05:41:08,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:41:08,621 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:41:08,789 INFO L272 TraceCheckUtils]: 0: Hoare triple {361#true} call ULTIMATE.init(); {361#true} is VALID [2022-04-28 05:41:08,790 INFO L290 TraceCheckUtils]: 1: Hoare triple {361#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {361#true} is VALID [2022-04-28 05:41:08,790 INFO L290 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 05:41:08,790 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #103#return; {361#true} is VALID [2022-04-28 05:41:08,790 INFO L272 TraceCheckUtils]: 4: Hoare triple {361#true} call #t~ret6 := main(); {361#true} is VALID [2022-04-28 05:41:08,791 INFO L290 TraceCheckUtils]: 5: Hoare triple {361#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {361#true} is VALID [2022-04-28 05:41:08,791 INFO L272 TraceCheckUtils]: 6: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {361#true} is VALID [2022-04-28 05:41:08,791 INFO L290 TraceCheckUtils]: 7: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 05:41:08,791 INFO L290 TraceCheckUtils]: 8: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 05:41:08,791 INFO L290 TraceCheckUtils]: 9: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 05:41:08,791 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {361#true} {361#true} #79#return; {361#true} is VALID [2022-04-28 05:41:08,792 INFO L290 TraceCheckUtils]: 11: Hoare triple {361#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {361#true} is VALID [2022-04-28 05:41:08,792 INFO L272 TraceCheckUtils]: 12: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {361#true} is VALID [2022-04-28 05:41:08,792 INFO L290 TraceCheckUtils]: 13: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 05:41:08,792 INFO L290 TraceCheckUtils]: 14: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 05:41:08,792 INFO L290 TraceCheckUtils]: 15: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 05:41:08,792 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {361#true} {361#true} #81#return; {361#true} is VALID [2022-04-28 05:41:08,793 INFO L272 TraceCheckUtils]: 17: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-28 05:41:08,793 INFO L290 TraceCheckUtils]: 18: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 05:41:08,793 INFO L290 TraceCheckUtils]: 19: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 05:41:08,793 INFO L290 TraceCheckUtils]: 20: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 05:41:08,793 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {361#true} {361#true} #83#return; {361#true} is VALID [2022-04-28 05:41:08,794 INFO L272 TraceCheckUtils]: 22: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-28 05:41:08,794 INFO L290 TraceCheckUtils]: 23: Hoare triple {361#true} ~cond := #in~cond; {435#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:41:08,795 INFO L290 TraceCheckUtils]: 24: Hoare triple {435#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:41:08,795 INFO L290 TraceCheckUtils]: 25: Hoare triple {439#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:41:08,796 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {439#(not (= |assume_abort_if_not_#in~cond| 0))} {361#true} #85#return; {446#(<= 1 main_~y~0)} is VALID [2022-04-28 05:41:08,796 INFO L290 TraceCheckUtils]: 27: Hoare triple {446#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 05:41:08,797 INFO L272 TraceCheckUtils]: 28: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-28 05:41:08,797 INFO L290 TraceCheckUtils]: 29: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 05:41:08,797 INFO L290 TraceCheckUtils]: 30: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 05:41:08,797 INFO L290 TraceCheckUtils]: 31: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 05:41:08,798 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #87#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 05:41:08,798 INFO L272 TraceCheckUtils]: 33: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-28 05:41:08,798 INFO L290 TraceCheckUtils]: 34: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 05:41:08,798 INFO L290 TraceCheckUtils]: 35: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 05:41:08,799 INFO L290 TraceCheckUtils]: 36: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 05:41:08,799 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #89#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 05:41:08,800 INFO L290 TraceCheckUtils]: 38: Hoare triple {450#(<= 1 main_~b~0)} assume !false; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 05:41:08,800 INFO L290 TraceCheckUtils]: 39: Hoare triple {450#(<= 1 main_~b~0)} assume !(0 != ~b~0); {362#false} is VALID [2022-04-28 05:41:08,800 INFO L272 TraceCheckUtils]: 40: Hoare triple {362#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {362#false} is VALID [2022-04-28 05:41:08,800 INFO L290 TraceCheckUtils]: 41: Hoare triple {362#false} ~cond := #in~cond; {362#false} is VALID [2022-04-28 05:41:08,801 INFO L290 TraceCheckUtils]: 42: Hoare triple {362#false} assume 0 == ~cond; {362#false} is VALID [2022-04-28 05:41:08,801 INFO L290 TraceCheckUtils]: 43: Hoare triple {362#false} assume !false; {362#false} is VALID [2022-04-28 05:41:08,801 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-28 05:41:08,801 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:41:09,036 INFO L290 TraceCheckUtils]: 43: Hoare triple {362#false} assume !false; {362#false} is VALID [2022-04-28 05:41:09,036 INFO L290 TraceCheckUtils]: 42: Hoare triple {362#false} assume 0 == ~cond; {362#false} is VALID [2022-04-28 05:41:09,037 INFO L290 TraceCheckUtils]: 41: Hoare triple {362#false} ~cond := #in~cond; {362#false} is VALID [2022-04-28 05:41:09,037 INFO L272 TraceCheckUtils]: 40: Hoare triple {362#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {362#false} is VALID [2022-04-28 05:41:09,037 INFO L290 TraceCheckUtils]: 39: Hoare triple {450#(<= 1 main_~b~0)} assume !(0 != ~b~0); {362#false} is VALID [2022-04-28 05:41:09,038 INFO L290 TraceCheckUtils]: 38: Hoare triple {450#(<= 1 main_~b~0)} assume !false; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 05:41:09,038 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #89#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 05:41:09,039 INFO L290 TraceCheckUtils]: 36: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 05:41:09,039 INFO L290 TraceCheckUtils]: 35: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 05:41:09,039 INFO L290 TraceCheckUtils]: 34: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 05:41:09,039 INFO L272 TraceCheckUtils]: 33: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-28 05:41:09,040 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #87#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 05:41:09,040 INFO L290 TraceCheckUtils]: 31: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 05:41:09,040 INFO L290 TraceCheckUtils]: 30: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 05:41:09,040 INFO L290 TraceCheckUtils]: 29: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 05:41:09,041 INFO L272 TraceCheckUtils]: 28: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-28 05:41:09,041 INFO L290 TraceCheckUtils]: 27: Hoare triple {446#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 05:41:09,042 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {439#(not (= |assume_abort_if_not_#in~cond| 0))} {361#true} #85#return; {446#(<= 1 main_~y~0)} is VALID [2022-04-28 05:41:09,042 INFO L290 TraceCheckUtils]: 25: Hoare triple {439#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:41:09,043 INFO L290 TraceCheckUtils]: 24: Hoare triple {559#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:41:09,043 INFO L290 TraceCheckUtils]: 23: Hoare triple {361#true} ~cond := #in~cond; {559#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 05:41:09,043 INFO L272 TraceCheckUtils]: 22: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-28 05:41:09,044 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {361#true} {361#true} #83#return; {361#true} is VALID [2022-04-28 05:41:09,044 INFO L290 TraceCheckUtils]: 20: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 05:41:09,044 INFO L290 TraceCheckUtils]: 19: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 05:41:09,044 INFO L290 TraceCheckUtils]: 18: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 05:41:09,044 INFO L272 TraceCheckUtils]: 17: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-28 05:41:09,044 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {361#true} {361#true} #81#return; {361#true} is VALID [2022-04-28 05:41:09,045 INFO L290 TraceCheckUtils]: 15: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 05:41:09,045 INFO L290 TraceCheckUtils]: 14: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 05:41:09,045 INFO L290 TraceCheckUtils]: 13: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 05:41:09,045 INFO L272 TraceCheckUtils]: 12: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {361#true} is VALID [2022-04-28 05:41:09,045 INFO L290 TraceCheckUtils]: 11: Hoare triple {361#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {361#true} is VALID [2022-04-28 05:41:09,045 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {361#true} {361#true} #79#return; {361#true} is VALID [2022-04-28 05:41:09,045 INFO L290 TraceCheckUtils]: 9: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 05:41:09,046 INFO L290 TraceCheckUtils]: 8: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 05:41:09,046 INFO L290 TraceCheckUtils]: 7: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 05:41:09,046 INFO L272 TraceCheckUtils]: 6: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {361#true} is VALID [2022-04-28 05:41:09,046 INFO L290 TraceCheckUtils]: 5: Hoare triple {361#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {361#true} is VALID [2022-04-28 05:41:09,046 INFO L272 TraceCheckUtils]: 4: Hoare triple {361#true} call #t~ret6 := main(); {361#true} is VALID [2022-04-28 05:41:09,046 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #103#return; {361#true} is VALID [2022-04-28 05:41:09,047 INFO L290 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 05:41:09,047 INFO L290 TraceCheckUtils]: 1: Hoare triple {361#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {361#true} is VALID [2022-04-28 05:41:09,047 INFO L272 TraceCheckUtils]: 0: Hoare triple {361#true} call ULTIMATE.init(); {361#true} is VALID [2022-04-28 05:41:09,047 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-28 05:41:09,047 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:41:09,048 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2095834032] [2022-04-28 05:41:09,048 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:41:09,048 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1676433620] [2022-04-28 05:41:09,048 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1676433620] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:41:09,048 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:41:09,048 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-28 05:41:09,049 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:41:09,049 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [575507328] [2022-04-28 05:41:09,049 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [575507328] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:41:09,050 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:41:09,050 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 05:41:09,050 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [582083463] [2022-04-28 05:41:09,050 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:41:09,051 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-28 05:41:09,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:41:09,051 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:41:09,076 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:41:09,077 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 05:41:09,077 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:41:09,077 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 05:41:09,077 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 05:41:09,078 INFO L87 Difference]: Start difference. First operand 35 states and 46 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:41:09,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:09,417 INFO L93 Difference]: Finished difference Result 52 states and 69 transitions. [2022-04-28 05:41:09,417 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 05:41:09,418 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-28 05:41:09,418 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:41:09,418 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:41:09,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-28 05:41:09,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:41:09,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-28 05:41:09,423 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-28 05:41:09,484 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:41:09,486 INFO L225 Difference]: With dead ends: 52 [2022-04-28 05:41:09,486 INFO L226 Difference]: Without dead ends: 44 [2022-04-28 05:41:09,487 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 81 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:41:09,488 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 19 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 90 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 101 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 90 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:41:09,488 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 128 Invalid, 101 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 90 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:41:09,489 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-28 05:41:09,509 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-28 05:41:09,509 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:41:09,510 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 05:41:09,510 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 05:41:09,510 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 05:41:09,514 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:09,514 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-28 05:41:09,514 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-28 05:41:09,515 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:41:09,515 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:41:09,515 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 44 states. [2022-04-28 05:41:09,516 INFO L87 Difference]: Start difference. First operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 44 states. [2022-04-28 05:41:09,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:09,519 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-28 05:41:09,519 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-28 05:41:09,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:41:09,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:41:09,520 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:41:09,520 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:41:09,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 05:41:09,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 48 transitions. [2022-04-28 05:41:09,523 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 48 transitions. Word has length 44 [2022-04-28 05:41:09,523 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:41:09,523 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 48 transitions. [2022-04-28 05:41:09,523 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, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:41:09,523 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 48 transitions. [2022-04-28 05:41:09,578 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:41:09,578 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-04-28 05:41:09,579 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-28 05:41:09,579 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:41:09,579 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:41:09,604 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:41:09,792 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:41:09,793 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:41:09,793 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:41:09,793 INFO L85 PathProgramCache]: Analyzing trace with hash 561616070, now seen corresponding path program 1 times [2022-04-28 05:41:09,794 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:41:09,794 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [221193170] [2022-04-28 05:41:09,794 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:41:09,794 INFO L85 PathProgramCache]: Analyzing trace with hash 561616070, now seen corresponding path program 2 times [2022-04-28 05:41:09,795 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:41:09,795 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2115925011] [2022-04-28 05:41:09,795 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:41:09,795 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:41:09,812 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:41:09,812 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [773981511] [2022-04-28 05:41:09,812 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:41:09,812 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:41:09,813 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:41:09,814 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:41:09,815 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:41:09,870 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 05:41:09,870 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:41:09,871 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 05:41:09,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:41:09,888 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:41:10,039 INFO L272 TraceCheckUtils]: 0: Hoare triple {901#true} call ULTIMATE.init(); {901#true} is VALID [2022-04-28 05:41:10,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {901#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {901#true} is VALID [2022-04-28 05:41:10,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 05:41:10,040 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {901#true} {901#true} #103#return; {901#true} is VALID [2022-04-28 05:41:10,040 INFO L272 TraceCheckUtils]: 4: Hoare triple {901#true} call #t~ret6 := main(); {901#true} is VALID [2022-04-28 05:41:10,040 INFO L290 TraceCheckUtils]: 5: Hoare triple {901#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {901#true} is VALID [2022-04-28 05:41:10,041 INFO L272 TraceCheckUtils]: 6: Hoare triple {901#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {901#true} is VALID [2022-04-28 05:41:10,041 INFO L290 TraceCheckUtils]: 7: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-28 05:41:10,041 INFO L290 TraceCheckUtils]: 8: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-28 05:41:10,041 INFO L290 TraceCheckUtils]: 9: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 05:41:10,041 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {901#true} {901#true} #79#return; {901#true} is VALID [2022-04-28 05:41:10,041 INFO L290 TraceCheckUtils]: 11: Hoare triple {901#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {901#true} is VALID [2022-04-28 05:41:10,042 INFO L272 TraceCheckUtils]: 12: Hoare triple {901#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {901#true} is VALID [2022-04-28 05:41:10,042 INFO L290 TraceCheckUtils]: 13: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-28 05:41:10,042 INFO L290 TraceCheckUtils]: 14: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-28 05:41:10,050 INFO L290 TraceCheckUtils]: 15: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 05:41:10,051 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {901#true} {901#true} #81#return; {901#true} is VALID [2022-04-28 05:41:10,051 INFO L272 TraceCheckUtils]: 17: Hoare triple {901#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {901#true} is VALID [2022-04-28 05:41:10,051 INFO L290 TraceCheckUtils]: 18: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-28 05:41:10,051 INFO L290 TraceCheckUtils]: 19: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-28 05:41:10,051 INFO L290 TraceCheckUtils]: 20: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 05:41:10,051 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {901#true} {901#true} #83#return; {901#true} is VALID [2022-04-28 05:41:10,052 INFO L272 TraceCheckUtils]: 22: Hoare triple {901#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {901#true} is VALID [2022-04-28 05:41:10,052 INFO L290 TraceCheckUtils]: 23: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-28 05:41:10,052 INFO L290 TraceCheckUtils]: 24: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-28 05:41:10,052 INFO L290 TraceCheckUtils]: 25: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 05:41:10,052 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {901#true} {901#true} #85#return; {901#true} is VALID [2022-04-28 05:41:10,053 INFO L290 TraceCheckUtils]: 27: Hoare triple {901#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {901#true} is VALID [2022-04-28 05:41:10,053 INFO L272 TraceCheckUtils]: 28: Hoare triple {901#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {901#true} is VALID [2022-04-28 05:41:10,055 INFO L290 TraceCheckUtils]: 29: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-28 05:41:10,056 INFO L290 TraceCheckUtils]: 30: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-28 05:41:10,056 INFO L290 TraceCheckUtils]: 31: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 05:41:10,056 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {901#true} {901#true} #87#return; {901#true} is VALID [2022-04-28 05:41:10,056 INFO L272 TraceCheckUtils]: 33: Hoare triple {901#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {901#true} is VALID [2022-04-28 05:41:10,056 INFO L290 TraceCheckUtils]: 34: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-28 05:41:10,056 INFO L290 TraceCheckUtils]: 35: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-28 05:41:10,057 INFO L290 TraceCheckUtils]: 36: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 05:41:10,057 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {901#true} {901#true} #89#return; {901#true} is VALID [2022-04-28 05:41:10,057 INFO L290 TraceCheckUtils]: 38: Hoare triple {901#true} assume !false; {901#true} is VALID [2022-04-28 05:41:10,058 INFO L290 TraceCheckUtils]: 39: Hoare triple {901#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 05:41:10,058 INFO L290 TraceCheckUtils]: 40: Hoare triple {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} assume !false; {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 05:41:10,059 INFO L272 TraceCheckUtils]: 41: Hoare triple {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:41:10,059 INFO L290 TraceCheckUtils]: 42: Hoare triple {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1034#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:41:10,060 INFO L290 TraceCheckUtils]: 43: Hoare triple {1034#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {902#false} is VALID [2022-04-28 05:41:10,060 INFO L290 TraceCheckUtils]: 44: Hoare triple {902#false} assume !false; {902#false} is VALID [2022-04-28 05:41:10,061 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-28 05:41:10,061 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:41:10,061 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:41:10,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2115925011] [2022-04-28 05:41:10,061 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:41:10,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [773981511] [2022-04-28 05:41:10,061 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [773981511] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:41:10,062 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:41:10,062 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:41:10,062 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:41:10,062 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [221193170] [2022-04-28 05:41:10,062 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [221193170] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:41:10,062 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:41:10,062 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:41:10,063 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1394460887] [2022-04-28 05:41:10,063 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:41:10,063 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-04-28 05:41:10,066 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:41:10,066 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 05:41:10,091 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:41:10,092 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:41:10,092 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:41:10,092 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:41:10,092 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:41:10,093 INFO L87 Difference]: Start difference. First operand 37 states and 48 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 05:41:10,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:10,297 INFO L93 Difference]: Finished difference Result 50 states and 65 transitions. [2022-04-28 05:41:10,297 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:41:10,298 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-04-28 05:41:10,298 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:41:10,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 05:41:10,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-28 05:41:10,301 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 05:41:10,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-28 05:41:10,304 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-28 05:41:10,352 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:41:10,354 INFO L225 Difference]: With dead ends: 50 [2022-04-28 05:41:10,355 INFO L226 Difference]: Without dead ends: 48 [2022-04-28 05:41:10,355 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 05:41:10,366 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 6 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 154 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:41:10,366 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 154 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:41:10,367 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-28 05:41:10,393 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 43. [2022-04-28 05:41:10,393 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:41:10,395 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 05:41:10,397 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 05:41:10,397 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 05:41:10,400 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:10,400 INFO L93 Difference]: Finished difference Result 48 states and 63 transitions. [2022-04-28 05:41:10,400 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2022-04-28 05:41:10,404 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:41:10,404 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:41:10,405 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 48 states. [2022-04-28 05:41:10,405 INFO L87 Difference]: Start difference. First operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 48 states. [2022-04-28 05:41:10,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:10,409 INFO L93 Difference]: Finished difference Result 48 states and 63 transitions. [2022-04-28 05:41:10,410 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2022-04-28 05:41:10,414 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:41:10,414 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:41:10,415 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:41:10,415 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:41:10,416 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 05:41:10,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 54 transitions. [2022-04-28 05:41:10,420 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 54 transitions. Word has length 45 [2022-04-28 05:41:10,420 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:41:10,420 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 54 transitions. [2022-04-28 05:41:10,420 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 05:41:10,420 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 54 transitions. [2022-04-28 05:41:10,480 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:10,480 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-28 05:41:10,481 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 05:41:10,481 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:41:10,481 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:41:10,506 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:41:10,694 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:41:10,694 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:41:10,694 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:41:10,695 INFO L85 PathProgramCache]: Analyzing trace with hash -680064098, now seen corresponding path program 1 times [2022-04-28 05:41:10,695 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:41:10,695 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1097526436] [2022-04-28 05:41:10,695 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:41:10,695 INFO L85 PathProgramCache]: Analyzing trace with hash -680064098, now seen corresponding path program 2 times [2022-04-28 05:41:10,695 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:41:10,696 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [922483557] [2022-04-28 05:41:10,696 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:41:10,696 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:41:10,712 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:41:10,712 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1537257723] [2022-04-28 05:41:10,712 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:41:10,712 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:41:10,712 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:41:10,713 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:41:10,715 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:41:10,762 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:41:10,762 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:41:10,763 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 05:41:10,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:41:10,774 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:41:13,780 INFO L272 TraceCheckUtils]: 0: Hoare triple {1324#true} call ULTIMATE.init(); {1324#true} is VALID [2022-04-28 05:41:13,781 INFO L290 TraceCheckUtils]: 1: Hoare triple {1324#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {1324#true} is VALID [2022-04-28 05:41:13,781 INFO L290 TraceCheckUtils]: 2: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 05:41:13,781 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1324#true} {1324#true} #103#return; {1324#true} is VALID [2022-04-28 05:41:13,781 INFO L272 TraceCheckUtils]: 4: Hoare triple {1324#true} call #t~ret6 := main(); {1324#true} is VALID [2022-04-28 05:41:13,781 INFO L290 TraceCheckUtils]: 5: Hoare triple {1324#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1324#true} is VALID [2022-04-28 05:41:13,782 INFO L272 TraceCheckUtils]: 6: Hoare triple {1324#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1324#true} is VALID [2022-04-28 05:41:13,782 INFO L290 TraceCheckUtils]: 7: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-28 05:41:13,782 INFO L290 TraceCheckUtils]: 8: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-28 05:41:13,782 INFO L290 TraceCheckUtils]: 9: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 05:41:13,782 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1324#true} {1324#true} #79#return; {1324#true} is VALID [2022-04-28 05:41:13,782 INFO L290 TraceCheckUtils]: 11: Hoare triple {1324#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1324#true} is VALID [2022-04-28 05:41:13,782 INFO L272 TraceCheckUtils]: 12: Hoare triple {1324#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1324#true} is VALID [2022-04-28 05:41:13,783 INFO L290 TraceCheckUtils]: 13: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-28 05:41:13,783 INFO L290 TraceCheckUtils]: 14: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-28 05:41:13,783 INFO L290 TraceCheckUtils]: 15: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 05:41:13,783 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1324#true} {1324#true} #81#return; {1324#true} is VALID [2022-04-28 05:41:13,783 INFO L272 TraceCheckUtils]: 17: Hoare triple {1324#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1324#true} is VALID [2022-04-28 05:41:13,783 INFO L290 TraceCheckUtils]: 18: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-28 05:41:13,784 INFO L290 TraceCheckUtils]: 19: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-28 05:41:13,784 INFO L290 TraceCheckUtils]: 20: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 05:41:13,784 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1324#true} {1324#true} #83#return; {1324#true} is VALID [2022-04-28 05:41:13,784 INFO L272 TraceCheckUtils]: 22: Hoare triple {1324#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1324#true} is VALID [2022-04-28 05:41:13,784 INFO L290 TraceCheckUtils]: 23: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-28 05:41:13,784 INFO L290 TraceCheckUtils]: 24: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-28 05:41:13,784 INFO L290 TraceCheckUtils]: 25: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 05:41:13,785 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1324#true} {1324#true} #85#return; {1324#true} is VALID [2022-04-28 05:41:13,786 INFO L290 TraceCheckUtils]: 27: Hoare triple {1324#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:13,786 INFO L272 TraceCheckUtils]: 28: Hoare triple {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1324#true} is VALID [2022-04-28 05:41:13,786 INFO L290 TraceCheckUtils]: 29: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-28 05:41:13,787 INFO L290 TraceCheckUtils]: 30: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-28 05:41:13,787 INFO L290 TraceCheckUtils]: 31: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 05:41:13,788 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1324#true} {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:13,788 INFO L272 TraceCheckUtils]: 33: Hoare triple {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1324#true} is VALID [2022-04-28 05:41:13,788 INFO L290 TraceCheckUtils]: 34: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-28 05:41:13,788 INFO L290 TraceCheckUtils]: 35: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-28 05:41:13,788 INFO L290 TraceCheckUtils]: 36: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 05:41:13,789 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1324#true} {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:13,790 INFO L290 TraceCheckUtils]: 38: Hoare triple {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:13,790 INFO L290 TraceCheckUtils]: 39: Hoare triple {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:13,791 INFO L290 TraceCheckUtils]: 40: Hoare triple {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:13,791 INFO L272 TraceCheckUtils]: 41: Hoare triple {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1324#true} is VALID [2022-04-28 05:41:13,791 INFO L290 TraceCheckUtils]: 42: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-28 05:41:13,791 INFO L290 TraceCheckUtils]: 43: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-28 05:41:13,792 INFO L290 TraceCheckUtils]: 44: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 05:41:13,793 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1324#true} {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:41:13,794 INFO L272 TraceCheckUtils]: 46: Hoare triple {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1468#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:41:13,795 INFO L290 TraceCheckUtils]: 47: Hoare triple {1468#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1472#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:41:13,803 INFO L290 TraceCheckUtils]: 48: Hoare triple {1472#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1325#false} is VALID [2022-04-28 05:41:13,803 INFO L290 TraceCheckUtils]: 49: Hoare triple {1325#false} assume !false; {1325#false} is VALID [2022-04-28 05:41:13,803 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-28 05:41:13,803 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:41:13,804 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:41:13,804 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [922483557] [2022-04-28 05:41:13,804 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:41:13,804 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1537257723] [2022-04-28 05:41:13,804 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1537257723] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:41:13,804 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:41:13,804 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:41:13,805 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:41:13,805 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1097526436] [2022-04-28 05:41:13,805 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1097526436] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:41:13,805 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:41:13,805 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:41:13,805 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [921717749] [2022-04-28 05:41:13,805 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:41:13,806 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 50 [2022-04-28 05:41:13,806 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:41:13,806 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 05:41:13,836 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:41:13,836 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:41:13,836 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:41:13,836 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:41:13,837 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:41:13,837 INFO L87 Difference]: Start difference. First operand 43 states and 54 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 05:41:14,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:14,072 INFO L93 Difference]: Finished difference Result 58 states and 74 transitions. [2022-04-28 05:41:14,072 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:41:14,072 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 50 [2022-04-28 05:41:14,073 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:41:14,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 05:41:14,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 05:41:14,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 05:41:14,076 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 05:41:14,076 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 05:41:14,136 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:41:14,138 INFO L225 Difference]: With dead ends: 58 [2022-04-28 05:41:14,138 INFO L226 Difference]: Without dead ends: 56 [2022-04-28 05:41:14,138 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 46 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 05:41:14,139 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 7 mSDsluCounter, 113 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 161 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:41:14,139 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 161 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:41:14,140 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-28 05:41:14,182 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 55. [2022-04-28 05:41:14,183 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:41:14,183 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 05:41:14,183 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 05:41:14,184 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 05:41:14,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:14,186 INFO L93 Difference]: Finished difference Result 56 states and 72 transitions. [2022-04-28 05:41:14,187 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 72 transitions. [2022-04-28 05:41:14,187 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:41:14,187 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:41:14,188 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 56 states. [2022-04-28 05:41:14,188 INFO L87 Difference]: Start difference. First operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 56 states. [2022-04-28 05:41:14,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:14,191 INFO L93 Difference]: Finished difference Result 56 states and 72 transitions. [2022-04-28 05:41:14,191 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 72 transitions. [2022-04-28 05:41:14,191 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:41:14,191 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:41:14,191 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:41:14,191 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:41:14,192 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 05:41:14,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 71 transitions. [2022-04-28 05:41:14,194 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 71 transitions. Word has length 50 [2022-04-28 05:41:14,194 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:41:14,194 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 71 transitions. [2022-04-28 05:41:14,194 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 05:41:14,195 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 71 transitions. [2022-04-28 05:41:14,286 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:41:14,286 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 71 transitions. [2022-04-28 05:41:14,286 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 05:41:14,287 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:41:14,287 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:41:14,311 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:41:14,511 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:41:14,512 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:41:14,512 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:41:14,512 INFO L85 PathProgramCache]: Analyzing trace with hash 606548870, now seen corresponding path program 1 times [2022-04-28 05:41:14,512 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:41:14,512 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1337994492] [2022-04-28 05:41:14,513 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:41:14,513 INFO L85 PathProgramCache]: Analyzing trace with hash 606548870, now seen corresponding path program 2 times [2022-04-28 05:41:14,513 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:41:14,513 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1921306966] [2022-04-28 05:41:14,513 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:41:14,513 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:41:14,540 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:41:14,540 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1247361123] [2022-04-28 05:41:14,540 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:41:14,540 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:41:14,540 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:41:14,541 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:41:14,547 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:41:14,592 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:41:14,592 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:41:14,594 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 05:41:14,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:41:14,615 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:41:15,287 INFO L272 TraceCheckUtils]: 0: Hoare triple {1818#true} call ULTIMATE.init(); {1818#true} is VALID [2022-04-28 05:41:15,291 INFO L290 TraceCheckUtils]: 1: Hoare triple {1818#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {1818#true} is VALID [2022-04-28 05:41:15,293 INFO L290 TraceCheckUtils]: 2: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-28 05:41:15,293 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1818#true} {1818#true} #103#return; {1818#true} is VALID [2022-04-28 05:41:15,294 INFO L272 TraceCheckUtils]: 4: Hoare triple {1818#true} call #t~ret6 := main(); {1818#true} is VALID [2022-04-28 05:41:15,294 INFO L290 TraceCheckUtils]: 5: Hoare triple {1818#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1818#true} is VALID [2022-04-28 05:41:15,294 INFO L272 TraceCheckUtils]: 6: Hoare triple {1818#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1818#true} is VALID [2022-04-28 05:41:15,294 INFO L290 TraceCheckUtils]: 7: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-28 05:41:15,294 INFO L290 TraceCheckUtils]: 8: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-28 05:41:15,294 INFO L290 TraceCheckUtils]: 9: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-28 05:41:15,294 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1818#true} {1818#true} #79#return; {1818#true} is VALID [2022-04-28 05:41:15,295 INFO L290 TraceCheckUtils]: 11: Hoare triple {1818#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1818#true} is VALID [2022-04-28 05:41:15,295 INFO L272 TraceCheckUtils]: 12: Hoare triple {1818#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1818#true} is VALID [2022-04-28 05:41:15,295 INFO L290 TraceCheckUtils]: 13: Hoare triple {1818#true} ~cond := #in~cond; {1862#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:41:15,296 INFO L290 TraceCheckUtils]: 14: Hoare triple {1862#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1866#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:41:15,296 INFO L290 TraceCheckUtils]: 15: Hoare triple {1866#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1866#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:41:15,297 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1866#(not (= |assume_abort_if_not_#in~cond| 0))} {1818#true} #81#return; {1873#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:41:15,297 INFO L272 TraceCheckUtils]: 17: Hoare triple {1873#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1818#true} is VALID [2022-04-28 05:41:15,297 INFO L290 TraceCheckUtils]: 18: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-28 05:41:15,297 INFO L290 TraceCheckUtils]: 19: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-28 05:41:15,297 INFO L290 TraceCheckUtils]: 20: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-28 05:41:15,298 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1818#true} {1873#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #83#return; {1873#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:41:15,298 INFO L272 TraceCheckUtils]: 22: Hoare triple {1873#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1818#true} is VALID [2022-04-28 05:41:15,298 INFO L290 TraceCheckUtils]: 23: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-28 05:41:15,298 INFO L290 TraceCheckUtils]: 24: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-28 05:41:15,298 INFO L290 TraceCheckUtils]: 25: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-28 05:41:15,299 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1818#true} {1873#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #85#return; {1873#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:41:15,300 INFO L290 TraceCheckUtils]: 27: Hoare triple {1873#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~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; {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:41:15,300 INFO L272 TraceCheckUtils]: 28: Hoare triple {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1818#true} is VALID [2022-04-28 05:41:15,300 INFO L290 TraceCheckUtils]: 29: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-28 05:41:15,300 INFO L290 TraceCheckUtils]: 30: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-28 05:41:15,300 INFO L290 TraceCheckUtils]: 31: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-28 05:41:15,301 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1818#true} {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #87#return; {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:41:15,301 INFO L272 TraceCheckUtils]: 33: Hoare triple {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1818#true} is VALID [2022-04-28 05:41:15,301 INFO L290 TraceCheckUtils]: 34: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-28 05:41:15,301 INFO L290 TraceCheckUtils]: 35: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-28 05:41:15,301 INFO L290 TraceCheckUtils]: 36: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-28 05:41:15,302 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1818#true} {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #89#return; {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:41:15,302 INFO L290 TraceCheckUtils]: 38: Hoare triple {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:41:15,303 INFO L290 TraceCheckUtils]: 39: Hoare triple {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= 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; {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} is VALID [2022-04-28 05:41:15,303 INFO L290 TraceCheckUtils]: 40: Hoare triple {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} assume !false; {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} is VALID [2022-04-28 05:41:15,304 INFO L272 TraceCheckUtils]: 41: Hoare triple {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1818#true} is VALID [2022-04-28 05:41:15,304 INFO L290 TraceCheckUtils]: 42: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-28 05:41:15,304 INFO L290 TraceCheckUtils]: 43: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-28 05:41:15,304 INFO L290 TraceCheckUtils]: 44: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-28 05:41:15,305 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1818#true} {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} #91#return; {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} is VALID [2022-04-28 05:41:15,305 INFO L272 TraceCheckUtils]: 46: Hoare triple {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1818#true} is VALID [2022-04-28 05:41:15,306 INFO L290 TraceCheckUtils]: 47: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-28 05:41:15,307 INFO L290 TraceCheckUtils]: 48: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-28 05:41:15,307 INFO L290 TraceCheckUtils]: 49: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-28 05:41:15,308 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1818#true} {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} #93#return; {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} is VALID [2022-04-28 05:41:15,309 INFO L272 TraceCheckUtils]: 51: Hoare triple {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1981#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:41:15,310 INFO L290 TraceCheckUtils]: 52: Hoare triple {1981#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1985#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:41:15,310 INFO L290 TraceCheckUtils]: 53: Hoare triple {1985#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1819#false} is VALID [2022-04-28 05:41:15,310 INFO L290 TraceCheckUtils]: 54: Hoare triple {1819#false} assume !false; {1819#false} is VALID [2022-04-28 05:41:15,312 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 7 proven. 12 refuted. 0 times theorem prover too weak. 49 trivial. 0 not checked. [2022-04-28 05:41:15,312 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:41:46,681 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:41:46,681 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1921306966] [2022-04-28 05:41:46,681 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:41:46,681 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1247361123] [2022-04-28 05:41:46,681 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1247361123] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 05:41:46,681 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:41:46,682 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-28 05:41:46,682 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:41:46,682 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1337994492] [2022-04-28 05:41:46,682 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1337994492] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:41:46,682 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:41:46,682 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 05:41:46,682 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1607728114] [2022-04-28 05:41:46,683 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:41:46,683 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 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 55 [2022-04-28 05:41:46,683 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:41:46,684 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 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:41:46,719 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:41:46,719 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 05:41:46,719 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:41:46,720 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 05:41:46,720 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-28 05:41:46,720 INFO L87 Difference]: Start difference. First operand 55 states and 71 transitions. Second operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 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:41:47,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:47,278 INFO L93 Difference]: Finished difference Result 62 states and 77 transitions. [2022-04-28 05:41:47,278 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 05:41:47,278 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 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 55 [2022-04-28 05:41:47,279 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:41:47,279 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 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:41:47,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-28 05:41:47,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 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:41:47,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-28 05:41:47,281 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 65 transitions. [2022-04-28 05:41:47,370 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:41:47,372 INFO L225 Difference]: With dead ends: 62 [2022-04-28 05:41:47,372 INFO L226 Difference]: Without dead ends: 60 [2022-04-28 05:41:47,372 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 50 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-28 05:41:47,372 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 22 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 156 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 179 SdHoareTripleChecker+Invalid, 163 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 156 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:41:47,373 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 179 Invalid, 163 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 156 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:41:47,373 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-28 05:41:47,448 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 59. [2022-04-28 05:41:47,448 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:41:47,448 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 05:41:47,449 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 05:41:47,449 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 05:41:47,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:47,454 INFO L93 Difference]: Finished difference Result 60 states and 75 transitions. [2022-04-28 05:41:47,454 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 75 transitions. [2022-04-28 05:41:47,454 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:41:47,454 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:41:47,454 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 60 states. [2022-04-28 05:41:47,455 INFO L87 Difference]: Start difference. First operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 60 states. [2022-04-28 05:41:47,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:41:47,458 INFO L93 Difference]: Finished difference Result 60 states and 75 transitions. [2022-04-28 05:41:47,458 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 75 transitions. [2022-04-28 05:41:47,459 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:41:47,459 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:41:47,460 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:41:47,460 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:41:47,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 05:41:47,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 74 transitions. [2022-04-28 05:41:47,463 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 74 transitions. Word has length 55 [2022-04-28 05:41:47,463 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:41:47,463 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 74 transitions. [2022-04-28 05:41:47,463 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 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:41:47,463 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 74 transitions. [2022-04-28 05:41:47,559 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:41:47,559 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 74 transitions. [2022-04-28 05:41:47,560 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-28 05:41:47,560 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:41:47,560 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:41:47,584 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:41:47,760 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:41:47,760 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:41:47,761 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:41:47,761 INFO L85 PathProgramCache]: Analyzing trace with hash 1584976990, now seen corresponding path program 1 times [2022-04-28 05:41:47,761 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:41:47,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1972682380] [2022-04-28 05:41:47,761 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:41:47,761 INFO L85 PathProgramCache]: Analyzing trace with hash 1584976990, now seen corresponding path program 2 times [2022-04-28 05:41:47,761 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:41:47,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1192364200] [2022-04-28 05:41:47,761 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:41:47,762 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:41:47,786 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:41:47,786 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1315066708] [2022-04-28 05:41:47,786 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:41:47,786 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:41:47,786 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:41:47,789 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:41:47,790 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:41:47,835 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:41:47,835 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:41:47,836 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 05:41:47,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:41:47,852 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:41:55,793 INFO L272 TraceCheckUtils]: 0: Hoare triple {2373#true} call ULTIMATE.init(); {2373#true} is VALID [2022-04-28 05:41:55,794 INFO L290 TraceCheckUtils]: 1: Hoare triple {2373#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); {2373#true} is VALID [2022-04-28 05:41:55,794 INFO L290 TraceCheckUtils]: 2: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-28 05:41:55,794 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2373#true} {2373#true} #103#return; {2373#true} is VALID [2022-04-28 05:41:55,794 INFO L272 TraceCheckUtils]: 4: Hoare triple {2373#true} call #t~ret6 := main(); {2373#true} is VALID [2022-04-28 05:41:55,794 INFO L290 TraceCheckUtils]: 5: Hoare triple {2373#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; {2373#true} is VALID [2022-04-28 05:41:55,794 INFO L272 TraceCheckUtils]: 6: Hoare triple {2373#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2373#true} is VALID [2022-04-28 05:41:55,794 INFO L290 TraceCheckUtils]: 7: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-28 05:41:55,794 INFO L290 TraceCheckUtils]: 8: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-28 05:41:55,794 INFO L290 TraceCheckUtils]: 9: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-28 05:41:55,794 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2373#true} {2373#true} #79#return; {2373#true} is VALID [2022-04-28 05:41:55,795 INFO L290 TraceCheckUtils]: 11: Hoare triple {2373#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2373#true} is VALID [2022-04-28 05:41:55,795 INFO L272 TraceCheckUtils]: 12: Hoare triple {2373#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2373#true} is VALID [2022-04-28 05:41:55,795 INFO L290 TraceCheckUtils]: 13: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-28 05:41:55,795 INFO L290 TraceCheckUtils]: 14: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-28 05:41:55,795 INFO L290 TraceCheckUtils]: 15: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-28 05:41:55,795 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2373#true} {2373#true} #81#return; {2373#true} is VALID [2022-04-28 05:41:55,795 INFO L272 TraceCheckUtils]: 17: Hoare triple {2373#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2373#true} is VALID [2022-04-28 05:41:55,795 INFO L290 TraceCheckUtils]: 18: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-28 05:41:55,795 INFO L290 TraceCheckUtils]: 19: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-28 05:41:55,795 INFO L290 TraceCheckUtils]: 20: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-28 05:41:55,795 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2373#true} {2373#true} #83#return; {2373#true} is VALID [2022-04-28 05:41:55,796 INFO L272 TraceCheckUtils]: 22: Hoare triple {2373#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2373#true} is VALID [2022-04-28 05:41:55,799 INFO L290 TraceCheckUtils]: 23: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-28 05:41:55,799 INFO L290 TraceCheckUtils]: 24: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-28 05:41:55,799 INFO L290 TraceCheckUtils]: 25: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-28 05:41:55,799 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2373#true} {2373#true} #85#return; {2373#true} is VALID [2022-04-28 05:41:55,800 INFO L290 TraceCheckUtils]: 27: Hoare triple {2373#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; {2459#(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:41:55,800 INFO L272 TraceCheckUtils]: 28: Hoare triple {2459#(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)); {2373#true} is VALID [2022-04-28 05:41:55,801 INFO L290 TraceCheckUtils]: 29: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-28 05:41:55,801 INFO L290 TraceCheckUtils]: 30: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-28 05:41:55,801 INFO L290 TraceCheckUtils]: 31: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-28 05:41:55,801 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2373#true} {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #87#return; {2459#(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:41:55,801 INFO L272 TraceCheckUtils]: 33: Hoare triple {2459#(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)); {2373#true} is VALID [2022-04-28 05:41:55,801 INFO L290 TraceCheckUtils]: 34: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-28 05:41:55,802 INFO L290 TraceCheckUtils]: 35: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-28 05:41:55,802 INFO L290 TraceCheckUtils]: 36: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-28 05:41:55,802 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2373#true} {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #89#return; {2459#(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:41:55,802 INFO L290 TraceCheckUtils]: 38: Hoare triple {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !false; {2459#(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:41:55,803 INFO L290 TraceCheckUtils]: 39: Hoare triple {2459#(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; {2459#(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:41:55,803 INFO L290 TraceCheckUtils]: 40: Hoare triple {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !false; {2459#(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:41:55,803 INFO L272 TraceCheckUtils]: 41: Hoare triple {2459#(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)); {2373#true} is VALID [2022-04-28 05:41:55,804 INFO L290 TraceCheckUtils]: 42: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-28 05:41:55,804 INFO L290 TraceCheckUtils]: 43: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-28 05:41:55,804 INFO L290 TraceCheckUtils]: 44: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-28 05:41:55,805 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2373#true} {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #91#return; {2459#(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:41:55,805 INFO L272 TraceCheckUtils]: 46: Hoare triple {2459#(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)); {2373#true} is VALID [2022-04-28 05:41:55,805 INFO L290 TraceCheckUtils]: 47: Hoare triple {2373#true} ~cond := #in~cond; {2520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:41:55,806 INFO L290 TraceCheckUtils]: 48: Hoare triple {2520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:41:55,806 INFO L290 TraceCheckUtils]: 49: Hoare triple {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:41:55,807 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #93#return; {2459#(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:41:55,808 INFO L272 TraceCheckUtils]: 51: Hoare triple {2459#(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)); {2373#true} is VALID [2022-04-28 05:41:55,808 INFO L290 TraceCheckUtils]: 52: Hoare triple {2373#true} ~cond := #in~cond; {2520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:41:55,808 INFO L290 TraceCheckUtils]: 53: Hoare triple {2520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:41:55,809 INFO L290 TraceCheckUtils]: 54: Hoare triple {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:41:55,810 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #95#return; {2459#(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:41:55,811 INFO L272 TraceCheckUtils]: 56: Hoare triple {2459#(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)); {2549#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:41:55,811 INFO L290 TraceCheckUtils]: 57: Hoare triple {2549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:41:55,812 INFO L290 TraceCheckUtils]: 58: Hoare triple {2553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2374#false} is VALID [2022-04-28 05:41:55,812 INFO L290 TraceCheckUtils]: 59: Hoare triple {2374#false} assume !false; {2374#false} is VALID [2022-04-28 05:41:55,813 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 2 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2022-04-28 05:41:55,813 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:42:38,309 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:42:38,309 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1192364200] [2022-04-28 05:42:38,309 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:42:38,309 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1315066708] [2022-04-28 05:42:38,310 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1315066708] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 05:42:38,310 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:42:38,310 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2022-04-28 05:42:38,310 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:42:38,310 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1972682380] [2022-04-28 05:42:38,310 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1972682380] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:42:38,310 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:42:38,310 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 05:42:38,310 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [489651280] [2022-04-28 05:42:38,311 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:42:38,311 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 60 [2022-04-28 05:42:38,311 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:42:38,311 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 05:42:38,347 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:42:38,347 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 05:42:38,347 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:42:38,348 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 05:42:38,348 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:42:38,348 INFO L87 Difference]: Start difference. First operand 59 states and 74 transitions. Second operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 05:42:38,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:38,804 INFO L93 Difference]: Finished difference Result 66 states and 80 transitions. [2022-04-28 05:42:38,804 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 05:42:38,805 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 60 [2022-04-28 05:42:38,805 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:42:38,805 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 05:42:38,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-28 05:42:38,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 05:42:38,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-28 05:42:38,808 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2022-04-28 05:42:38,861 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:42:38,863 INFO L225 Difference]: With dead ends: 66 [2022-04-28 05:42:38,863 INFO L226 Difference]: Without dead ends: 64 [2022-04-28 05:42:38,863 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 56 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2022-04-28 05:42:38,864 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 11 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 128 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 164 SdHoareTripleChecker+Invalid, 130 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 128 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:42:38,864 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 164 Invalid, 130 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 128 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:42:38,865 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-28 05:42:38,928 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 63. [2022-04-28 05:42:38,928 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:42:38,928 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 05:42:38,928 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 05:42:38,929 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 05:42:38,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:38,931 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-28 05:42:38,931 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-28 05:42:38,931 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:42:38,932 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:42:38,932 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 64 states. [2022-04-28 05:42:38,932 INFO L87 Difference]: Start difference. First operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 64 states. [2022-04-28 05:42:38,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:38,934 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-28 05:42:38,934 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-28 05:42:38,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:42:38,935 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:42:38,935 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:42:38,935 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:42:38,935 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 05:42:38,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 77 transitions. [2022-04-28 05:42:38,937 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 77 transitions. Word has length 60 [2022-04-28 05:42:38,938 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:42:38,938 INFO L495 AbstractCegarLoop]: Abstraction has 63 states and 77 transitions. [2022-04-28 05:42:38,938 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 05:42:38,938 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 77 transitions. [2022-04-28 05:42:39,022 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:42:39,022 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-28 05:42:39,023 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-04-28 05:42:39,023 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:42:39,023 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 5, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:42:39,039 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:42:39,227 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:42:39,228 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:42:39,228 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:42:39,228 INFO L85 PathProgramCache]: Analyzing trace with hash -669670075, now seen corresponding path program 1 times [2022-04-28 05:42:39,228 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:42:39,228 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1590110084] [2022-04-28 05:42:39,228 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:42:39,228 INFO L85 PathProgramCache]: Analyzing trace with hash -669670075, now seen corresponding path program 2 times [2022-04-28 05:42:39,228 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:42:39,229 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [665822593] [2022-04-28 05:42:39,229 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:42:39,229 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:42:39,243 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:42:39,243 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [218123277] [2022-04-28 05:42:39,243 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:42:39,244 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:42:39,244 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:42:39,245 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:42:39,259 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:42:39,304 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:42:39,304 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:42:39,305 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 05:42:39,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:42:39,316 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:42:39,524 INFO L272 TraceCheckUtils]: 0: Hoare triple {2966#true} call ULTIMATE.init(); {2966#true} is VALID [2022-04-28 05:42:39,524 INFO L290 TraceCheckUtils]: 1: Hoare triple {2966#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); {2966#true} is VALID [2022-04-28 05:42:39,525 INFO L290 TraceCheckUtils]: 2: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,525 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2966#true} {2966#true} #103#return; {2966#true} is VALID [2022-04-28 05:42:39,525 INFO L272 TraceCheckUtils]: 4: Hoare triple {2966#true} call #t~ret6 := main(); {2966#true} is VALID [2022-04-28 05:42:39,525 INFO L290 TraceCheckUtils]: 5: Hoare triple {2966#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; {2966#true} is VALID [2022-04-28 05:42:39,525 INFO L272 TraceCheckUtils]: 6: Hoare triple {2966#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2966#true} is VALID [2022-04-28 05:42:39,525 INFO L290 TraceCheckUtils]: 7: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,525 INFO L290 TraceCheckUtils]: 8: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,525 INFO L290 TraceCheckUtils]: 9: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,525 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2966#true} {2966#true} #79#return; {2966#true} is VALID [2022-04-28 05:42:39,526 INFO L290 TraceCheckUtils]: 11: Hoare triple {2966#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2966#true} is VALID [2022-04-28 05:42:39,526 INFO L272 TraceCheckUtils]: 12: Hoare triple {2966#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2966#true} is VALID [2022-04-28 05:42:39,526 INFO L290 TraceCheckUtils]: 13: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,526 INFO L290 TraceCheckUtils]: 14: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,526 INFO L290 TraceCheckUtils]: 15: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,526 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2966#true} {2966#true} #81#return; {2966#true} is VALID [2022-04-28 05:42:39,526 INFO L272 TraceCheckUtils]: 17: Hoare triple {2966#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2966#true} is VALID [2022-04-28 05:42:39,526 INFO L290 TraceCheckUtils]: 18: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,526 INFO L290 TraceCheckUtils]: 19: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,527 INFO L290 TraceCheckUtils]: 20: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,527 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2966#true} {2966#true} #83#return; {2966#true} is VALID [2022-04-28 05:42:39,527 INFO L272 TraceCheckUtils]: 22: Hoare triple {2966#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2966#true} is VALID [2022-04-28 05:42:39,527 INFO L290 TraceCheckUtils]: 23: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,527 INFO L290 TraceCheckUtils]: 24: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,527 INFO L290 TraceCheckUtils]: 25: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,527 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2966#true} {2966#true} #85#return; {2966#true} is VALID [2022-04-28 05:42:39,527 INFO L290 TraceCheckUtils]: 27: Hoare triple {2966#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; {2966#true} is VALID [2022-04-28 05:42:39,527 INFO L272 TraceCheckUtils]: 28: Hoare triple {2966#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2966#true} is VALID [2022-04-28 05:42:39,528 INFO L290 TraceCheckUtils]: 29: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,528 INFO L290 TraceCheckUtils]: 30: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,528 INFO L290 TraceCheckUtils]: 31: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,528 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2966#true} {2966#true} #87#return; {2966#true} is VALID [2022-04-28 05:42:39,528 INFO L272 TraceCheckUtils]: 33: Hoare triple {2966#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2966#true} is VALID [2022-04-28 05:42:39,528 INFO L290 TraceCheckUtils]: 34: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,528 INFO L290 TraceCheckUtils]: 35: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,528 INFO L290 TraceCheckUtils]: 36: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,529 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2966#true} {2966#true} #89#return; {2966#true} is VALID [2022-04-28 05:42:39,529 INFO L290 TraceCheckUtils]: 38: Hoare triple {2966#true} assume !false; {2966#true} is VALID [2022-04-28 05:42:39,535 INFO L290 TraceCheckUtils]: 39: Hoare triple {2966#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:42:39,536 INFO L290 TraceCheckUtils]: 40: Hoare triple {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !false; {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:42:39,536 INFO L272 TraceCheckUtils]: 41: Hoare triple {3088#(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)); {2966#true} is VALID [2022-04-28 05:42:39,536 INFO L290 TraceCheckUtils]: 42: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,536 INFO L290 TraceCheckUtils]: 43: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,536 INFO L290 TraceCheckUtils]: 44: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,537 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2966#true} {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #91#return; {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:42:39,537 INFO L272 TraceCheckUtils]: 46: Hoare triple {3088#(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)); {2966#true} is VALID [2022-04-28 05:42:39,537 INFO L290 TraceCheckUtils]: 47: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,537 INFO L290 TraceCheckUtils]: 48: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,537 INFO L290 TraceCheckUtils]: 49: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,538 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2966#true} {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #93#return; {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:42:39,538 INFO L272 TraceCheckUtils]: 51: Hoare triple {3088#(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)); {2966#true} is VALID [2022-04-28 05:42:39,538 INFO L290 TraceCheckUtils]: 52: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,538 INFO L290 TraceCheckUtils]: 53: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,538 INFO L290 TraceCheckUtils]: 54: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,539 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2966#true} {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #95#return; {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:42:39,539 INFO L272 TraceCheckUtils]: 56: Hoare triple {3088#(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)); {2966#true} is VALID [2022-04-28 05:42:39,539 INFO L290 TraceCheckUtils]: 57: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,539 INFO L290 TraceCheckUtils]: 58: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,539 INFO L290 TraceCheckUtils]: 59: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,540 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {2966#true} {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #97#return; {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 05:42:39,541 INFO L290 TraceCheckUtils]: 61: Hoare triple {3088#(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; {3155#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~0) 0))} is VALID [2022-04-28 05:42:39,541 INFO L290 TraceCheckUtils]: 62: Hoare triple {3155#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~0) 0))} assume !false; {3155#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~0) 0))} is VALID [2022-04-28 05:42:39,542 INFO L272 TraceCheckUtils]: 63: Hoare triple {3155#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~0) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3162#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:42:39,542 INFO L290 TraceCheckUtils]: 64: Hoare triple {3162#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3166#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:42:39,542 INFO L290 TraceCheckUtils]: 65: Hoare triple {3166#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2967#false} is VALID [2022-04-28 05:42:39,542 INFO L290 TraceCheckUtils]: 66: Hoare triple {2967#false} assume !false; {2967#false} is VALID [2022-04-28 05:42:39,543 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-28 05:42:39,543 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:42:39,789 INFO L290 TraceCheckUtils]: 66: Hoare triple {2967#false} assume !false; {2967#false} is VALID [2022-04-28 05:42:39,790 INFO L290 TraceCheckUtils]: 65: Hoare triple {3166#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2967#false} is VALID [2022-04-28 05:42:39,790 INFO L290 TraceCheckUtils]: 64: Hoare triple {3162#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3166#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:42:39,791 INFO L272 TraceCheckUtils]: 63: Hoare triple {3182#(= 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)); {3162#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:42:39,792 INFO L290 TraceCheckUtils]: 62: Hoare triple {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:42:39,793 INFO L290 TraceCheckUtils]: 61: Hoare triple {3182#(= 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; {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:42:39,794 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {2966#true} {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #97#return; {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:42:39,794 INFO L290 TraceCheckUtils]: 59: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,794 INFO L290 TraceCheckUtils]: 58: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,794 INFO L290 TraceCheckUtils]: 57: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,795 INFO L272 TraceCheckUtils]: 56: Hoare triple {3182#(= 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)); {2966#true} is VALID [2022-04-28 05:42:39,795 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2966#true} {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #95#return; {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:42:39,795 INFO L290 TraceCheckUtils]: 54: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,796 INFO L290 TraceCheckUtils]: 53: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,796 INFO L290 TraceCheckUtils]: 52: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,796 INFO L272 TraceCheckUtils]: 51: Hoare triple {3182#(= 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)); {2966#true} is VALID [2022-04-28 05:42:39,797 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2966#true} {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #93#return; {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:42:39,797 INFO L290 TraceCheckUtils]: 49: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,797 INFO L290 TraceCheckUtils]: 48: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,797 INFO L290 TraceCheckUtils]: 47: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,797 INFO L272 TraceCheckUtils]: 46: Hoare triple {3182#(= 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)); {2966#true} is VALID [2022-04-28 05:42:39,798 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2966#true} {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #91#return; {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:42:39,798 INFO L290 TraceCheckUtils]: 44: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,798 INFO L290 TraceCheckUtils]: 43: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,798 INFO L290 TraceCheckUtils]: 42: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,798 INFO L272 TraceCheckUtils]: 41: Hoare triple {3182#(= 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)); {2966#true} is VALID [2022-04-28 05:42:39,798 INFO L290 TraceCheckUtils]: 40: Hoare triple {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:42:39,799 INFO L290 TraceCheckUtils]: 39: Hoare triple {2966#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:42:39,799 INFO L290 TraceCheckUtils]: 38: Hoare triple {2966#true} assume !false; {2966#true} is VALID [2022-04-28 05:42:39,799 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2966#true} {2966#true} #89#return; {2966#true} is VALID [2022-04-28 05:42:39,799 INFO L290 TraceCheckUtils]: 36: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,799 INFO L290 TraceCheckUtils]: 35: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,799 INFO L290 TraceCheckUtils]: 34: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,799 INFO L272 TraceCheckUtils]: 33: Hoare triple {2966#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2966#true} is VALID [2022-04-28 05:42:39,800 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2966#true} {2966#true} #87#return; {2966#true} is VALID [2022-04-28 05:42:39,800 INFO L290 TraceCheckUtils]: 31: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,800 INFO L290 TraceCheckUtils]: 30: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,800 INFO L290 TraceCheckUtils]: 29: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,800 INFO L272 TraceCheckUtils]: 28: Hoare triple {2966#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2966#true} is VALID [2022-04-28 05:42:39,800 INFO L290 TraceCheckUtils]: 27: Hoare triple {2966#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; {2966#true} is VALID [2022-04-28 05:42:39,800 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2966#true} {2966#true} #85#return; {2966#true} is VALID [2022-04-28 05:42:39,800 INFO L290 TraceCheckUtils]: 25: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,800 INFO L290 TraceCheckUtils]: 24: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,801 INFO L290 TraceCheckUtils]: 23: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,801 INFO L272 TraceCheckUtils]: 22: Hoare triple {2966#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2966#true} is VALID [2022-04-28 05:42:39,801 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2966#true} {2966#true} #83#return; {2966#true} is VALID [2022-04-28 05:42:39,801 INFO L290 TraceCheckUtils]: 20: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,801 INFO L290 TraceCheckUtils]: 19: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,801 INFO L290 TraceCheckUtils]: 18: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,801 INFO L272 TraceCheckUtils]: 17: Hoare triple {2966#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2966#true} is VALID [2022-04-28 05:42:39,801 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2966#true} {2966#true} #81#return; {2966#true} is VALID [2022-04-28 05:42:39,801 INFO L290 TraceCheckUtils]: 15: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,801 INFO L290 TraceCheckUtils]: 14: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,802 INFO L290 TraceCheckUtils]: 13: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,802 INFO L272 TraceCheckUtils]: 12: Hoare triple {2966#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2966#true} is VALID [2022-04-28 05:42:39,802 INFO L290 TraceCheckUtils]: 11: Hoare triple {2966#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2966#true} is VALID [2022-04-28 05:42:39,802 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2966#true} {2966#true} #79#return; {2966#true} is VALID [2022-04-28 05:42:39,802 INFO L290 TraceCheckUtils]: 9: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,802 INFO L290 TraceCheckUtils]: 8: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 05:42:39,802 INFO L290 TraceCheckUtils]: 7: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 05:42:39,802 INFO L272 TraceCheckUtils]: 6: Hoare triple {2966#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2966#true} is VALID [2022-04-28 05:42:39,802 INFO L290 TraceCheckUtils]: 5: Hoare triple {2966#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; {2966#true} is VALID [2022-04-28 05:42:39,803 INFO L272 TraceCheckUtils]: 4: Hoare triple {2966#true} call #t~ret6 := main(); {2966#true} is VALID [2022-04-28 05:42:39,803 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2966#true} {2966#true} #103#return; {2966#true} is VALID [2022-04-28 05:42:39,803 INFO L290 TraceCheckUtils]: 2: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 05:42:39,803 INFO L290 TraceCheckUtils]: 1: Hoare triple {2966#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); {2966#true} is VALID [2022-04-28 05:42:39,803 INFO L272 TraceCheckUtils]: 0: Hoare triple {2966#true} call ULTIMATE.init(); {2966#true} is VALID [2022-04-28 05:42:39,803 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 86 trivial. 0 not checked. [2022-04-28 05:42:39,803 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:42:39,803 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [665822593] [2022-04-28 05:42:39,804 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:42:39,804 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [218123277] [2022-04-28 05:42:39,804 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [218123277] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 05:42:39,804 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:42:39,804 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-28 05:42:39,804 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:42:39,804 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1590110084] [2022-04-28 05:42:39,804 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1590110084] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:42:39,804 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:42:39,804 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:42:39,805 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [736364560] [2022-04-28 05:42:39,805 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:42:39,805 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) Word has length 67 [2022-04-28 05:42:39,805 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:42:39,806 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-28 05:42:39,846 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:42:39,846 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:42:39,846 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:42:39,847 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:42:39,847 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 05:42:39,847 INFO L87 Difference]: Start difference. First operand 63 states and 77 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-28 05:42:40,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:40,070 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-28 05:42:40,070 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:42:40,070 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) Word has length 67 [2022-04-28 05:42:40,070 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:42:40,071 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-28 05:42:40,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-28 05:42:40,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-28 05:42:40,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-28 05:42:40,073 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-28 05:42:40,114 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:42:40,116 INFO L225 Difference]: With dead ends: 69 [2022-04-28 05:42:40,117 INFO L226 Difference]: Without dead ends: 67 [2022-04-28 05:42:40,117 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 126 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 05:42:40,117 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 6 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:42:40,118 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 137 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:42:40,118 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-28 05:42:40,183 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 59. [2022-04-28 05:42:40,183 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:42:40,183 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 05:42:40,184 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 05:42:40,184 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 05:42:40,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:40,187 INFO L93 Difference]: Finished difference Result 67 states and 80 transitions. [2022-04-28 05:42:40,187 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 80 transitions. [2022-04-28 05:42:40,187 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:42:40,187 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:42:40,187 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-28 05:42:40,188 INFO L87 Difference]: Start difference. First operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-28 05:42:40,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:40,190 INFO L93 Difference]: Finished difference Result 67 states and 80 transitions. [2022-04-28 05:42:40,190 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 80 transitions. [2022-04-28 05:42:40,191 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:42:40,191 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:42:40,191 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:42:40,191 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:42:40,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 05:42:40,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 71 transitions. [2022-04-28 05:42:40,194 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 71 transitions. Word has length 67 [2022-04-28 05:42:40,194 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:42:40,194 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 71 transitions. [2022-04-28 05:42:40,194 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, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-28 05:42:40,194 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 71 transitions. [2022-04-28 05:42:40,309 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:42:40,309 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 71 transitions. [2022-04-28 05:42:40,310 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 05:42:40,310 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:42:40,310 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:42:40,334 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:42:40,510 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:42:40,510 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:42:40,511 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:42:40,511 INFO L85 PathProgramCache]: Analyzing trace with hash -1682830289, now seen corresponding path program 1 times [2022-04-28 05:42:40,511 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:42:40,511 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2038660110] [2022-04-28 05:42:40,512 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:42:40,512 INFO L85 PathProgramCache]: Analyzing trace with hash -1682830289, now seen corresponding path program 2 times [2022-04-28 05:42:40,512 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:42:40,512 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [921093642] [2022-04-28 05:42:40,512 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:42:40,512 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:42:40,535 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:42:40,536 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1686306870] [2022-04-28 05:42:40,536 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:42:40,536 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:42:40,536 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:42:40,544 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:42:40,570 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:42:40,603 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:42:40,603 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:42:40,604 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 05:42:40,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:42:40,617 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:42:40,855 INFO L272 TraceCheckUtils]: 0: Hoare triple {3766#true} call ULTIMATE.init(); {3766#true} is VALID [2022-04-28 05:42:40,855 INFO L290 TraceCheckUtils]: 1: Hoare triple {3766#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); {3766#true} is VALID [2022-04-28 05:42:40,855 INFO L290 TraceCheckUtils]: 2: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:40,855 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3766#true} {3766#true} #103#return; {3766#true} is VALID [2022-04-28 05:42:40,855 INFO L272 TraceCheckUtils]: 4: Hoare triple {3766#true} call #t~ret6 := main(); {3766#true} is VALID [2022-04-28 05:42:40,855 INFO L290 TraceCheckUtils]: 5: Hoare triple {3766#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; {3766#true} is VALID [2022-04-28 05:42:40,855 INFO L272 TraceCheckUtils]: 6: Hoare triple {3766#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {3766#true} is VALID [2022-04-28 05:42:40,855 INFO L290 TraceCheckUtils]: 7: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 05:42:40,855 INFO L290 TraceCheckUtils]: 8: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 05:42:40,856 INFO L290 TraceCheckUtils]: 9: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:40,856 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3766#true} {3766#true} #79#return; {3766#true} is VALID [2022-04-28 05:42:40,856 INFO L290 TraceCheckUtils]: 11: Hoare triple {3766#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3766#true} is VALID [2022-04-28 05:42:40,856 INFO L272 TraceCheckUtils]: 12: Hoare triple {3766#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {3766#true} is VALID [2022-04-28 05:42:40,856 INFO L290 TraceCheckUtils]: 13: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 05:42:40,856 INFO L290 TraceCheckUtils]: 14: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 05:42:40,856 INFO L290 TraceCheckUtils]: 15: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:40,856 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3766#true} {3766#true} #81#return; {3766#true} is VALID [2022-04-28 05:42:40,856 INFO L272 TraceCheckUtils]: 17: Hoare triple {3766#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3766#true} is VALID [2022-04-28 05:42:40,857 INFO L290 TraceCheckUtils]: 18: Hoare triple {3766#true} ~cond := #in~cond; {3825#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:42:40,858 INFO L290 TraceCheckUtils]: 19: Hoare triple {3825#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3829#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:42:40,858 INFO L290 TraceCheckUtils]: 20: Hoare triple {3829#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3829#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:42:40,858 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3829#(not (= |assume_abort_if_not_#in~cond| 0))} {3766#true} #83#return; {3836#(<= 1 main_~x~0)} is VALID [2022-04-28 05:42:40,858 INFO L272 TraceCheckUtils]: 22: Hoare triple {3836#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3766#true} is VALID [2022-04-28 05:42:40,858 INFO L290 TraceCheckUtils]: 23: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 05:42:40,859 INFO L290 TraceCheckUtils]: 24: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 05:42:40,859 INFO L290 TraceCheckUtils]: 25: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:40,859 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3766#true} {3836#(<= 1 main_~x~0)} #85#return; {3836#(<= 1 main_~x~0)} is VALID [2022-04-28 05:42:40,859 INFO L290 TraceCheckUtils]: 27: Hoare triple {3836#(<= 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; {3855#(<= 1 main_~a~0)} is VALID [2022-04-28 05:42:40,860 INFO L272 TraceCheckUtils]: 28: Hoare triple {3855#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3766#true} is VALID [2022-04-28 05:42:40,860 INFO L290 TraceCheckUtils]: 29: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 05:42:40,860 INFO L290 TraceCheckUtils]: 30: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 05:42:40,860 INFO L290 TraceCheckUtils]: 31: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:40,860 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3766#true} {3855#(<= 1 main_~a~0)} #87#return; {3855#(<= 1 main_~a~0)} is VALID [2022-04-28 05:42:40,860 INFO L272 TraceCheckUtils]: 33: Hoare triple {3855#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3766#true} is VALID [2022-04-28 05:42:40,860 INFO L290 TraceCheckUtils]: 34: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 05:42:40,860 INFO L290 TraceCheckUtils]: 35: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 05:42:40,860 INFO L290 TraceCheckUtils]: 36: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:40,861 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3766#true} {3855#(<= 1 main_~a~0)} #89#return; {3855#(<= 1 main_~a~0)} is VALID [2022-04-28 05:42:40,861 INFO L290 TraceCheckUtils]: 38: Hoare triple {3855#(<= 1 main_~a~0)} assume !false; {3855#(<= 1 main_~a~0)} is VALID [2022-04-28 05:42:40,861 INFO L290 TraceCheckUtils]: 39: Hoare triple {3855#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 05:42:40,862 INFO L290 TraceCheckUtils]: 40: Hoare triple {3892#(<= 1 main_~c~0)} assume !false; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 05:42:40,862 INFO L272 TraceCheckUtils]: 41: Hoare triple {3892#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3766#true} is VALID [2022-04-28 05:42:40,862 INFO L290 TraceCheckUtils]: 42: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 05:42:40,862 INFO L290 TraceCheckUtils]: 43: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 05:42:40,862 INFO L290 TraceCheckUtils]: 44: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:40,862 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #91#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 05:42:40,862 INFO L272 TraceCheckUtils]: 46: Hoare triple {3892#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3766#true} is VALID [2022-04-28 05:42:40,863 INFO L290 TraceCheckUtils]: 47: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 05:42:40,863 INFO L290 TraceCheckUtils]: 48: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 05:42:40,863 INFO L290 TraceCheckUtils]: 49: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:40,863 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #93#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 05:42:40,863 INFO L272 TraceCheckUtils]: 51: Hoare triple {3892#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3766#true} is VALID [2022-04-28 05:42:40,863 INFO L290 TraceCheckUtils]: 52: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 05:42:40,863 INFO L290 TraceCheckUtils]: 53: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 05:42:40,864 INFO L290 TraceCheckUtils]: 54: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:40,864 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #95#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 05:42:40,864 INFO L272 TraceCheckUtils]: 56: Hoare triple {3892#(<= 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)); {3766#true} is VALID [2022-04-28 05:42:40,864 INFO L290 TraceCheckUtils]: 57: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 05:42:40,864 INFO L290 TraceCheckUtils]: 58: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 05:42:40,864 INFO L290 TraceCheckUtils]: 59: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:40,865 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #97#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 05:42:40,865 INFO L290 TraceCheckUtils]: 61: Hoare triple {3892#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 05:42:40,866 INFO L290 TraceCheckUtils]: 62: Hoare triple {3892#(<= 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; {3962#(<= 1 main_~b~0)} is VALID [2022-04-28 05:42:40,866 INFO L290 TraceCheckUtils]: 63: Hoare triple {3962#(<= 1 main_~b~0)} assume !false; {3962#(<= 1 main_~b~0)} is VALID [2022-04-28 05:42:40,866 INFO L290 TraceCheckUtils]: 64: Hoare triple {3962#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3767#false} is VALID [2022-04-28 05:42:40,866 INFO L272 TraceCheckUtils]: 65: Hoare triple {3767#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {3767#false} is VALID [2022-04-28 05:42:40,866 INFO L290 TraceCheckUtils]: 66: Hoare triple {3767#false} ~cond := #in~cond; {3767#false} is VALID [2022-04-28 05:42:40,866 INFO L290 TraceCheckUtils]: 67: Hoare triple {3767#false} assume 0 == ~cond; {3767#false} is VALID [2022-04-28 05:42:40,867 INFO L290 TraceCheckUtils]: 68: Hoare triple {3767#false} assume !false; {3767#false} is VALID [2022-04-28 05:42:40,867 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-28 05:42:40,867 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:42:41,202 INFO L290 TraceCheckUtils]: 68: Hoare triple {3767#false} assume !false; {3767#false} is VALID [2022-04-28 05:42:41,202 INFO L290 TraceCheckUtils]: 67: Hoare triple {3767#false} assume 0 == ~cond; {3767#false} is VALID [2022-04-28 05:42:41,202 INFO L290 TraceCheckUtils]: 66: Hoare triple {3767#false} ~cond := #in~cond; {3767#false} is VALID [2022-04-28 05:42:41,202 INFO L272 TraceCheckUtils]: 65: Hoare triple {3767#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {3767#false} is VALID [2022-04-28 05:42:41,203 INFO L290 TraceCheckUtils]: 64: Hoare triple {3962#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3767#false} is VALID [2022-04-28 05:42:41,203 INFO L290 TraceCheckUtils]: 63: Hoare triple {3962#(<= 1 main_~b~0)} assume !false; {3962#(<= 1 main_~b~0)} is VALID [2022-04-28 05:42:41,204 INFO L290 TraceCheckUtils]: 62: Hoare triple {3892#(<= 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; {3962#(<= 1 main_~b~0)} is VALID [2022-04-28 05:42:41,204 INFO L290 TraceCheckUtils]: 61: Hoare triple {3892#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 05:42:41,205 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #97#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 05:42:41,205 INFO L290 TraceCheckUtils]: 59: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:41,205 INFO L290 TraceCheckUtils]: 58: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 05:42:41,205 INFO L290 TraceCheckUtils]: 57: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 05:42:41,205 INFO L272 TraceCheckUtils]: 56: Hoare triple {3892#(<= 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)); {3766#true} is VALID [2022-04-28 05:42:41,205 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #95#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 05:42:41,205 INFO L290 TraceCheckUtils]: 54: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:41,206 INFO L290 TraceCheckUtils]: 53: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 05:42:41,206 INFO L290 TraceCheckUtils]: 52: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 05:42:41,206 INFO L272 TraceCheckUtils]: 51: Hoare triple {3892#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3766#true} is VALID [2022-04-28 05:42:41,206 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #93#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 05:42:41,206 INFO L290 TraceCheckUtils]: 49: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:41,206 INFO L290 TraceCheckUtils]: 48: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 05:42:41,206 INFO L290 TraceCheckUtils]: 47: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 05:42:41,207 INFO L272 TraceCheckUtils]: 46: Hoare triple {3892#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3766#true} is VALID [2022-04-28 05:42:41,208 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #91#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 05:42:41,208 INFO L290 TraceCheckUtils]: 44: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:41,208 INFO L290 TraceCheckUtils]: 43: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 05:42:41,208 INFO L290 TraceCheckUtils]: 42: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 05:42:41,208 INFO L272 TraceCheckUtils]: 41: Hoare triple {3892#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3766#true} is VALID [2022-04-28 05:42:41,208 INFO L290 TraceCheckUtils]: 40: Hoare triple {3892#(<= 1 main_~c~0)} assume !false; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 05:42:41,209 INFO L290 TraceCheckUtils]: 39: Hoare triple {3855#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 05:42:41,209 INFO L290 TraceCheckUtils]: 38: Hoare triple {3855#(<= 1 main_~a~0)} assume !false; {3855#(<= 1 main_~a~0)} is VALID [2022-04-28 05:42:41,209 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3766#true} {3855#(<= 1 main_~a~0)} #89#return; {3855#(<= 1 main_~a~0)} is VALID [2022-04-28 05:42:41,209 INFO L290 TraceCheckUtils]: 36: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:41,209 INFO L290 TraceCheckUtils]: 35: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 05:42:41,210 INFO L290 TraceCheckUtils]: 34: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 05:42:41,210 INFO L272 TraceCheckUtils]: 33: Hoare triple {3855#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3766#true} is VALID [2022-04-28 05:42:41,210 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3766#true} {3855#(<= 1 main_~a~0)} #87#return; {3855#(<= 1 main_~a~0)} is VALID [2022-04-28 05:42:41,210 INFO L290 TraceCheckUtils]: 31: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:41,210 INFO L290 TraceCheckUtils]: 30: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 05:42:41,210 INFO L290 TraceCheckUtils]: 29: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 05:42:41,210 INFO L272 TraceCheckUtils]: 28: Hoare triple {3855#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3766#true} is VALID [2022-04-28 05:42:41,211 INFO L290 TraceCheckUtils]: 27: Hoare triple {3836#(<= 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; {3855#(<= 1 main_~a~0)} is VALID [2022-04-28 05:42:41,211 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3766#true} {3836#(<= 1 main_~x~0)} #85#return; {3836#(<= 1 main_~x~0)} is VALID [2022-04-28 05:42:41,211 INFO L290 TraceCheckUtils]: 25: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:41,211 INFO L290 TraceCheckUtils]: 24: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 05:42:41,211 INFO L290 TraceCheckUtils]: 23: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 05:42:41,211 INFO L272 TraceCheckUtils]: 22: Hoare triple {3836#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3766#true} is VALID [2022-04-28 05:42:41,212 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3829#(not (= |assume_abort_if_not_#in~cond| 0))} {3766#true} #83#return; {3836#(<= 1 main_~x~0)} is VALID [2022-04-28 05:42:41,212 INFO L290 TraceCheckUtils]: 20: Hoare triple {3829#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3829#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:42:41,213 INFO L290 TraceCheckUtils]: 19: Hoare triple {4131#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {3829#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:42:41,213 INFO L290 TraceCheckUtils]: 18: Hoare triple {3766#true} ~cond := #in~cond; {4131#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 05:42:41,213 INFO L272 TraceCheckUtils]: 17: Hoare triple {3766#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3766#true} is VALID [2022-04-28 05:42:41,213 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3766#true} {3766#true} #81#return; {3766#true} is VALID [2022-04-28 05:42:41,213 INFO L290 TraceCheckUtils]: 15: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:41,213 INFO L290 TraceCheckUtils]: 14: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 05:42:41,213 INFO L290 TraceCheckUtils]: 13: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 05:42:41,214 INFO L272 TraceCheckUtils]: 12: Hoare triple {3766#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {3766#true} is VALID [2022-04-28 05:42:41,214 INFO L290 TraceCheckUtils]: 11: Hoare triple {3766#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3766#true} is VALID [2022-04-28 05:42:41,214 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3766#true} {3766#true} #79#return; {3766#true} is VALID [2022-04-28 05:42:41,214 INFO L290 TraceCheckUtils]: 9: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:41,214 INFO L290 TraceCheckUtils]: 8: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 05:42:41,214 INFO L290 TraceCheckUtils]: 7: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 05:42:41,214 INFO L272 TraceCheckUtils]: 6: Hoare triple {3766#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {3766#true} is VALID [2022-04-28 05:42:41,214 INFO L290 TraceCheckUtils]: 5: Hoare triple {3766#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; {3766#true} is VALID [2022-04-28 05:42:41,214 INFO L272 TraceCheckUtils]: 4: Hoare triple {3766#true} call #t~ret6 := main(); {3766#true} is VALID [2022-04-28 05:42:41,214 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3766#true} {3766#true} #103#return; {3766#true} is VALID [2022-04-28 05:42:41,214 INFO L290 TraceCheckUtils]: 2: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 05:42:41,214 INFO L290 TraceCheckUtils]: 1: Hoare triple {3766#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); {3766#true} is VALID [2022-04-28 05:42:41,214 INFO L272 TraceCheckUtils]: 0: Hoare triple {3766#true} call ULTIMATE.init(); {3766#true} is VALID [2022-04-28 05:42:41,215 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-28 05:42:41,215 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:42:41,215 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [921093642] [2022-04-28 05:42:41,215 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:42:41,215 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1686306870] [2022-04-28 05:42:41,215 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1686306870] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:42:41,215 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:42:41,215 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 05:42:41,215 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:42:41,215 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2038660110] [2022-04-28 05:42:41,216 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2038660110] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:42:41,216 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:42:41,216 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 05:42:41,216 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1173169829] [2022-04-28 05:42:41,216 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:42:41,216 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-28 05:42:41,217 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:42:41,217 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 05:42:41,259 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:42:41,260 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 05:42:41,260 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:42:41,260 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 05:42:41,260 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:42:41,260 INFO L87 Difference]: Start difference. First operand 59 states and 71 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 05:42:42,160 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:42,161 INFO L93 Difference]: Finished difference Result 106 states and 146 transitions. [2022-04-28 05:42:42,161 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 05:42:42,161 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-28 05:42:42,161 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:42:42,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 05:42:42,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-28 05:42:42,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 05:42:42,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-28 05:42:42,168 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 110 transitions. [2022-04-28 05:42:42,256 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:42,259 INFO L225 Difference]: With dead ends: 106 [2022-04-28 05:42:42,259 INFO L226 Difference]: Without dead ends: 98 [2022-04-28 05:42:42,259 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 142 GetRequests, 129 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-28 05:42:42,260 INFO L413 NwaCegarLoop]: 60 mSDtfsCounter, 30 mSDsluCounter, 199 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 259 SdHoareTripleChecker+Invalid, 227 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 05:42:42,260 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 259 Invalid, 227 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 05:42:42,260 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-28 05:42:42,427 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 89. [2022-04-28 05:42:42,428 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:42:42,428 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 05:42:42,428 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 05:42:42,429 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 05:42:42,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:42,433 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-28 05:42:42,433 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-28 05:42:42,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:42:42,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:42:42,434 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) Second operand 98 states. [2022-04-28 05:42:42,434 INFO L87 Difference]: Start difference. First operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) Second operand 98 states. [2022-04-28 05:42:42,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:42:42,438 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-28 05:42:42,438 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-28 05:42:42,438 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:42:42,438 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:42:42,438 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:42:42,439 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:42:42,439 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 05:42:42,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 122 transitions. [2022-04-28 05:42:42,442 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 122 transitions. Word has length 69 [2022-04-28 05:42:42,442 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:42:42,442 INFO L495 AbstractCegarLoop]: Abstraction has 89 states and 122 transitions. [2022-04-28 05:42:42,443 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 05:42:42,443 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 122 transitions. [2022-04-28 05:42:42,631 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:42:42,632 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 122 transitions. [2022-04-28 05:42:42,632 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-28 05:42:42,632 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:42:42,632 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 6, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:42:42,648 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:42:42,835 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:42:42,835 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:42:42,836 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:42:42,836 INFO L85 PathProgramCache]: Analyzing trace with hash 376741854, now seen corresponding path program 1 times [2022-04-28 05:42:42,836 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:42:42,836 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [878884725] [2022-04-28 05:42:42,836 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:42:42,836 INFO L85 PathProgramCache]: Analyzing trace with hash 376741854, now seen corresponding path program 2 times [2022-04-28 05:42:42,836 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:42:42,837 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [681746052] [2022-04-28 05:42:42,837 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:42:42,837 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:42:42,852 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:42:42,852 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1602237553] [2022-04-28 05:42:42,852 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:42:42,852 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:42:42,852 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:42:42,853 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:42:42,867 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:42:42,924 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:42:42,924 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:42:42,925 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 05:42:42,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:42:42,939 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:42:43,233 INFO L272 TraceCheckUtils]: 0: Hoare triple {4784#true} call ULTIMATE.init(); {4784#true} is VALID [2022-04-28 05:42:43,233 INFO L290 TraceCheckUtils]: 1: Hoare triple {4784#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); {4784#true} is VALID [2022-04-28 05:42:43,234 INFO L290 TraceCheckUtils]: 2: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:42:43,234 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4784#true} {4784#true} #103#return; {4784#true} is VALID [2022-04-28 05:42:43,234 INFO L272 TraceCheckUtils]: 4: Hoare triple {4784#true} call #t~ret6 := main(); {4784#true} is VALID [2022-04-28 05:42:43,234 INFO L290 TraceCheckUtils]: 5: Hoare triple {4784#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; {4784#true} is VALID [2022-04-28 05:42:43,234 INFO L272 TraceCheckUtils]: 6: Hoare triple {4784#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {4784#true} is VALID [2022-04-28 05:42:43,234 INFO L290 TraceCheckUtils]: 7: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:42:43,234 INFO L290 TraceCheckUtils]: 8: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:42:43,234 INFO L290 TraceCheckUtils]: 9: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:42:43,234 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4784#true} {4784#true} #79#return; {4784#true} is VALID [2022-04-28 05:42:43,234 INFO L290 TraceCheckUtils]: 11: Hoare triple {4784#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4784#true} is VALID [2022-04-28 05:42:43,235 INFO L272 TraceCheckUtils]: 12: Hoare triple {4784#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {4784#true} is VALID [2022-04-28 05:42:43,235 INFO L290 TraceCheckUtils]: 13: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:42:43,235 INFO L290 TraceCheckUtils]: 14: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:42:43,235 INFO L290 TraceCheckUtils]: 15: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:42:43,235 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4784#true} {4784#true} #81#return; {4784#true} is VALID [2022-04-28 05:42:43,235 INFO L272 TraceCheckUtils]: 17: Hoare triple {4784#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4784#true} is VALID [2022-04-28 05:42:43,235 INFO L290 TraceCheckUtils]: 18: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:42:43,235 INFO L290 TraceCheckUtils]: 19: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:42:43,235 INFO L290 TraceCheckUtils]: 20: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:42:43,235 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4784#true} {4784#true} #83#return; {4784#true} is VALID [2022-04-28 05:42:43,235 INFO L272 TraceCheckUtils]: 22: Hoare triple {4784#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4784#true} is VALID [2022-04-28 05:42:43,235 INFO L290 TraceCheckUtils]: 23: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:42:43,235 INFO L290 TraceCheckUtils]: 24: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:42:43,236 INFO L290 TraceCheckUtils]: 25: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:42:43,236 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4784#true} {4784#true} #85#return; {4784#true} is VALID [2022-04-28 05:42:43,236 INFO L290 TraceCheckUtils]: 27: Hoare triple {4784#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; {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:42:43,236 INFO L272 TraceCheckUtils]: 28: Hoare triple {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4784#true} is VALID [2022-04-28 05:42:43,236 INFO L290 TraceCheckUtils]: 29: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:42:43,236 INFO L290 TraceCheckUtils]: 30: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:42:43,236 INFO L290 TraceCheckUtils]: 31: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:42:43,237 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4784#true} {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} #87#return; {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:42:43,237 INFO L272 TraceCheckUtils]: 33: Hoare triple {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4784#true} is VALID [2022-04-28 05:42:43,237 INFO L290 TraceCheckUtils]: 34: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:42:43,237 INFO L290 TraceCheckUtils]: 35: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:42:43,237 INFO L290 TraceCheckUtils]: 36: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:42:43,238 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4784#true} {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} #89#return; {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:42:43,238 INFO L290 TraceCheckUtils]: 38: Hoare triple {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:42:43,238 INFO L290 TraceCheckUtils]: 39: Hoare triple {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4907#(= main_~q~0 0)} is VALID [2022-04-28 05:42:43,238 INFO L290 TraceCheckUtils]: 40: Hoare triple {4907#(= main_~q~0 0)} assume !false; {4907#(= main_~q~0 0)} is VALID [2022-04-28 05:42:43,239 INFO L272 TraceCheckUtils]: 41: Hoare triple {4907#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4784#true} is VALID [2022-04-28 05:42:43,239 INFO L290 TraceCheckUtils]: 42: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:42:43,239 INFO L290 TraceCheckUtils]: 43: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:42:43,239 INFO L290 TraceCheckUtils]: 44: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:42:43,240 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4784#true} {4907#(= main_~q~0 0)} #91#return; {4907#(= main_~q~0 0)} is VALID [2022-04-28 05:42:43,240 INFO L272 TraceCheckUtils]: 46: Hoare triple {4907#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4784#true} is VALID [2022-04-28 05:42:43,240 INFO L290 TraceCheckUtils]: 47: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:42:43,240 INFO L290 TraceCheckUtils]: 48: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:42:43,240 INFO L290 TraceCheckUtils]: 49: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:42:43,240 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4784#true} {4907#(= main_~q~0 0)} #93#return; {4907#(= main_~q~0 0)} is VALID [2022-04-28 05:42:43,241 INFO L272 TraceCheckUtils]: 51: Hoare triple {4907#(= main_~q~0 0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4784#true} is VALID [2022-04-28 05:42:43,241 INFO L290 TraceCheckUtils]: 52: Hoare triple {4784#true} ~cond := #in~cond; {4947#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:42:43,241 INFO L290 TraceCheckUtils]: 53: Hoare triple {4947#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4951#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:42:43,241 INFO L290 TraceCheckUtils]: 54: Hoare triple {4951#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4951#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:42:43,242 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4951#(not (= |__VERIFIER_assert_#in~cond| 0))} {4907#(= main_~q~0 0)} #95#return; {4958#(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:43,242 INFO L272 TraceCheckUtils]: 56: Hoare triple {4958#(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)); {4784#true} is VALID [2022-04-28 05:42:43,242 INFO L290 TraceCheckUtils]: 57: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:42:43,242 INFO L290 TraceCheckUtils]: 58: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:42:43,242 INFO L290 TraceCheckUtils]: 59: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:42:43,243 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {4784#true} {4958#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} #97#return; {4958#(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:43,243 INFO L290 TraceCheckUtils]: 61: Hoare triple {4958#(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); {4958#(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:43,244 INFO L290 TraceCheckUtils]: 62: Hoare triple {4958#(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; {4980#(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:43,244 INFO L290 TraceCheckUtils]: 63: Hoare triple {4980#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {4980#(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:43,245 INFO L290 TraceCheckUtils]: 64: Hoare triple {4980#(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; {4980#(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:43,245 INFO L290 TraceCheckUtils]: 65: Hoare triple {4980#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {4980#(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:43,245 INFO L272 TraceCheckUtils]: 66: Hoare triple {4980#(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)); {4784#true} is VALID [2022-04-28 05:42:43,245 INFO L290 TraceCheckUtils]: 67: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:42:43,245 INFO L290 TraceCheckUtils]: 68: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:42:43,247 INFO L290 TraceCheckUtils]: 69: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:42:43,252 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {4784#true} {4980#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #91#return; {4980#(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:43,253 INFO L272 TraceCheckUtils]: 71: Hoare triple {4980#(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)); {5008#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:42:43,253 INFO L290 TraceCheckUtils]: 72: Hoare triple {5008#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5012#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:42:43,253 INFO L290 TraceCheckUtils]: 73: Hoare triple {5012#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4785#false} is VALID [2022-04-28 05:42:43,254 INFO L290 TraceCheckUtils]: 74: Hoare triple {4785#false} assume !false; {4785#false} is VALID [2022-04-28 05:42:43,254 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 15 proven. 12 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-28 05:42:43,254 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:43:04,331 INFO L290 TraceCheckUtils]: 74: Hoare triple {4785#false} assume !false; {4785#false} is VALID [2022-04-28 05:43:04,332 INFO L290 TraceCheckUtils]: 73: Hoare triple {5012#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4785#false} is VALID [2022-04-28 05:43:04,332 INFO L290 TraceCheckUtils]: 72: Hoare triple {5008#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5012#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:43:04,333 INFO L272 TraceCheckUtils]: 71: Hoare triple {5028#(= 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)); {5008#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:43:04,334 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {4784#true} {5028#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #91#return; {5028#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:43:04,334 INFO L290 TraceCheckUtils]: 69: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:43:04,334 INFO L290 TraceCheckUtils]: 68: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:43:04,334 INFO L290 TraceCheckUtils]: 67: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:43:04,334 INFO L272 TraceCheckUtils]: 66: Hoare triple {5028#(= 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)); {4784#true} is VALID [2022-04-28 05:43:04,334 INFO L290 TraceCheckUtils]: 65: Hoare triple {5028#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {5028#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:43:04,335 INFO L290 TraceCheckUtils]: 64: Hoare triple {5028#(= 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; {5028#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:43:04,335 INFO L290 TraceCheckUtils]: 63: Hoare triple {5028#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {5028#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:43:04,335 INFO L290 TraceCheckUtils]: 62: Hoare triple {5056#(= 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; {5028#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:43:04,336 INFO L290 TraceCheckUtils]: 61: Hoare triple {5056#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {5056#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:43:04,336 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {4784#true} {5056#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #97#return; {5056#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:43:04,337 INFO L290 TraceCheckUtils]: 59: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:43:04,337 INFO L290 TraceCheckUtils]: 58: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:43:04,337 INFO L290 TraceCheckUtils]: 57: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:43:04,337 INFO L272 TraceCheckUtils]: 56: Hoare triple {5056#(= 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)); {4784#true} is VALID [2022-04-28 05:43:04,337 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4951#(not (= |__VERIFIER_assert_#in~cond| 0))} {4784#true} #95#return; {5056#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:43:04,338 INFO L290 TraceCheckUtils]: 54: Hoare triple {4951#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4951#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:43:04,338 INFO L290 TraceCheckUtils]: 53: Hoare triple {5087#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4951#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:43:04,338 INFO L290 TraceCheckUtils]: 52: Hoare triple {4784#true} ~cond := #in~cond; {5087#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:43:04,338 INFO L272 TraceCheckUtils]: 51: Hoare triple {4784#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4784#true} is VALID [2022-04-28 05:43:04,338 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4784#true} {4784#true} #93#return; {4784#true} is VALID [2022-04-28 05:43:04,339 INFO L290 TraceCheckUtils]: 49: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:43:04,339 INFO L290 TraceCheckUtils]: 48: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:43:04,339 INFO L290 TraceCheckUtils]: 47: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:43:04,339 INFO L272 TraceCheckUtils]: 46: Hoare triple {4784#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4784#true} is VALID [2022-04-28 05:43:04,339 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4784#true} {4784#true} #91#return; {4784#true} is VALID [2022-04-28 05:43:04,339 INFO L290 TraceCheckUtils]: 44: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:43:04,339 INFO L290 TraceCheckUtils]: 43: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:43:04,339 INFO L290 TraceCheckUtils]: 42: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:43:04,339 INFO L272 TraceCheckUtils]: 41: Hoare triple {4784#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4784#true} is VALID [2022-04-28 05:43:04,339 INFO L290 TraceCheckUtils]: 40: Hoare triple {4784#true} assume !false; {4784#true} is VALID [2022-04-28 05:43:04,339 INFO L290 TraceCheckUtils]: 39: Hoare triple {4784#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4784#true} is VALID [2022-04-28 05:43:04,339 INFO L290 TraceCheckUtils]: 38: Hoare triple {4784#true} assume !false; {4784#true} is VALID [2022-04-28 05:43:04,339 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4784#true} {4784#true} #89#return; {4784#true} is VALID [2022-04-28 05:43:04,339 INFO L290 TraceCheckUtils]: 36: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:43:04,340 INFO L290 TraceCheckUtils]: 35: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:43:04,340 INFO L290 TraceCheckUtils]: 34: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:43:04,340 INFO L272 TraceCheckUtils]: 33: Hoare triple {4784#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4784#true} is VALID [2022-04-28 05:43:04,340 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4784#true} {4784#true} #87#return; {4784#true} is VALID [2022-04-28 05:43:04,340 INFO L290 TraceCheckUtils]: 31: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:43:04,340 INFO L290 TraceCheckUtils]: 30: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:43:04,340 INFO L290 TraceCheckUtils]: 29: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:43:04,340 INFO L272 TraceCheckUtils]: 28: Hoare triple {4784#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4784#true} is VALID [2022-04-28 05:43:04,340 INFO L290 TraceCheckUtils]: 27: Hoare triple {4784#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; {4784#true} is VALID [2022-04-28 05:43:04,340 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4784#true} {4784#true} #85#return; {4784#true} is VALID [2022-04-28 05:43:04,341 INFO L290 TraceCheckUtils]: 25: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:43:04,341 INFO L290 TraceCheckUtils]: 24: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:43:04,341 INFO L290 TraceCheckUtils]: 23: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:43:04,341 INFO L272 TraceCheckUtils]: 22: Hoare triple {4784#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4784#true} is VALID [2022-04-28 05:43:04,341 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4784#true} {4784#true} #83#return; {4784#true} is VALID [2022-04-28 05:43:04,341 INFO L290 TraceCheckUtils]: 20: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:43:04,341 INFO L290 TraceCheckUtils]: 19: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:43:04,341 INFO L290 TraceCheckUtils]: 18: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:43:04,341 INFO L272 TraceCheckUtils]: 17: Hoare triple {4784#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4784#true} is VALID [2022-04-28 05:43:04,342 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4784#true} {4784#true} #81#return; {4784#true} is VALID [2022-04-28 05:43:04,342 INFO L290 TraceCheckUtils]: 15: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:43:04,342 INFO L290 TraceCheckUtils]: 14: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:43:04,342 INFO L290 TraceCheckUtils]: 13: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:43:04,342 INFO L272 TraceCheckUtils]: 12: Hoare triple {4784#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {4784#true} is VALID [2022-04-28 05:43:04,342 INFO L290 TraceCheckUtils]: 11: Hoare triple {4784#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4784#true} is VALID [2022-04-28 05:43:04,342 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4784#true} {4784#true} #79#return; {4784#true} is VALID [2022-04-28 05:43:04,342 INFO L290 TraceCheckUtils]: 9: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:43:04,342 INFO L290 TraceCheckUtils]: 8: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 05:43:04,342 INFO L290 TraceCheckUtils]: 7: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 05:43:04,343 INFO L272 TraceCheckUtils]: 6: Hoare triple {4784#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {4784#true} is VALID [2022-04-28 05:43:04,343 INFO L290 TraceCheckUtils]: 5: Hoare triple {4784#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; {4784#true} is VALID [2022-04-28 05:43:04,343 INFO L272 TraceCheckUtils]: 4: Hoare triple {4784#true} call #t~ret6 := main(); {4784#true} is VALID [2022-04-28 05:43:04,343 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4784#true} {4784#true} #103#return; {4784#true} is VALID [2022-04-28 05:43:04,343 INFO L290 TraceCheckUtils]: 2: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 05:43:04,343 INFO L290 TraceCheckUtils]: 1: Hoare triple {4784#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); {4784#true} is VALID [2022-04-28 05:43:04,343 INFO L272 TraceCheckUtils]: 0: Hoare triple {4784#true} call ULTIMATE.init(); {4784#true} is VALID [2022-04-28 05:43:04,343 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 20 proven. 7 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-28 05:43:04,344 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:43:04,344 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [681746052] [2022-04-28 05:43:04,344 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:43:04,344 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1602237553] [2022-04-28 05:43:04,344 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1602237553] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:43:04,344 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:43:04,344 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 13 [2022-04-28 05:43:04,344 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:43:04,345 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [878884725] [2022-04-28 05:43:04,345 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [878884725] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:43:04,345 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:43:04,345 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 05:43:04,345 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1799777121] [2022-04-28 05:43:04,345 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:43:04,345 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-28 05:43:04,346 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:43:04,346 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:43:04,383 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:43:04,383 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 05:43:04,383 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:43:04,384 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 05:43:04,384 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-28 05:43:04,384 INFO L87 Difference]: Start difference. First operand 89 states and 122 transitions. Second operand has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:43:05,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:43:05,185 INFO L93 Difference]: Finished difference Result 124 states and 173 transitions. [2022-04-28 05:43:05,185 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 05:43:05,185 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-28 05:43:05,186 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:43:05,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:43:05,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-28 05:43:05,188 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:43:05,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-28 05:43:05,189 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 83 transitions. [2022-04-28 05:43:05,265 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:43:05,268 INFO L225 Difference]: With dead ends: 124 [2022-04-28 05:43:05,268 INFO L226 Difference]: Without dead ends: 121 [2022-04-28 05:43:05,269 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 152 GetRequests, 137 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=50, Invalid=190, Unknown=0, NotChecked=0, Total=240 [2022-04-28 05:43:05,269 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 24 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 182 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 187 SdHoareTripleChecker+Invalid, 201 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 182 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 05:43:05,269 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 187 Invalid, 201 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 182 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 05:43:05,270 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-28 05:43:05,536 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 118. [2022-04-28 05:43:05,536 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:43:05,537 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 118 states, 62 states have (on average 1.2096774193548387) internal successors, (75), 64 states have internal predecessors, (75), 47 states have call successors, (47), 9 states have call predecessors, (47), 8 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:43:05,537 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 118 states, 62 states have (on average 1.2096774193548387) internal successors, (75), 64 states have internal predecessors, (75), 47 states have call successors, (47), 9 states have call predecessors, (47), 8 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:43:05,538 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 118 states, 62 states have (on average 1.2096774193548387) internal successors, (75), 64 states have internal predecessors, (75), 47 states have call successors, (47), 9 states have call predecessors, (47), 8 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:43:05,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:43:05,542 INFO L93 Difference]: Finished difference Result 121 states and 169 transitions. [2022-04-28 05:43:05,542 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 169 transitions. [2022-04-28 05:43:05,543 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:43:05,543 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:43:05,543 INFO L74 IsIncluded]: Start isIncluded. First operand has 118 states, 62 states have (on average 1.2096774193548387) internal successors, (75), 64 states have internal predecessors, (75), 47 states have call successors, (47), 9 states have call predecessors, (47), 8 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 121 states. [2022-04-28 05:43:05,544 INFO L87 Difference]: Start difference. First operand has 118 states, 62 states have (on average 1.2096774193548387) internal successors, (75), 64 states have internal predecessors, (75), 47 states have call successors, (47), 9 states have call predecessors, (47), 8 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 121 states. [2022-04-28 05:43:05,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:43:05,548 INFO L93 Difference]: Finished difference Result 121 states and 169 transitions. [2022-04-28 05:43:05,548 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 169 transitions. [2022-04-28 05:43:05,548 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:43:05,548 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:43:05,548 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:43:05,548 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:43:05,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 118 states, 62 states have (on average 1.2096774193548387) internal successors, (75), 64 states have internal predecessors, (75), 47 states have call successors, (47), 9 states have call predecessors, (47), 8 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:43:05,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 118 states to 118 states and 166 transitions. [2022-04-28 05:43:05,553 INFO L78 Accepts]: Start accepts. Automaton has 118 states and 166 transitions. Word has length 75 [2022-04-28 05:43:05,553 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:43:05,553 INFO L495 AbstractCegarLoop]: Abstraction has 118 states and 166 transitions. [2022-04-28 05:43:05,554 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:43:05,554 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 118 states and 166 transitions. [2022-04-28 05:43:05,798 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 166 edges. 166 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:43:05,798 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 166 transitions. [2022-04-28 05:43:05,798 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-28 05:43:05,798 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:43:05,798 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:43:05,815 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:43:06,003 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:43:06,003 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:43:06,004 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:43:06,004 INFO L85 PathProgramCache]: Analyzing trace with hash -1245952186, now seen corresponding path program 3 times [2022-04-28 05:43:06,004 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:43:06,004 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1382177845] [2022-04-28 05:43:06,004 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:43:06,004 INFO L85 PathProgramCache]: Analyzing trace with hash -1245952186, now seen corresponding path program 4 times [2022-04-28 05:43:06,005 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:43:06,005 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1385244379] [2022-04-28 05:43:06,005 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:43:06,005 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:43:06,031 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:43:06,040 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1719048415] [2022-04-28 05:43:06,040 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:43:06,041 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:43:06,041 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:43:06,042 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:43:06,043 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:43:06,093 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:43:06,093 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:43:06,094 INFO L263 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 54 conjunts are in the unsatisfiable core [2022-04-28 05:43:06,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:43:06,113 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:43:07,230 INFO L272 TraceCheckUtils]: 0: Hoare triple {5978#true} call ULTIMATE.init(); {5978#true} is VALID [2022-04-28 05:43:07,231 INFO L290 TraceCheckUtils]: 1: Hoare triple {5978#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); {5978#true} is VALID [2022-04-28 05:43:07,231 INFO L290 TraceCheckUtils]: 2: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:43:07,231 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5978#true} {5978#true} #103#return; {5978#true} is VALID [2022-04-28 05:43:07,231 INFO L272 TraceCheckUtils]: 4: Hoare triple {5978#true} call #t~ret6 := main(); {5978#true} is VALID [2022-04-28 05:43:07,231 INFO L290 TraceCheckUtils]: 5: Hoare triple {5978#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; {5978#true} is VALID [2022-04-28 05:43:07,231 INFO L272 TraceCheckUtils]: 6: Hoare triple {5978#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {5978#true} is VALID [2022-04-28 05:43:07,231 INFO L290 TraceCheckUtils]: 7: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 05:43:07,231 INFO L290 TraceCheckUtils]: 8: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 05:43:07,232 INFO L290 TraceCheckUtils]: 9: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:43:07,232 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5978#true} {5978#true} #79#return; {5978#true} is VALID [2022-04-28 05:43:07,232 INFO L290 TraceCheckUtils]: 11: Hoare triple {5978#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5978#true} is VALID [2022-04-28 05:43:07,232 INFO L272 TraceCheckUtils]: 12: Hoare triple {5978#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {5978#true} is VALID [2022-04-28 05:43:07,232 INFO L290 TraceCheckUtils]: 13: Hoare triple {5978#true} ~cond := #in~cond; {6022#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:43:07,233 INFO L290 TraceCheckUtils]: 14: Hoare triple {6022#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6026#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:43:07,233 INFO L290 TraceCheckUtils]: 15: Hoare triple {6026#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6026#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:43:07,234 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6026#(not (= |assume_abort_if_not_#in~cond| 0))} {5978#true} #81#return; {6033#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:43:07,234 INFO L272 TraceCheckUtils]: 17: Hoare triple {6033#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5978#true} is VALID [2022-04-28 05:43:07,234 INFO L290 TraceCheckUtils]: 18: Hoare triple {5978#true} ~cond := #in~cond; {6022#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:43:07,235 INFO L290 TraceCheckUtils]: 19: Hoare triple {6022#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6026#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:43:07,235 INFO L290 TraceCheckUtils]: 20: Hoare triple {6026#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6026#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:43:07,236 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6026#(not (= |assume_abort_if_not_#in~cond| 0))} {6033#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #83#return; {6049#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:43:07,236 INFO L272 TraceCheckUtils]: 22: Hoare triple {6049#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5978#true} is VALID [2022-04-28 05:43:07,236 INFO L290 TraceCheckUtils]: 23: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 05:43:07,236 INFO L290 TraceCheckUtils]: 24: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 05:43:07,237 INFO L290 TraceCheckUtils]: 25: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:43:07,237 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5978#true} {6049#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} #85#return; {6049#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:43:07,238 INFO L290 TraceCheckUtils]: 27: Hoare triple {6049#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} ~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; {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:43:07,238 INFO L272 TraceCheckUtils]: 28: Hoare triple {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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)); {5978#true} is VALID [2022-04-28 05:43:07,238 INFO L290 TraceCheckUtils]: 29: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 05:43:07,238 INFO L290 TraceCheckUtils]: 30: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 05:43:07,238 INFO L290 TraceCheckUtils]: 31: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:43:07,239 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5978#true} {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:43:07,239 INFO L272 TraceCheckUtils]: 33: Hoare triple {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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)); {5978#true} is VALID [2022-04-28 05:43:07,239 INFO L290 TraceCheckUtils]: 34: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 05:43:07,239 INFO L290 TraceCheckUtils]: 35: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 05:43:07,239 INFO L290 TraceCheckUtils]: 36: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:43:07,240 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5978#true} {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:43:07,241 INFO L290 TraceCheckUtils]: 38: Hoare triple {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:43:07,241 INFO L290 TraceCheckUtils]: 39: Hoare triple {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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; {6105#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:43:07,242 INFO L290 TraceCheckUtils]: 40: Hoare triple {6105#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {6105#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:43:07,242 INFO L272 TraceCheckUtils]: 41: Hoare triple {6105#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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)); {5978#true} is VALID [2022-04-28 05:43:07,242 INFO L290 TraceCheckUtils]: 42: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 05:43:07,242 INFO L290 TraceCheckUtils]: 43: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 05:43:07,242 INFO L290 TraceCheckUtils]: 44: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:43:07,243 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5978#true} {6105#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {6105#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:43:07,243 INFO L272 TraceCheckUtils]: 46: Hoare triple {6105#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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)); {5978#true} is VALID [2022-04-28 05:43:07,243 INFO L290 TraceCheckUtils]: 47: Hoare triple {5978#true} ~cond := #in~cond; {6130#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:43:07,244 INFO L290 TraceCheckUtils]: 48: Hoare triple {6130#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:43:07,244 INFO L290 TraceCheckUtils]: 49: Hoare triple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:43:07,245 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} {6105#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #93#return; {6141#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:43:07,245 INFO L272 TraceCheckUtils]: 51: Hoare triple {6141#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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)); {5978#true} is VALID [2022-04-28 05:43:07,246 INFO L290 TraceCheckUtils]: 52: Hoare triple {5978#true} ~cond := #in~cond; {6130#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:43:07,246 INFO L290 TraceCheckUtils]: 53: Hoare triple {6130#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:43:07,246 INFO L290 TraceCheckUtils]: 54: Hoare triple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:43:07,247 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} {6141#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #95#return; {6141#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:43:07,247 INFO L272 TraceCheckUtils]: 56: Hoare triple {6141#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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)); {5978#true} is VALID [2022-04-28 05:43:07,247 INFO L290 TraceCheckUtils]: 57: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 05:43:07,247 INFO L290 TraceCheckUtils]: 58: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 05:43:07,248 INFO L290 TraceCheckUtils]: 59: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:43:07,249 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {5978#true} {6141#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #97#return; {6141#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:43:07,249 INFO L290 TraceCheckUtils]: 61: Hoare triple {6141#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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); {6175#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (< main_~c~0 main_~b~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:43:07,250 INFO L290 TraceCheckUtils]: 62: Hoare triple {6175#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (< main_~c~0 main_~b~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; {6179#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0) (= main_~q~0 1))} is VALID [2022-04-28 05:43:07,250 INFO L290 TraceCheckUtils]: 63: Hoare triple {6179#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0) (= main_~q~0 1))} assume !false; {6179#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0) (= main_~q~0 1))} is VALID [2022-04-28 05:43:07,251 INFO L290 TraceCheckUtils]: 64: Hoare triple {6179#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0) (= main_~q~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 05:43:07,252 INFO L290 TraceCheckUtils]: 65: Hoare triple {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 05:43:07,252 INFO L272 TraceCheckUtils]: 66: Hoare triple {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< 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)); {5978#true} is VALID [2022-04-28 05:43:07,252 INFO L290 TraceCheckUtils]: 67: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 05:43:07,252 INFO L290 TraceCheckUtils]: 68: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 05:43:07,252 INFO L290 TraceCheckUtils]: 69: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:43:07,253 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {5978#true} {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #91#return; {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 05:43:07,253 INFO L272 TraceCheckUtils]: 71: Hoare triple {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< 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)); {5978#true} is VALID [2022-04-28 05:43:07,253 INFO L290 TraceCheckUtils]: 72: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 05:43:07,253 INFO L290 TraceCheckUtils]: 73: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 05:43:07,253 INFO L290 TraceCheckUtils]: 74: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:43:07,254 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5978#true} {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #93#return; {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 05:43:07,255 INFO L272 TraceCheckUtils]: 76: Hoare triple {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< 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)); {6223#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:43:07,255 INFO L290 TraceCheckUtils]: 77: Hoare triple {6223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:43:07,256 INFO L290 TraceCheckUtils]: 78: Hoare triple {6227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5979#false} is VALID [2022-04-28 05:43:07,256 INFO L290 TraceCheckUtils]: 79: Hoare triple {5979#false} assume !false; {5979#false} is VALID [2022-04-28 05:43:07,256 INFO L134 CoverageAnalysis]: Checked inductivity of 138 backedges. 22 proven. 44 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2022-04-28 05:43:07,256 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:44:06,768 INFO L290 TraceCheckUtils]: 79: Hoare triple {5979#false} assume !false; {5979#false} is VALID [2022-04-28 05:44:06,768 INFO L290 TraceCheckUtils]: 78: Hoare triple {6227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5979#false} is VALID [2022-04-28 05:44:06,768 INFO L290 TraceCheckUtils]: 77: Hoare triple {6223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:44:06,769 INFO L272 TraceCheckUtils]: 76: Hoare triple {6243#(= 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)); {6223#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:44:06,770 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5978#true} {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #93#return; {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:44:06,770 INFO L290 TraceCheckUtils]: 74: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:44:06,770 INFO L290 TraceCheckUtils]: 73: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 05:44:06,770 INFO L290 TraceCheckUtils]: 72: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 05:44:06,770 INFO L272 TraceCheckUtils]: 71: Hoare triple {6243#(= 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)); {5978#true} is VALID [2022-04-28 05:44:06,771 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {5978#true} {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #91#return; {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:44:06,771 INFO L290 TraceCheckUtils]: 69: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:44:06,771 INFO L290 TraceCheckUtils]: 68: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 05:44:06,771 INFO L290 TraceCheckUtils]: 67: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 05:44:06,771 INFO L272 TraceCheckUtils]: 66: Hoare triple {6243#(= 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)); {5978#true} is VALID [2022-04-28 05:44:06,775 INFO L290 TraceCheckUtils]: 65: Hoare triple {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:44:06,775 INFO L290 TraceCheckUtils]: 64: Hoare triple {6243#(= 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; {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:44:06,776 INFO L290 TraceCheckUtils]: 63: Hoare triple {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:44:08,777 WARN L290 TraceCheckUtils]: 62: Hoare triple {6286#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~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; {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-28 05:44:08,778 INFO L290 TraceCheckUtils]: 61: Hoare triple {6290#(or (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0))) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {6286#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-28 05:44:08,779 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {5978#true} {6290#(or (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0))) (<= main_~b~0 main_~c~0))} #97#return; {6290#(or (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:44:08,779 INFO L290 TraceCheckUtils]: 59: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:44:08,779 INFO L290 TraceCheckUtils]: 58: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 05:44:08,779 INFO L290 TraceCheckUtils]: 57: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 05:44:08,779 INFO L272 TraceCheckUtils]: 56: Hoare triple {6290#(or (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~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)); {5978#true} is VALID [2022-04-28 05:44:08,780 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} {6309#(or (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} #95#return; {6290#(or (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:44:08,780 INFO L290 TraceCheckUtils]: 54: Hoare triple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:44:08,781 INFO L290 TraceCheckUtils]: 53: Hoare triple {6319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:44:08,781 INFO L290 TraceCheckUtils]: 52: Hoare triple {5978#true} ~cond := #in~cond; {6319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:44:08,781 INFO L272 TraceCheckUtils]: 51: Hoare triple {6309#(or (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5978#true} is VALID [2022-04-28 05:44:08,782 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} {6326#(or (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} #93#return; {6309#(or (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:44:08,783 INFO L290 TraceCheckUtils]: 49: Hoare triple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:44:08,783 INFO L290 TraceCheckUtils]: 48: Hoare triple {6319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:44:08,783 INFO L290 TraceCheckUtils]: 47: Hoare triple {5978#true} ~cond := #in~cond; {6319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:44:08,783 INFO L272 TraceCheckUtils]: 46: Hoare triple {6326#(or (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5978#true} is VALID [2022-04-28 05:44:08,784 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5978#true} {6326#(or (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} #91#return; {6326#(or (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:44:08,784 INFO L290 TraceCheckUtils]: 44: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:44:08,784 INFO L290 TraceCheckUtils]: 43: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 05:44:08,784 INFO L290 TraceCheckUtils]: 42: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 05:44:08,785 INFO L272 TraceCheckUtils]: 41: Hoare triple {6326#(or (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5978#true} is VALID [2022-04-28 05:44:08,785 INFO L290 TraceCheckUtils]: 40: Hoare triple {6326#(or (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} assume !false; {6326#(or (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:44:08,785 INFO L290 TraceCheckUtils]: 39: Hoare triple {5978#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6326#(or (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:44:08,786 INFO L290 TraceCheckUtils]: 38: Hoare triple {5978#true} assume !false; {5978#true} is VALID [2022-04-28 05:44:08,786 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5978#true} {5978#true} #89#return; {5978#true} is VALID [2022-04-28 05:44:08,786 INFO L290 TraceCheckUtils]: 36: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:44:08,786 INFO L290 TraceCheckUtils]: 35: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 05:44:08,786 INFO L290 TraceCheckUtils]: 34: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 05:44:08,786 INFO L272 TraceCheckUtils]: 33: Hoare triple {5978#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5978#true} is VALID [2022-04-28 05:44:08,786 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5978#true} {5978#true} #87#return; {5978#true} is VALID [2022-04-28 05:44:08,786 INFO L290 TraceCheckUtils]: 31: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:44:08,786 INFO L290 TraceCheckUtils]: 30: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 05:44:08,786 INFO L290 TraceCheckUtils]: 29: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 05:44:08,786 INFO L272 TraceCheckUtils]: 28: Hoare triple {5978#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5978#true} is VALID [2022-04-28 05:44:08,786 INFO L290 TraceCheckUtils]: 27: Hoare triple {5978#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; {5978#true} is VALID [2022-04-28 05:44:08,786 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5978#true} {5978#true} #85#return; {5978#true} is VALID [2022-04-28 05:44:08,786 INFO L290 TraceCheckUtils]: 25: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:44:08,787 INFO L290 TraceCheckUtils]: 24: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 05:44:08,787 INFO L290 TraceCheckUtils]: 23: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 05:44:08,787 INFO L272 TraceCheckUtils]: 22: Hoare triple {5978#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5978#true} is VALID [2022-04-28 05:44:08,787 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5978#true} {5978#true} #83#return; {5978#true} is VALID [2022-04-28 05:44:08,787 INFO L290 TraceCheckUtils]: 20: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:44:08,787 INFO L290 TraceCheckUtils]: 19: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 05:44:08,787 INFO L290 TraceCheckUtils]: 18: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 05:44:08,787 INFO L272 TraceCheckUtils]: 17: Hoare triple {5978#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5978#true} is VALID [2022-04-28 05:44:08,787 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5978#true} {5978#true} #81#return; {5978#true} is VALID [2022-04-28 05:44:08,787 INFO L290 TraceCheckUtils]: 15: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:44:08,787 INFO L290 TraceCheckUtils]: 14: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 05:44:08,787 INFO L290 TraceCheckUtils]: 13: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 05:44:08,787 INFO L272 TraceCheckUtils]: 12: Hoare triple {5978#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {5978#true} is VALID [2022-04-28 05:44:08,787 INFO L290 TraceCheckUtils]: 11: Hoare triple {5978#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5978#true} is VALID [2022-04-28 05:44:08,788 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5978#true} {5978#true} #79#return; {5978#true} is VALID [2022-04-28 05:44:08,788 INFO L290 TraceCheckUtils]: 9: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:44:08,788 INFO L290 TraceCheckUtils]: 8: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 05:44:08,788 INFO L290 TraceCheckUtils]: 7: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 05:44:08,788 INFO L272 TraceCheckUtils]: 6: Hoare triple {5978#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {5978#true} is VALID [2022-04-28 05:44:08,788 INFO L290 TraceCheckUtils]: 5: Hoare triple {5978#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; {5978#true} is VALID [2022-04-28 05:44:08,788 INFO L272 TraceCheckUtils]: 4: Hoare triple {5978#true} call #t~ret6 := main(); {5978#true} is VALID [2022-04-28 05:44:08,788 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5978#true} {5978#true} #103#return; {5978#true} is VALID [2022-04-28 05:44:08,788 INFO L290 TraceCheckUtils]: 2: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 05:44:08,788 INFO L290 TraceCheckUtils]: 1: Hoare triple {5978#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); {5978#true} is VALID [2022-04-28 05:44:08,788 INFO L272 TraceCheckUtils]: 0: Hoare triple {5978#true} call ULTIMATE.init(); {5978#true} is VALID [2022-04-28 05:44:08,789 INFO L134 CoverageAnalysis]: Checked inductivity of 138 backedges. 18 proven. 24 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-28 05:44:08,789 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:44:08,789 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1385244379] [2022-04-28 05:44:08,789 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:44:08,789 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1719048415] [2022-04-28 05:44:08,789 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1719048415] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:44:08,789 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:44:08,789 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 11] total 22 [2022-04-28 05:44:08,790 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:44:08,790 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1382177845] [2022-04-28 05:44:08,790 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1382177845] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:44:08,790 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:44:08,790 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 05:44:08,790 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [898669386] [2022-04-28 05:44:08,790 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:44:08,791 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 7 states have call successors, (13) Word has length 80 [2022-04-28 05:44:08,791 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:44:08,791 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 7 states have call successors, (13) [2022-04-28 05:44:08,837 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:44:08,837 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 05:44:08,838 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:44:08,838 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 05:44:08,838 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=376, Unknown=0, NotChecked=0, Total=462 [2022-04-28 05:44:08,838 INFO L87 Difference]: Start difference. First operand 118 states and 166 transitions. Second operand has 16 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 7 states have call successors, (13) [2022-04-28 05:44:11,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:44:11,061 INFO L93 Difference]: Finished difference Result 130 states and 176 transitions. [2022-04-28 05:44:11,062 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 05:44:11,062 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 7 states have call successors, (13) Word has length 80 [2022-04-28 05:44:11,062 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:44:11,062 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 7 states have call successors, (13) [2022-04-28 05:44:11,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 91 transitions. [2022-04-28 05:44:11,064 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 7 states have call successors, (13) [2022-04-28 05:44:11,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 91 transitions. [2022-04-28 05:44:11,066 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 91 transitions. [2022-04-28 05:44:11,161 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:44:11,166 INFO L225 Difference]: With dead ends: 130 [2022-04-28 05:44:11,166 INFO L226 Difference]: Without dead ends: 128 [2022-04-28 05:44:11,166 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 138 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 143 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=116, Invalid=534, Unknown=0, NotChecked=0, Total=650 [2022-04-28 05:44:11,167 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 48 mSDsluCounter, 129 mSDsCounter, 0 mSdLazyCounter, 440 mSolverCounterSat, 37 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 161 SdHoareTripleChecker+Invalid, 477 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 37 IncrementalHoareTripleChecker+Valid, 440 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 05:44:11,167 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [65 Valid, 161 Invalid, 477 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [37 Valid, 440 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 05:44:11,168 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-28 05:44:11,404 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 126. [2022-04-28 05:44:11,404 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:44:11,405 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 126 states, 68 states have (on average 1.1911764705882353) internal successors, (81), 70 states have internal predecessors, (81), 47 states have call successors, (47), 11 states have call predecessors, (47), 10 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:44:11,405 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 126 states, 68 states have (on average 1.1911764705882353) internal successors, (81), 70 states have internal predecessors, (81), 47 states have call successors, (47), 11 states have call predecessors, (47), 10 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:44:11,406 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 126 states, 68 states have (on average 1.1911764705882353) internal successors, (81), 70 states have internal predecessors, (81), 47 states have call successors, (47), 11 states have call predecessors, (47), 10 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:44:11,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:44:11,410 INFO L93 Difference]: Finished difference Result 128 states and 174 transitions. [2022-04-28 05:44:11,410 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 174 transitions. [2022-04-28 05:44:11,410 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:44:11,410 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:44:11,411 INFO L74 IsIncluded]: Start isIncluded. First operand has 126 states, 68 states have (on average 1.1911764705882353) internal successors, (81), 70 states have internal predecessors, (81), 47 states have call successors, (47), 11 states have call predecessors, (47), 10 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 128 states. [2022-04-28 05:44:11,411 INFO L87 Difference]: Start difference. First operand has 126 states, 68 states have (on average 1.1911764705882353) internal successors, (81), 70 states have internal predecessors, (81), 47 states have call successors, (47), 11 states have call predecessors, (47), 10 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 128 states. [2022-04-28 05:44:11,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:44:11,415 INFO L93 Difference]: Finished difference Result 128 states and 174 transitions. [2022-04-28 05:44:11,415 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 174 transitions. [2022-04-28 05:44:11,415 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:44:11,415 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:44:11,416 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:44:11,416 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:44:11,416 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 126 states, 68 states have (on average 1.1911764705882353) internal successors, (81), 70 states have internal predecessors, (81), 47 states have call successors, (47), 11 states have call predecessors, (47), 10 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:44:11,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 172 transitions. [2022-04-28 05:44:11,419 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 172 transitions. Word has length 80 [2022-04-28 05:44:11,420 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:44:11,420 INFO L495 AbstractCegarLoop]: Abstraction has 126 states and 172 transitions. [2022-04-28 05:44:11,420 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 7 states have call successors, (13) [2022-04-28 05:44:11,420 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 126 states and 172 transitions. [2022-04-28 05:44:11,675 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 172 edges. 172 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:44:11,676 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 172 transitions. [2022-04-28 05:44:11,676 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 05:44:11,676 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:44:11,677 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:44:11,695 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 05:44:11,888 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:44:11,888 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:44:11,888 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:44:11,888 INFO L85 PathProgramCache]: Analyzing trace with hash 901388446, now seen corresponding path program 5 times [2022-04-28 05:44:11,888 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:44:11,888 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1319219045] [2022-04-28 05:44:11,889 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:44:11,889 INFO L85 PathProgramCache]: Analyzing trace with hash 901388446, now seen corresponding path program 6 times [2022-04-28 05:44:11,889 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:44:11,889 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [608421855] [2022-04-28 05:44:11,889 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:44:11,889 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:44:11,901 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:44:11,902 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [136721959] [2022-04-28 05:44:11,902 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:44:11,902 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:44:11,902 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:44:11,908 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:44:11,909 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:44:11,961 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 05:44:11,961 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:44:11,962 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 40 conjunts are in the unsatisfiable core [2022-04-28 05:44:11,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:44:11,980 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:44:14,702 INFO L272 TraceCheckUtils]: 0: Hoare triple {7255#true} call ULTIMATE.init(); {7255#true} is VALID [2022-04-28 05:44:14,702 INFO L290 TraceCheckUtils]: 1: Hoare triple {7255#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); {7255#true} is VALID [2022-04-28 05:44:14,702 INFO L290 TraceCheckUtils]: 2: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 05:44:14,703 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7255#true} {7255#true} #103#return; {7255#true} is VALID [2022-04-28 05:44:14,703 INFO L272 TraceCheckUtils]: 4: Hoare triple {7255#true} call #t~ret6 := main(); {7255#true} is VALID [2022-04-28 05:44:14,703 INFO L290 TraceCheckUtils]: 5: Hoare triple {7255#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; {7255#true} is VALID [2022-04-28 05:44:14,703 INFO L272 TraceCheckUtils]: 6: Hoare triple {7255#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {7255#true} is VALID [2022-04-28 05:44:14,703 INFO L290 TraceCheckUtils]: 7: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 05:44:14,703 INFO L290 TraceCheckUtils]: 8: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 05:44:14,703 INFO L290 TraceCheckUtils]: 9: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 05:44:14,703 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7255#true} {7255#true} #79#return; {7255#true} is VALID [2022-04-28 05:44:14,703 INFO L290 TraceCheckUtils]: 11: Hoare triple {7255#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7255#true} is VALID [2022-04-28 05:44:14,703 INFO L272 TraceCheckUtils]: 12: Hoare triple {7255#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {7255#true} is VALID [2022-04-28 05:44:14,703 INFO L290 TraceCheckUtils]: 13: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 05:44:14,703 INFO L290 TraceCheckUtils]: 14: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 05:44:14,703 INFO L290 TraceCheckUtils]: 15: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 05:44:14,703 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7255#true} {7255#true} #81#return; {7255#true} is VALID [2022-04-28 05:44:14,704 INFO L272 TraceCheckUtils]: 17: Hoare triple {7255#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7255#true} is VALID [2022-04-28 05:44:14,704 INFO L290 TraceCheckUtils]: 18: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 05:44:14,704 INFO L290 TraceCheckUtils]: 19: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 05:44:14,704 INFO L290 TraceCheckUtils]: 20: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 05:44:14,704 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7255#true} {7255#true} #83#return; {7255#true} is VALID [2022-04-28 05:44:14,704 INFO L272 TraceCheckUtils]: 22: Hoare triple {7255#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7255#true} is VALID [2022-04-28 05:44:14,704 INFO L290 TraceCheckUtils]: 23: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 05:44:14,704 INFO L290 TraceCheckUtils]: 24: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 05:44:14,704 INFO L290 TraceCheckUtils]: 25: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 05:44:14,704 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7255#true} {7255#true} #85#return; {7255#true} is VALID [2022-04-28 05:44:14,705 INFO L290 TraceCheckUtils]: 27: Hoare triple {7255#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; {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:14,705 INFO L272 TraceCheckUtils]: 28: Hoare triple {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {7255#true} is VALID [2022-04-28 05:44:14,705 INFO L290 TraceCheckUtils]: 29: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 05:44:14,705 INFO L290 TraceCheckUtils]: 30: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 05:44:14,705 INFO L290 TraceCheckUtils]: 31: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 05:44:14,706 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7255#true} {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #87#return; {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:14,706 INFO L272 TraceCheckUtils]: 33: Hoare triple {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {7255#true} is VALID [2022-04-28 05:44:14,706 INFO L290 TraceCheckUtils]: 34: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 05:44:14,706 INFO L290 TraceCheckUtils]: 35: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 05:44:14,706 INFO L290 TraceCheckUtils]: 36: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 05:44:14,712 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7255#true} {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #89#return; {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:14,712 INFO L290 TraceCheckUtils]: 38: Hoare triple {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !false; {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:14,713 INFO L290 TraceCheckUtils]: 39: Hoare triple {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:44:14,714 INFO L290 TraceCheckUtils]: 40: Hoare triple {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} assume !false; {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:44:14,714 INFO L272 TraceCheckUtils]: 41: Hoare triple {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7255#true} is VALID [2022-04-28 05:44:14,714 INFO L290 TraceCheckUtils]: 42: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 05:44:14,714 INFO L290 TraceCheckUtils]: 43: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 05:44:14,714 INFO L290 TraceCheckUtils]: 44: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 05:44:14,715 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7255#true} {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} #91#return; {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:44:14,715 INFO L272 TraceCheckUtils]: 46: Hoare triple {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7255#true} is VALID [2022-04-28 05:44:14,715 INFO L290 TraceCheckUtils]: 47: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 05:44:14,716 INFO L290 TraceCheckUtils]: 48: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 05:44:14,716 INFO L290 TraceCheckUtils]: 49: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 05:44:14,717 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7255#true} {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} #93#return; {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:44:14,717 INFO L272 TraceCheckUtils]: 51: Hoare triple {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7255#true} is VALID [2022-04-28 05:44:14,717 INFO L290 TraceCheckUtils]: 52: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 05:44:14,717 INFO L290 TraceCheckUtils]: 53: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 05:44:14,717 INFO L290 TraceCheckUtils]: 54: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 05:44:14,718 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7255#true} {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} #95#return; {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:44:14,718 INFO L272 TraceCheckUtils]: 56: Hoare triple {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {7255#true} is VALID [2022-04-28 05:44:14,719 INFO L290 TraceCheckUtils]: 57: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 05:44:14,719 INFO L290 TraceCheckUtils]: 58: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 05:44:14,719 INFO L290 TraceCheckUtils]: 59: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 05:44:14,720 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {7255#true} {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} #97#return; {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:44:14,721 INFO L290 TraceCheckUtils]: 61: Hoare triple {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:44:14,721 INFO L290 TraceCheckUtils]: 62: Hoare triple {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7448#(and (= main_~s~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:44:14,722 INFO L290 TraceCheckUtils]: 63: Hoare triple {7448#(and (= main_~s~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {7448#(and (= main_~s~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:44:14,722 INFO L290 TraceCheckUtils]: 64: Hoare triple {7448#(and (= main_~s~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:44:14,723 INFO L290 TraceCheckUtils]: 65: Hoare triple {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:44:14,723 INFO L272 TraceCheckUtils]: 66: Hoare triple {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7255#true} is VALID [2022-04-28 05:44:14,723 INFO L290 TraceCheckUtils]: 67: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 05:44:14,723 INFO L290 TraceCheckUtils]: 68: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 05:44:14,727 INFO L290 TraceCheckUtils]: 69: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 05:44:14,729 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {7255#true} {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #91#return; {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:44:14,729 INFO L272 TraceCheckUtils]: 71: Hoare triple {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7255#true} is VALID [2022-04-28 05:44:14,729 INFO L290 TraceCheckUtils]: 72: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 05:44:14,729 INFO L290 TraceCheckUtils]: 73: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 05:44:14,729 INFO L290 TraceCheckUtils]: 74: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 05:44:14,730 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {7255#true} {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #93#return; {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:44:14,730 INFO L272 TraceCheckUtils]: 76: Hoare triple {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7255#true} is VALID [2022-04-28 05:44:14,731 INFO L290 TraceCheckUtils]: 77: Hoare triple {7255#true} ~cond := #in~cond; {7495#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:44:14,731 INFO L290 TraceCheckUtils]: 78: Hoare triple {7495#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7499#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:44:14,731 INFO L290 TraceCheckUtils]: 79: Hoare triple {7499#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7499#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:44:14,732 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {7499#(not (= |__VERIFIER_assert_#in~cond| 0))} {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #95#return; {7506#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:44:14,736 INFO L272 TraceCheckUtils]: 81: Hoare triple {7506#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {7510#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:44:14,737 INFO L290 TraceCheckUtils]: 82: Hoare triple {7510#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7514#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:44:14,737 INFO L290 TraceCheckUtils]: 83: Hoare triple {7514#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7256#false} is VALID [2022-04-28 05:44:14,737 INFO L290 TraceCheckUtils]: 84: Hoare triple {7256#false} assume !false; {7256#false} is VALID [2022-04-28 05:44:14,738 INFO L134 CoverageAnalysis]: Checked inductivity of 165 backedges. 31 proven. 8 refuted. 0 times theorem prover too weak. 126 trivial. 0 not checked. [2022-04-28 05:44:14,738 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:45:03,353 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:45:03,354 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [608421855] [2022-04-28 05:45:03,354 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:45:03,354 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [136721959] [2022-04-28 05:45:03,354 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [136721959] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 05:45:03,354 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:45:03,354 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-28 05:45:03,354 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:45:03,354 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1319219045] [2022-04-28 05:45:03,354 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1319219045] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:45:03,354 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:45:03,354 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 05:45:03,355 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1937383248] [2022-04-28 05:45:03,355 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:45:03,355 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 4 states have call successors, (14) Word has length 85 [2022-04-28 05:45:03,355 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:45:03,355 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-28 05:45:03,400 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:45:03,400 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 05:45:03,400 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:45:03,400 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 05:45:03,400 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-28 05:45:03,401 INFO L87 Difference]: Start difference. First operand 126 states and 172 transitions. Second operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-28 05:45:04,673 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:45:04,674 INFO L93 Difference]: Finished difference Result 138 states and 182 transitions. [2022-04-28 05:45:04,674 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 05:45:04,674 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 4 states have call successors, (14) Word has length 85 [2022-04-28 05:45:04,675 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:45:04,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-28 05:45:04,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 98 transitions. [2022-04-28 05:45:04,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-28 05:45:04,681 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 98 transitions. [2022-04-28 05:45:04,681 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 98 transitions. [2022-04-28 05:45:04,793 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:45:04,796 INFO L225 Difference]: With dead ends: 138 [2022-04-28 05:45:04,796 INFO L226 Difference]: Without dead ends: 136 [2022-04-28 05:45:04,796 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 77 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=53, Invalid=219, Unknown=0, NotChecked=0, Total=272 [2022-04-28 05:45:04,796 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 27 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 339 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 220 SdHoareTripleChecker+Invalid, 360 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 339 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 05:45:04,797 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [34 Valid, 220 Invalid, 360 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 339 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 05:45:04,797 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2022-04-28 05:45:05,050 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 134. [2022-04-28 05:45:05,050 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:45:05,051 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand has 134 states, 74 states have (on average 1.1756756756756757) internal successors, (87), 76 states have internal predecessors, (87), 47 states have call successors, (47), 13 states have call predecessors, (47), 12 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:45:05,051 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand has 134 states, 74 states have (on average 1.1756756756756757) internal successors, (87), 76 states have internal predecessors, (87), 47 states have call successors, (47), 13 states have call predecessors, (47), 12 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:45:05,052 INFO L87 Difference]: Start difference. First operand 136 states. Second operand has 134 states, 74 states have (on average 1.1756756756756757) internal successors, (87), 76 states have internal predecessors, (87), 47 states have call successors, (47), 13 states have call predecessors, (47), 12 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:45:05,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:45:05,059 INFO L93 Difference]: Finished difference Result 136 states and 180 transitions. [2022-04-28 05:45:05,059 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 180 transitions. [2022-04-28 05:45:05,060 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:45:05,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:45:05,061 INFO L74 IsIncluded]: Start isIncluded. First operand has 134 states, 74 states have (on average 1.1756756756756757) internal successors, (87), 76 states have internal predecessors, (87), 47 states have call successors, (47), 13 states have call predecessors, (47), 12 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 136 states. [2022-04-28 05:45:05,061 INFO L87 Difference]: Start difference. First operand has 134 states, 74 states have (on average 1.1756756756756757) internal successors, (87), 76 states have internal predecessors, (87), 47 states have call successors, (47), 13 states have call predecessors, (47), 12 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 136 states. [2022-04-28 05:45:05,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:45:05,065 INFO L93 Difference]: Finished difference Result 136 states and 180 transitions. [2022-04-28 05:45:05,065 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 180 transitions. [2022-04-28 05:45:05,066 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:45:05,066 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:45:05,066 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:45:05,066 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:45:05,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 134 states, 74 states have (on average 1.1756756756756757) internal successors, (87), 76 states have internal predecessors, (87), 47 states have call successors, (47), 13 states have call predecessors, (47), 12 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:45:05,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 134 states to 134 states and 178 transitions. [2022-04-28 05:45:05,070 INFO L78 Accepts]: Start accepts. Automaton has 134 states and 178 transitions. Word has length 85 [2022-04-28 05:45:05,070 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:45:05,070 INFO L495 AbstractCegarLoop]: Abstraction has 134 states and 178 transitions. [2022-04-28 05:45:05,071 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-28 05:45:05,071 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 134 states and 178 transitions. [2022-04-28 05:45:05,353 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:45:05,354 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 178 transitions. [2022-04-28 05:45:05,354 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-28 05:45:05,355 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:45:05,355 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:45:05,372 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:45:05,559 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:45:05,559 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:45:05,560 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:45:05,560 INFO L85 PathProgramCache]: Analyzing trace with hash -686534738, now seen corresponding path program 1 times [2022-04-28 05:45:05,560 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:45:05,560 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [931967027] [2022-04-28 05:45:05,560 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:45:05,560 INFO L85 PathProgramCache]: Analyzing trace with hash -686534738, now seen corresponding path program 2 times [2022-04-28 05:45:05,560 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:45:05,561 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [351967403] [2022-04-28 05:45:05,561 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:45:05,561 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:45:05,572 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:45:05,573 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1860023089] [2022-04-28 05:45:05,573 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:45:05,573 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:45:05,573 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:45:05,574 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:45:05,587 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:45:05,649 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:45:05,650 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:45:05,651 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 05:45:05,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:45:05,666 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:45:06,347 INFO L272 TraceCheckUtils]: 0: Hoare triple {8361#true} call ULTIMATE.init(); {8361#true} is VALID [2022-04-28 05:45:06,347 INFO L290 TraceCheckUtils]: 1: Hoare triple {8361#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); {8361#true} is VALID [2022-04-28 05:45:06,348 INFO L290 TraceCheckUtils]: 2: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:06,348 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8361#true} {8361#true} #103#return; {8361#true} is VALID [2022-04-28 05:45:06,348 INFO L272 TraceCheckUtils]: 4: Hoare triple {8361#true} call #t~ret6 := main(); {8361#true} is VALID [2022-04-28 05:45:06,348 INFO L290 TraceCheckUtils]: 5: Hoare triple {8361#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; {8361#true} is VALID [2022-04-28 05:45:06,348 INFO L272 TraceCheckUtils]: 6: Hoare triple {8361#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:06,348 INFO L290 TraceCheckUtils]: 7: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:06,348 INFO L290 TraceCheckUtils]: 8: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:06,348 INFO L290 TraceCheckUtils]: 9: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:06,348 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8361#true} {8361#true} #79#return; {8361#true} is VALID [2022-04-28 05:45:06,348 INFO L290 TraceCheckUtils]: 11: Hoare triple {8361#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8361#true} is VALID [2022-04-28 05:45:06,349 INFO L272 TraceCheckUtils]: 12: Hoare triple {8361#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:06,349 INFO L290 TraceCheckUtils]: 13: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:06,349 INFO L290 TraceCheckUtils]: 14: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:06,349 INFO L290 TraceCheckUtils]: 15: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:06,349 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8361#true} {8361#true} #81#return; {8361#true} is VALID [2022-04-28 05:45:06,349 INFO L272 TraceCheckUtils]: 17: Hoare triple {8361#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:06,349 INFO L290 TraceCheckUtils]: 18: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:06,349 INFO L290 TraceCheckUtils]: 19: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:06,349 INFO L290 TraceCheckUtils]: 20: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:06,350 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8361#true} {8361#true} #83#return; {8361#true} is VALID [2022-04-28 05:45:06,350 INFO L272 TraceCheckUtils]: 22: Hoare triple {8361#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:06,350 INFO L290 TraceCheckUtils]: 23: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:06,350 INFO L290 TraceCheckUtils]: 24: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:06,350 INFO L290 TraceCheckUtils]: 25: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:06,350 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8361#true} {8361#true} #85#return; {8361#true} is VALID [2022-04-28 05:45:06,352 INFO L290 TraceCheckUtils]: 27: Hoare triple {8361#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; {8447#(and (= main_~r~0 0) (= 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:45:06,352 INFO L272 TraceCheckUtils]: 28: Hoare triple {8447#(and (= main_~r~0 0) (= 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)); {8361#true} is VALID [2022-04-28 05:45:06,352 INFO L290 TraceCheckUtils]: 29: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:06,352 INFO L290 TraceCheckUtils]: 30: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:06,352 INFO L290 TraceCheckUtils]: 31: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:06,353 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8361#true} {8447#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {8447#(and (= main_~r~0 0) (= 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:45:06,353 INFO L272 TraceCheckUtils]: 33: Hoare triple {8447#(and (= main_~r~0 0) (= 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)); {8361#true} is VALID [2022-04-28 05:45:06,353 INFO L290 TraceCheckUtils]: 34: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:06,353 INFO L290 TraceCheckUtils]: 35: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:06,353 INFO L290 TraceCheckUtils]: 36: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:06,354 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8361#true} {8447#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {8447#(and (= main_~r~0 0) (= 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:45:06,355 INFO L290 TraceCheckUtils]: 38: Hoare triple {8447#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {8447#(and (= main_~r~0 0) (= 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:45:06,355 INFO L290 TraceCheckUtils]: 39: Hoare triple {8447#(and (= main_~r~0 0) (= 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; {8484#(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:45:06,356 INFO L290 TraceCheckUtils]: 40: Hoare triple {8484#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {8484#(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:45:06,356 INFO L272 TraceCheckUtils]: 41: Hoare triple {8484#(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)); {8361#true} is VALID [2022-04-28 05:45:06,356 INFO L290 TraceCheckUtils]: 42: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:06,356 INFO L290 TraceCheckUtils]: 43: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:06,356 INFO L290 TraceCheckUtils]: 44: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:06,357 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8361#true} {8484#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #91#return; {8484#(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:45:06,357 INFO L272 TraceCheckUtils]: 46: Hoare triple {8484#(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)); {8361#true} is VALID [2022-04-28 05:45:06,357 INFO L290 TraceCheckUtils]: 47: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:06,357 INFO L290 TraceCheckUtils]: 48: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:06,357 INFO L290 TraceCheckUtils]: 49: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:06,357 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8361#true} {8484#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #93#return; {8484#(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:45:06,358 INFO L272 TraceCheckUtils]: 51: Hoare triple {8484#(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)); {8361#true} is VALID [2022-04-28 05:45:06,358 INFO L290 TraceCheckUtils]: 52: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:06,358 INFO L290 TraceCheckUtils]: 53: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:06,358 INFO L290 TraceCheckUtils]: 54: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:06,358 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8361#true} {8484#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #95#return; {8484#(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:45:06,359 INFO L272 TraceCheckUtils]: 56: Hoare triple {8484#(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)); {8361#true} is VALID [2022-04-28 05:45:06,359 INFO L290 TraceCheckUtils]: 57: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:06,359 INFO L290 TraceCheckUtils]: 58: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:06,359 INFO L290 TraceCheckUtils]: 59: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:06,359 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {8361#true} {8484#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #97#return; {8484#(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:45:06,360 INFO L290 TraceCheckUtils]: 61: Hoare triple {8484#(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; {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:45:06,360 INFO L290 TraceCheckUtils]: 62: Hoare triple {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:45:06,361 INFO L272 TraceCheckUtils]: 63: Hoare triple {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:06,361 INFO L290 TraceCheckUtils]: 64: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:06,361 INFO L290 TraceCheckUtils]: 65: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:06,361 INFO L290 TraceCheckUtils]: 66: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:06,361 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8361#true} {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:45:06,361 INFO L272 TraceCheckUtils]: 68: Hoare triple {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:06,362 INFO L290 TraceCheckUtils]: 69: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:06,362 INFO L290 TraceCheckUtils]: 70: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:06,362 INFO L290 TraceCheckUtils]: 71: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:06,362 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8361#true} {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #93#return; {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:45:06,362 INFO L272 TraceCheckUtils]: 73: Hoare triple {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:06,363 INFO L290 TraceCheckUtils]: 74: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:06,363 INFO L290 TraceCheckUtils]: 75: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:06,363 INFO L290 TraceCheckUtils]: 76: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:06,363 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {8361#true} {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #95#return; {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:45:06,363 INFO L272 TraceCheckUtils]: 78: Hoare triple {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:06,363 INFO L290 TraceCheckUtils]: 79: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:06,364 INFO L290 TraceCheckUtils]: 80: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:06,364 INFO L290 TraceCheckUtils]: 81: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:06,364 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {8361#true} {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #97#return; {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:45:06,365 INFO L290 TraceCheckUtils]: 83: Hoare triple {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {8618#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= 0 main_~c~0) (= main_~q~0 0) (not (<= main_~x~0 (* main_~c~0 2))) (= main_~p~0 1))} is VALID [2022-04-28 05:45:06,366 INFO L290 TraceCheckUtils]: 84: Hoare triple {8618#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= 0 main_~c~0) (= main_~q~0 0) (not (<= main_~x~0 (* main_~c~0 2))) (= 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; {8622#(and (not (<= (* main_~y~0 2) main_~x~0)) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 05:45:06,366 INFO L290 TraceCheckUtils]: 85: Hoare triple {8622#(and (not (<= (* main_~y~0 2) main_~x~0)) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 main_~x~0))} assume !false; {8622#(and (not (<= (* main_~y~0 2) main_~x~0)) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 05:45:06,367 INFO L290 TraceCheckUtils]: 86: Hoare triple {8622#(and (not (<= (* main_~y~0 2) main_~x~0)) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 main_~x~0))} assume !(0 != ~b~0); {8629#(and (= main_~y~0 main_~x~0) (< main_~x~0 (* main_~y~0 2)) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 05:45:06,368 INFO L272 TraceCheckUtils]: 87: Hoare triple {8629#(and (= main_~y~0 main_~x~0) (< main_~x~0 (* main_~y~0 2)) (= 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)); {8633#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:45:06,368 INFO L290 TraceCheckUtils]: 88: Hoare triple {8633#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8637#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:45:06,368 INFO L290 TraceCheckUtils]: 89: Hoare triple {8637#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8362#false} is VALID [2022-04-28 05:45:06,368 INFO L290 TraceCheckUtils]: 90: Hoare triple {8362#false} assume !false; {8362#false} is VALID [2022-04-28 05:45:06,369 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 16 proven. 8 refuted. 0 times theorem prover too weak. 172 trivial. 0 not checked. [2022-04-28 05:45:06,369 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:45:07,237 INFO L290 TraceCheckUtils]: 90: Hoare triple {8362#false} assume !false; {8362#false} is VALID [2022-04-28 05:45:07,237 INFO L290 TraceCheckUtils]: 89: Hoare triple {8637#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8362#false} is VALID [2022-04-28 05:45:07,238 INFO L290 TraceCheckUtils]: 88: Hoare triple {8633#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8637#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:45:07,238 INFO L272 TraceCheckUtils]: 87: Hoare triple {8653#(= (+ (* 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)); {8633#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:45:07,239 INFO L290 TraceCheckUtils]: 86: Hoare triple {8657#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {8653#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-28 05:45:07,239 INFO L290 TraceCheckUtils]: 85: Hoare triple {8657#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !false; {8657#(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:09,240 WARN L290 TraceCheckUtils]: 84: Hoare triple {8664#(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; {8657#(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:09,241 INFO L290 TraceCheckUtils]: 83: Hoare triple {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !(~c~0 >= ~b~0); {8664#(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:45:09,242 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {8361#true} {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #97#return; {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 05:45:09,242 INFO L290 TraceCheckUtils]: 81: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:09,242 INFO L290 TraceCheckUtils]: 80: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:09,242 INFO L290 TraceCheckUtils]: 79: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:09,242 INFO L272 TraceCheckUtils]: 78: Hoare triple {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:09,246 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {8361#true} {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #95#return; {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 05:45:09,246 INFO L290 TraceCheckUtils]: 76: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:09,246 INFO L290 TraceCheckUtils]: 75: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:09,246 INFO L290 TraceCheckUtils]: 74: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:09,246 INFO L272 TraceCheckUtils]: 73: Hoare triple {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:09,247 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8361#true} {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #93#return; {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 05:45:09,247 INFO L290 TraceCheckUtils]: 71: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:09,247 INFO L290 TraceCheckUtils]: 70: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:09,247 INFO L290 TraceCheckUtils]: 69: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:09,247 INFO L272 TraceCheckUtils]: 68: Hoare triple {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:09,248 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8361#true} {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #91#return; {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 05:45:09,248 INFO L290 TraceCheckUtils]: 66: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:09,248 INFO L290 TraceCheckUtils]: 65: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:09,248 INFO L290 TraceCheckUtils]: 64: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:09,248 INFO L272 TraceCheckUtils]: 63: Hoare triple {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:09,248 INFO L290 TraceCheckUtils]: 62: Hoare triple {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !false; {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 05:45:09,384 INFO L290 TraceCheckUtils]: 61: Hoare triple {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 05:45:09,385 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {8361#true} {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} #97#return; {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:45:09,385 INFO L290 TraceCheckUtils]: 59: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:09,385 INFO L290 TraceCheckUtils]: 58: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:09,385 INFO L290 TraceCheckUtils]: 57: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:09,385 INFO L272 TraceCheckUtils]: 56: Hoare triple {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:09,386 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8361#true} {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} #95#return; {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:45:09,386 INFO L290 TraceCheckUtils]: 54: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:09,386 INFO L290 TraceCheckUtils]: 53: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:09,386 INFO L290 TraceCheckUtils]: 52: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:09,386 INFO L272 TraceCheckUtils]: 51: Hoare triple {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:09,387 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8361#true} {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} #93#return; {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:45:09,387 INFO L290 TraceCheckUtils]: 49: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:09,387 INFO L290 TraceCheckUtils]: 48: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:09,387 INFO L290 TraceCheckUtils]: 47: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:09,387 INFO L272 TraceCheckUtils]: 46: Hoare triple {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:09,388 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8361#true} {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} #91#return; {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:45:09,388 INFO L290 TraceCheckUtils]: 44: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:09,388 INFO L290 TraceCheckUtils]: 43: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:09,388 INFO L290 TraceCheckUtils]: 42: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:09,388 INFO L272 TraceCheckUtils]: 41: Hoare triple {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:09,388 INFO L290 TraceCheckUtils]: 40: Hoare triple {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} assume !false; {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:45:09,389 INFO L290 TraceCheckUtils]: 39: Hoare triple {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:45:09,389 INFO L290 TraceCheckUtils]: 38: Hoare triple {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} assume !false; {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-28 05:45:09,390 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8361#true} {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} #89#return; {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-28 05:45:09,390 INFO L290 TraceCheckUtils]: 36: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:09,390 INFO L290 TraceCheckUtils]: 35: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:09,390 INFO L290 TraceCheckUtils]: 34: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:09,390 INFO L272 TraceCheckUtils]: 33: Hoare triple {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:09,391 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8361#true} {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} #87#return; {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-28 05:45:09,391 INFO L290 TraceCheckUtils]: 31: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:09,391 INFO L290 TraceCheckUtils]: 30: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:09,391 INFO L290 TraceCheckUtils]: 29: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:09,391 INFO L272 TraceCheckUtils]: 28: Hoare triple {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:09,392 INFO L290 TraceCheckUtils]: 27: Hoare triple {8361#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; {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-28 05:45:09,392 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8361#true} {8361#true} #85#return; {8361#true} is VALID [2022-04-28 05:45:09,392 INFO L290 TraceCheckUtils]: 25: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:09,392 INFO L290 TraceCheckUtils]: 24: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:09,392 INFO L290 TraceCheckUtils]: 23: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:09,392 INFO L272 TraceCheckUtils]: 22: Hoare triple {8361#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:09,392 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8361#true} {8361#true} #83#return; {8361#true} is VALID [2022-04-28 05:45:09,392 INFO L290 TraceCheckUtils]: 20: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:09,392 INFO L290 TraceCheckUtils]: 19: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:09,392 INFO L290 TraceCheckUtils]: 18: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:09,392 INFO L272 TraceCheckUtils]: 17: Hoare triple {8361#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:09,392 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8361#true} {8361#true} #81#return; {8361#true} is VALID [2022-04-28 05:45:09,393 INFO L290 TraceCheckUtils]: 15: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:09,393 INFO L290 TraceCheckUtils]: 14: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:09,393 INFO L290 TraceCheckUtils]: 13: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:09,393 INFO L272 TraceCheckUtils]: 12: Hoare triple {8361#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:09,393 INFO L290 TraceCheckUtils]: 11: Hoare triple {8361#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8361#true} is VALID [2022-04-28 05:45:09,393 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8361#true} {8361#true} #79#return; {8361#true} is VALID [2022-04-28 05:45:09,393 INFO L290 TraceCheckUtils]: 9: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:09,393 INFO L290 TraceCheckUtils]: 8: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 05:45:09,393 INFO L290 TraceCheckUtils]: 7: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 05:45:09,393 INFO L272 TraceCheckUtils]: 6: Hoare triple {8361#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {8361#true} is VALID [2022-04-28 05:45:09,393 INFO L290 TraceCheckUtils]: 5: Hoare triple {8361#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; {8361#true} is VALID [2022-04-28 05:45:09,393 INFO L272 TraceCheckUtils]: 4: Hoare triple {8361#true} call #t~ret6 := main(); {8361#true} is VALID [2022-04-28 05:45:09,393 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8361#true} {8361#true} #103#return; {8361#true} is VALID [2022-04-28 05:45:09,393 INFO L290 TraceCheckUtils]: 2: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 05:45:09,393 INFO L290 TraceCheckUtils]: 1: Hoare triple {8361#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); {8361#true} is VALID [2022-04-28 05:45:09,394 INFO L272 TraceCheckUtils]: 0: Hoare triple {8361#true} call ULTIMATE.init(); {8361#true} is VALID [2022-04-28 05:45:09,394 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 16 proven. 8 refuted. 0 times theorem prover too weak. 172 trivial. 0 not checked. [2022-04-28 05:45:09,394 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:45:09,394 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [351967403] [2022-04-28 05:45:09,394 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:45:09,394 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1860023089] [2022-04-28 05:45:09,394 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1860023089] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:45:09,394 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:45:09,394 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-28 05:45:09,395 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:45:09,395 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [931967027] [2022-04-28 05:45:09,395 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [931967027] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:45:09,395 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:45:09,395 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 05:45:09,395 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [34581212] [2022-04-28 05:45:09,395 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:45:09,395 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) Word has length 91 [2022-04-28 05:45:09,396 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:45:09,396 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-28 05:45:09,445 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:45:09,446 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 05:45:09,446 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:45:09,446 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 05:45:09,446 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=194, Unknown=0, NotChecked=0, Total=240 [2022-04-28 05:45:09,446 INFO L87 Difference]: Start difference. First operand 134 states and 178 transitions. Second operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-28 05:45:11,088 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:45:11,088 INFO L93 Difference]: Finished difference Result 161 states and 214 transitions. [2022-04-28 05:45:11,088 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 05:45:11,089 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) Word has length 91 [2022-04-28 05:45:11,089 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:45:11,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-28 05:45:11,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 105 transitions. [2022-04-28 05:45:11,090 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-28 05:45:11,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 105 transitions. [2022-04-28 05:45:11,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 105 transitions. [2022-04-28 05:45:11,188 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:45:11,191 INFO L225 Difference]: With dead ends: 161 [2022-04-28 05:45:11,191 INFO L226 Difference]: Without dead ends: 158 [2022-04-28 05:45:11,192 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 166 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=88, Invalid=332, Unknown=0, NotChecked=0, Total=420 [2022-04-28 05:45:11,192 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 20 mSDsluCounter, 245 mSDsCounter, 0 mSdLazyCounter, 375 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 302 SdHoareTripleChecker+Invalid, 394 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 375 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 05:45:11,193 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 302 Invalid, 394 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 375 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 05:45:11,193 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 158 states. [2022-04-28 05:45:11,482 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 158 to 157. [2022-04-28 05:45:11,482 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:45:11,483 INFO L82 GeneralOperation]: Start isEquivalent. First operand 158 states. Second operand has 157 states, 87 states have (on average 1.1724137931034482) internal successors, (102), 89 states have internal predecessors, (102), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 05:45:11,483 INFO L74 IsIncluded]: Start isIncluded. First operand 158 states. Second operand has 157 states, 87 states have (on average 1.1724137931034482) internal successors, (102), 89 states have internal predecessors, (102), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 05:45:11,483 INFO L87 Difference]: Start difference. First operand 158 states. Second operand has 157 states, 87 states have (on average 1.1724137931034482) internal successors, (102), 89 states have internal predecessors, (102), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 05:45:11,501 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:45:11,501 INFO L93 Difference]: Finished difference Result 158 states and 210 transitions. [2022-04-28 05:45:11,501 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 210 transitions. [2022-04-28 05:45:11,502 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:45:11,502 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:45:11,502 INFO L74 IsIncluded]: Start isIncluded. First operand has 157 states, 87 states have (on average 1.1724137931034482) internal successors, (102), 89 states have internal predecessors, (102), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) Second operand 158 states. [2022-04-28 05:45:11,503 INFO L87 Difference]: Start difference. First operand has 157 states, 87 states have (on average 1.1724137931034482) internal successors, (102), 89 states have internal predecessors, (102), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) Second operand 158 states. [2022-04-28 05:45:11,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:45:11,507 INFO L93 Difference]: Finished difference Result 158 states and 210 transitions. [2022-04-28 05:45:11,507 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 210 transitions. [2022-04-28 05:45:11,508 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:45:11,508 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:45:11,508 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:45:11,508 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:45:11,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 157 states, 87 states have (on average 1.1724137931034482) internal successors, (102), 89 states have internal predecessors, (102), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 05:45:11,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 209 transitions. [2022-04-28 05:45:11,513 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 209 transitions. Word has length 91 [2022-04-28 05:45:11,513 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:45:11,513 INFO L495 AbstractCegarLoop]: Abstraction has 157 states and 209 transitions. [2022-04-28 05:45:11,513 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-28 05:45:11,513 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 157 states and 209 transitions. [2022-04-28 05:45:11,856 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 209 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:45:11,856 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 209 transitions. [2022-04-28 05:45:11,856 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-28 05:45:11,857 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:45:11,857 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 6, 6, 6, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:45:11,883 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:45:12,071 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:45:12,071 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:45:12,072 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:45:12,072 INFO L85 PathProgramCache]: Analyzing trace with hash -663071842, now seen corresponding path program 7 times [2022-04-28 05:45:12,072 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:45:12,072 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1944187085] [2022-04-28 05:45:12,073 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:45:12,073 INFO L85 PathProgramCache]: Analyzing trace with hash -663071842, now seen corresponding path program 8 times [2022-04-28 05:45:12,073 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:45:12,073 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1020416462] [2022-04-28 05:45:12,073 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:45:12,073 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:45:12,085 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:45:12,085 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1443352296] [2022-04-28 05:45:12,085 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:45:12,086 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:45:12,086 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:45:12,124 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:45:12,127 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:45:12,174 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:45:12,174 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:45:12,175 INFO L263 TraceCheckSpWp]: Trace formula consists of 262 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 05:45:12,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:45:12,190 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:45:12,438 INFO L272 TraceCheckUtils]: 0: Hoare triple {9884#true} call ULTIMATE.init(); {9884#true} is VALID [2022-04-28 05:45:12,438 INFO L290 TraceCheckUtils]: 1: Hoare triple {9884#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); {9884#true} is VALID [2022-04-28 05:45:12,438 INFO L290 TraceCheckUtils]: 2: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 05:45:12,438 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9884#true} {9884#true} #103#return; {9884#true} is VALID [2022-04-28 05:45:12,438 INFO L272 TraceCheckUtils]: 4: Hoare triple {9884#true} call #t~ret6 := main(); {9884#true} is VALID [2022-04-28 05:45:12,438 INFO L290 TraceCheckUtils]: 5: Hoare triple {9884#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; {9884#true} is VALID [2022-04-28 05:45:12,438 INFO L272 TraceCheckUtils]: 6: Hoare triple {9884#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {9884#true} is VALID [2022-04-28 05:45:12,439 INFO L290 TraceCheckUtils]: 7: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 05:45:12,439 INFO L290 TraceCheckUtils]: 8: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 05:45:12,439 INFO L290 TraceCheckUtils]: 9: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 05:45:12,439 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9884#true} {9884#true} #79#return; {9884#true} is VALID [2022-04-28 05:45:12,439 INFO L290 TraceCheckUtils]: 11: Hoare triple {9884#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9884#true} is VALID [2022-04-28 05:45:12,439 INFO L272 TraceCheckUtils]: 12: Hoare triple {9884#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {9884#true} is VALID [2022-04-28 05:45:12,439 INFO L290 TraceCheckUtils]: 13: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 05:45:12,439 INFO L290 TraceCheckUtils]: 14: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 05:45:12,439 INFO L290 TraceCheckUtils]: 15: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 05:45:12,439 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9884#true} {9884#true} #81#return; {9884#true} is VALID [2022-04-28 05:45:12,439 INFO L272 TraceCheckUtils]: 17: Hoare triple {9884#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9884#true} is VALID [2022-04-28 05:45:12,440 INFO L290 TraceCheckUtils]: 18: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 05:45:12,440 INFO L290 TraceCheckUtils]: 19: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 05:45:12,440 INFO L290 TraceCheckUtils]: 20: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 05:45:12,440 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9884#true} {9884#true} #83#return; {9884#true} is VALID [2022-04-28 05:45:12,440 INFO L272 TraceCheckUtils]: 22: Hoare triple {9884#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9884#true} is VALID [2022-04-28 05:45:12,440 INFO L290 TraceCheckUtils]: 23: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 05:45:12,440 INFO L290 TraceCheckUtils]: 24: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 05:45:12,440 INFO L290 TraceCheckUtils]: 25: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 05:45:12,440 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9884#true} {9884#true} #85#return; {9884#true} is VALID [2022-04-28 05:45:12,440 INFO L290 TraceCheckUtils]: 27: Hoare triple {9884#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; {9884#true} is VALID [2022-04-28 05:45:12,440 INFO L272 TraceCheckUtils]: 28: Hoare triple {9884#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {9884#true} is VALID [2022-04-28 05:45:12,440 INFO L290 TraceCheckUtils]: 29: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 05:45:12,441 INFO L290 TraceCheckUtils]: 30: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 05:45:12,441 INFO L290 TraceCheckUtils]: 31: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 05:45:12,441 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9884#true} {9884#true} #87#return; {9884#true} is VALID [2022-04-28 05:45:12,441 INFO L272 TraceCheckUtils]: 33: Hoare triple {9884#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {9884#true} is VALID [2022-04-28 05:45:12,441 INFO L290 TraceCheckUtils]: 34: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 05:45:12,441 INFO L290 TraceCheckUtils]: 35: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 05:45:12,441 INFO L290 TraceCheckUtils]: 36: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 05:45:12,441 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {9884#true} {9884#true} #89#return; {9884#true} is VALID [2022-04-28 05:45:12,441 INFO L290 TraceCheckUtils]: 38: Hoare triple {9884#true} assume !false; {9884#true} is VALID [2022-04-28 05:45:12,441 INFO L290 TraceCheckUtils]: 39: Hoare triple {9884#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9884#true} is VALID [2022-04-28 05:45:12,441 INFO L290 TraceCheckUtils]: 40: Hoare triple {9884#true} assume !false; {9884#true} is VALID [2022-04-28 05:45:12,441 INFO L272 TraceCheckUtils]: 41: Hoare triple {9884#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9884#true} is VALID [2022-04-28 05:45:12,441 INFO L290 TraceCheckUtils]: 42: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 05:45:12,441 INFO L290 TraceCheckUtils]: 43: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 05:45:12,442 INFO L290 TraceCheckUtils]: 44: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 05:45:12,442 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9884#true} {9884#true} #91#return; {9884#true} is VALID [2022-04-28 05:45:12,442 INFO L272 TraceCheckUtils]: 46: Hoare triple {9884#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9884#true} is VALID [2022-04-28 05:45:12,442 INFO L290 TraceCheckUtils]: 47: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 05:45:12,442 INFO L290 TraceCheckUtils]: 48: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 05:45:12,442 INFO L290 TraceCheckUtils]: 49: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 05:45:12,442 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9884#true} {9884#true} #93#return; {9884#true} is VALID [2022-04-28 05:45:12,442 INFO L272 TraceCheckUtils]: 51: Hoare triple {9884#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9884#true} is VALID [2022-04-28 05:45:12,442 INFO L290 TraceCheckUtils]: 52: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 05:45:12,442 INFO L290 TraceCheckUtils]: 53: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 05:45:12,442 INFO L290 TraceCheckUtils]: 54: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 05:45:12,442 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9884#true} {9884#true} #95#return; {9884#true} is VALID [2022-04-28 05:45:12,442 INFO L272 TraceCheckUtils]: 56: Hoare triple {9884#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)); {9884#true} is VALID [2022-04-28 05:45:12,442 INFO L290 TraceCheckUtils]: 57: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 05:45:12,442 INFO L290 TraceCheckUtils]: 58: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 05:45:12,443 INFO L290 TraceCheckUtils]: 59: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 05:45:12,443 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {9884#true} {9884#true} #97#return; {9884#true} is VALID [2022-04-28 05:45:12,443 INFO L290 TraceCheckUtils]: 61: Hoare triple {9884#true} assume !(~c~0 >= ~b~0); {10072#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:45:12,444 INFO L290 TraceCheckUtils]: 62: Hoare triple {10072#(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; {10076#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:45:12,444 INFO L290 TraceCheckUtils]: 63: Hoare triple {10076#(< main_~b~0 main_~a~0)} assume !false; {10076#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:45:12,444 INFO L290 TraceCheckUtils]: 64: Hoare triple {10076#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10083#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:12,447 INFO L290 TraceCheckUtils]: 65: Hoare triple {10083#(< main_~b~0 main_~c~0)} assume !false; {10083#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:12,447 INFO L272 TraceCheckUtils]: 66: Hoare triple {10083#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9884#true} is VALID [2022-04-28 05:45:12,447 INFO L290 TraceCheckUtils]: 67: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 05:45:12,447 INFO L290 TraceCheckUtils]: 68: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 05:45:12,447 INFO L290 TraceCheckUtils]: 69: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 05:45:12,448 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {9884#true} {10083#(< main_~b~0 main_~c~0)} #91#return; {10083#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:12,448 INFO L272 TraceCheckUtils]: 71: Hoare triple {10083#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9884#true} is VALID [2022-04-28 05:45:12,448 INFO L290 TraceCheckUtils]: 72: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 05:45:12,448 INFO L290 TraceCheckUtils]: 73: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 05:45:12,448 INFO L290 TraceCheckUtils]: 74: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 05:45:12,449 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {9884#true} {10083#(< main_~b~0 main_~c~0)} #93#return; {10083#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:12,449 INFO L272 TraceCheckUtils]: 76: Hoare triple {10083#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9884#true} is VALID [2022-04-28 05:45:12,449 INFO L290 TraceCheckUtils]: 77: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 05:45:12,449 INFO L290 TraceCheckUtils]: 78: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 05:45:12,449 INFO L290 TraceCheckUtils]: 79: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 05:45:12,450 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {9884#true} {10083#(< main_~b~0 main_~c~0)} #95#return; {10083#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:12,450 INFO L272 TraceCheckUtils]: 81: Hoare triple {10083#(< 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)); {9884#true} is VALID [2022-04-28 05:45:12,450 INFO L290 TraceCheckUtils]: 82: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 05:45:12,450 INFO L290 TraceCheckUtils]: 83: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 05:45:12,450 INFO L290 TraceCheckUtils]: 84: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 05:45:12,451 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {9884#true} {10083#(< main_~b~0 main_~c~0)} #97#return; {10083#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:45:12,451 INFO L290 TraceCheckUtils]: 86: Hoare triple {10083#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {9885#false} is VALID [2022-04-28 05:45:12,451 INFO L290 TraceCheckUtils]: 87: Hoare triple {9885#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; {9885#false} is VALID [2022-04-28 05:45:12,451 INFO L290 TraceCheckUtils]: 88: Hoare triple {9885#false} assume !false; {9885#false} is VALID [2022-04-28 05:45:12,452 INFO L290 TraceCheckUtils]: 89: Hoare triple {9885#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9885#false} is VALID [2022-04-28 05:45:12,452 INFO L290 TraceCheckUtils]: 90: Hoare triple {9885#false} assume !false; {9885#false} is VALID [2022-04-28 05:45:12,452 INFO L272 TraceCheckUtils]: 91: Hoare triple {9885#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9885#false} is VALID [2022-04-28 05:45:12,452 INFO L290 TraceCheckUtils]: 92: Hoare triple {9885#false} ~cond := #in~cond; {9885#false} is VALID [2022-04-28 05:45:12,452 INFO L290 TraceCheckUtils]: 93: Hoare triple {9885#false} assume !(0 == ~cond); {9885#false} is VALID [2022-04-28 05:45:12,452 INFO L290 TraceCheckUtils]: 94: Hoare triple {9885#false} assume true; {9885#false} is VALID [2022-04-28 05:45:12,452 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {9885#false} {9885#false} #91#return; {9885#false} is VALID [2022-04-28 05:45:12,452 INFO L272 TraceCheckUtils]: 96: Hoare triple {9885#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9885#false} is VALID [2022-04-28 05:45:12,452 INFO L290 TraceCheckUtils]: 97: Hoare triple {9885#false} ~cond := #in~cond; {9885#false} is VALID [2022-04-28 05:45:12,452 INFO L290 TraceCheckUtils]: 98: Hoare triple {9885#false} assume 0 == ~cond; {9885#false} is VALID [2022-04-28 05:45:12,452 INFO L290 TraceCheckUtils]: 99: Hoare triple {9885#false} assume !false; {9885#false} is VALID [2022-04-28 05:45:12,452 INFO L134 CoverageAnalysis]: Checked inductivity of 241 backedges. 67 proven. 0 refuted. 0 times theorem prover too weak. 174 trivial. 0 not checked. [2022-04-28 05:45:12,453 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:45:12,453 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:45:12,453 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1020416462] [2022-04-28 05:45:12,453 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:45:12,453 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1443352296] [2022-04-28 05:45:12,453 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1443352296] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:45:12,453 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:45:12,453 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:45:12,454 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:45:12,454 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1944187085] [2022-04-28 05:45:12,454 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1944187085] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:45:12,454 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:45:12,454 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:45:12,454 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1288757902] [2022-04-28 05:45:12,454 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:45:12,454 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) Word has length 100 [2022-04-28 05:45:12,455 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:45:12,455 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-28 05:45:12,500 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:45:12,501 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:45:12,501 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:45:12,501 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:45:12,501 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:45:12,501 INFO L87 Difference]: Start difference. First operand 157 states and 209 transitions. Second operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-28 05:45:13,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:45:13,071 INFO L93 Difference]: Finished difference Result 205 states and 283 transitions. [2022-04-28 05:45:13,071 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 05:45:13,072 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) Word has length 100 [2022-04-28 05:45:13,072 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:45:13,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-28 05:45:13,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 94 transitions. [2022-04-28 05:45:13,074 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-28 05:45:13,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 94 transitions. [2022-04-28 05:45:13,075 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 94 transitions. [2022-04-28 05:45:13,169 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:45:13,172 INFO L225 Difference]: With dead ends: 205 [2022-04-28 05:45:13,172 INFO L226 Difference]: Without dead ends: 160 [2022-04-28 05:45:13,177 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 96 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-04-28 05:45:13,178 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 6 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 163 SdHoareTripleChecker+Invalid, 74 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:45:13,178 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 163 Invalid, 74 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:45:13,179 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-04-28 05:45:13,529 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 151. [2022-04-28 05:45:13,529 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:45:13,530 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand has 151 states, 81 states have (on average 1.123456790123457) internal successors, (91), 83 states have internal predecessors, (91), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 05:45:13,530 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand has 151 states, 81 states have (on average 1.123456790123457) internal successors, (91), 83 states have internal predecessors, (91), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 05:45:13,530 INFO L87 Difference]: Start difference. First operand 160 states. Second operand has 151 states, 81 states have (on average 1.123456790123457) internal successors, (91), 83 states have internal predecessors, (91), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 05:45:13,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:45:13,535 INFO L93 Difference]: Finished difference Result 160 states and 212 transitions. [2022-04-28 05:45:13,535 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 212 transitions. [2022-04-28 05:45:13,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:45:13,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:45:13,536 INFO L74 IsIncluded]: Start isIncluded. First operand has 151 states, 81 states have (on average 1.123456790123457) internal successors, (91), 83 states have internal predecessors, (91), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) Second operand 160 states. [2022-04-28 05:45:13,536 INFO L87 Difference]: Start difference. First operand has 151 states, 81 states have (on average 1.123456790123457) internal successors, (91), 83 states have internal predecessors, (91), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) Second operand 160 states. [2022-04-28 05:45:13,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:45:13,541 INFO L93 Difference]: Finished difference Result 160 states and 212 transitions. [2022-04-28 05:45:13,541 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 212 transitions. [2022-04-28 05:45:13,541 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:45:13,541 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:45:13,541 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:45:13,542 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:45:13,542 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 151 states, 81 states have (on average 1.123456790123457) internal successors, (91), 83 states have internal predecessors, (91), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 05:45:13,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 151 states to 151 states and 198 transitions. [2022-04-28 05:45:13,546 INFO L78 Accepts]: Start accepts. Automaton has 151 states and 198 transitions. Word has length 100 [2022-04-28 05:45:13,546 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:45:13,547 INFO L495 AbstractCegarLoop]: Abstraction has 151 states and 198 transitions. [2022-04-28 05:45:13,547 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, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-28 05:45:13,547 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 151 states and 198 transitions. [2022-04-28 05:45:13,880 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:45:13,880 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 198 transitions. [2022-04-28 05:45:13,881 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 108 [2022-04-28 05:45:13,881 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:45:13,881 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:45:13,899 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-04-28 05:45:14,081 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:45:14,082 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:45:14,082 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:45:14,082 INFO L85 PathProgramCache]: Analyzing trace with hash -428114403, now seen corresponding path program 1 times [2022-04-28 05:45:14,082 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:45:14,082 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1726803771] [2022-04-28 05:45:14,083 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:45:14,083 INFO L85 PathProgramCache]: Analyzing trace with hash -428114403, now seen corresponding path program 2 times [2022-04-28 05:45:14,083 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:45:14,083 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1672888460] [2022-04-28 05:45:14,083 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:45:14,083 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:45:14,095 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:45:14,095 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [960959759] [2022-04-28 05:45:14,095 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:45:14,095 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:45:14,095 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:45:14,096 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:45:14,123 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:45:14,161 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:45:14,161 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:45:14,162 INFO L263 TraceCheckSpWp]: Trace formula consists of 264 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 05:45:14,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:45:14,180 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:45:14,595 INFO L272 TraceCheckUtils]: 0: Hoare triple {11224#true} call ULTIMATE.init(); {11224#true} is VALID [2022-04-28 05:45:14,595 INFO L290 TraceCheckUtils]: 1: Hoare triple {11224#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); {11224#true} is VALID [2022-04-28 05:45:14,595 INFO L290 TraceCheckUtils]: 2: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:14,595 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11224#true} {11224#true} #103#return; {11224#true} is VALID [2022-04-28 05:45:14,595 INFO L272 TraceCheckUtils]: 4: Hoare triple {11224#true} call #t~ret6 := main(); {11224#true} is VALID [2022-04-28 05:45:14,595 INFO L290 TraceCheckUtils]: 5: Hoare triple {11224#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; {11224#true} is VALID [2022-04-28 05:45:14,596 INFO L272 TraceCheckUtils]: 6: Hoare triple {11224#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:14,596 INFO L290 TraceCheckUtils]: 7: Hoare triple {11224#true} ~cond := #in~cond; {11250#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:45:14,596 INFO L290 TraceCheckUtils]: 8: Hoare triple {11250#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {11254#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:45:14,596 INFO L290 TraceCheckUtils]: 9: Hoare triple {11254#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11254#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:45:14,597 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11254#(not (= |assume_abort_if_not_#in~cond| 0))} {11224#true} #79#return; {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:45:14,597 INFO L290 TraceCheckUtils]: 11: Hoare triple {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:45:14,597 INFO L272 TraceCheckUtils]: 12: Hoare triple {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:14,598 INFO L290 TraceCheckUtils]: 13: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:14,598 INFO L290 TraceCheckUtils]: 14: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:14,598 INFO L290 TraceCheckUtils]: 15: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:14,598 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11224#true} {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #81#return; {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:45:14,598 INFO L272 TraceCheckUtils]: 17: Hoare triple {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:14,598 INFO L290 TraceCheckUtils]: 18: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:14,598 INFO L290 TraceCheckUtils]: 19: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:14,598 INFO L290 TraceCheckUtils]: 20: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:14,599 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11224#true} {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #83#return; {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:45:14,599 INFO L272 TraceCheckUtils]: 22: Hoare triple {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:14,599 INFO L290 TraceCheckUtils]: 23: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:14,599 INFO L290 TraceCheckUtils]: 24: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:14,599 INFO L290 TraceCheckUtils]: 25: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:14,599 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11224#true} {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #85#return; {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:45:14,600 INFO L290 TraceCheckUtils]: 27: Hoare triple {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~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; {11313#(<= main_~a~0 2)} is VALID [2022-04-28 05:45:14,600 INFO L272 TraceCheckUtils]: 28: Hoare triple {11313#(<= main_~a~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:14,600 INFO L290 TraceCheckUtils]: 29: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:14,600 INFO L290 TraceCheckUtils]: 30: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:14,600 INFO L290 TraceCheckUtils]: 31: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:14,600 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11224#true} {11313#(<= main_~a~0 2)} #87#return; {11313#(<= main_~a~0 2)} is VALID [2022-04-28 05:45:14,600 INFO L272 TraceCheckUtils]: 33: Hoare triple {11313#(<= main_~a~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:14,601 INFO L290 TraceCheckUtils]: 34: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:14,601 INFO L290 TraceCheckUtils]: 35: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:14,601 INFO L290 TraceCheckUtils]: 36: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:14,601 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {11224#true} {11313#(<= main_~a~0 2)} #89#return; {11313#(<= main_~a~0 2)} is VALID [2022-04-28 05:45:14,601 INFO L290 TraceCheckUtils]: 38: Hoare triple {11313#(<= main_~a~0 2)} assume !false; {11313#(<= main_~a~0 2)} is VALID [2022-04-28 05:45:14,602 INFO L290 TraceCheckUtils]: 39: Hoare triple {11313#(<= main_~a~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 05:45:14,602 INFO L290 TraceCheckUtils]: 40: Hoare triple {11350#(<= main_~c~0 2)} assume !false; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 05:45:14,602 INFO L272 TraceCheckUtils]: 41: Hoare triple {11350#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:14,602 INFO L290 TraceCheckUtils]: 42: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:14,602 INFO L290 TraceCheckUtils]: 43: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:14,602 INFO L290 TraceCheckUtils]: 44: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:14,603 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #91#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 05:45:14,603 INFO L272 TraceCheckUtils]: 46: Hoare triple {11350#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:14,603 INFO L290 TraceCheckUtils]: 47: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:14,603 INFO L290 TraceCheckUtils]: 48: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:14,603 INFO L290 TraceCheckUtils]: 49: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:14,604 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #93#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 05:45:14,604 INFO L272 TraceCheckUtils]: 51: Hoare triple {11350#(<= main_~c~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:14,604 INFO L290 TraceCheckUtils]: 52: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:14,604 INFO L290 TraceCheckUtils]: 53: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:14,604 INFO L290 TraceCheckUtils]: 54: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:14,605 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #95#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 05:45:14,605 INFO L272 TraceCheckUtils]: 56: Hoare triple {11350#(<= main_~c~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)); {11224#true} is VALID [2022-04-28 05:45:14,605 INFO L290 TraceCheckUtils]: 57: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:14,605 INFO L290 TraceCheckUtils]: 58: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:14,605 INFO L290 TraceCheckUtils]: 59: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:14,606 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #97#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 05:45:14,606 INFO L290 TraceCheckUtils]: 61: Hoare triple {11350#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} is VALID [2022-04-28 05:45:14,607 INFO L290 TraceCheckUtils]: 62: Hoare triple {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} assume !false; {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} is VALID [2022-04-28 05:45:14,607 INFO L272 TraceCheckUtils]: 63: Hoare triple {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:14,607 INFO L290 TraceCheckUtils]: 64: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:14,607 INFO L290 TraceCheckUtils]: 65: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:14,607 INFO L290 TraceCheckUtils]: 66: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:14,607 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11224#true} {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} #91#return; {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} is VALID [2022-04-28 05:45:14,607 INFO L272 TraceCheckUtils]: 68: Hoare triple {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:14,608 INFO L290 TraceCheckUtils]: 69: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:14,608 INFO L290 TraceCheckUtils]: 70: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:14,608 INFO L290 TraceCheckUtils]: 71: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:14,608 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11224#true} {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} #93#return; {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} is VALID [2022-04-28 05:45:14,608 INFO L272 TraceCheckUtils]: 73: Hoare triple {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:14,608 INFO L290 TraceCheckUtils]: 74: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:14,608 INFO L290 TraceCheckUtils]: 75: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:14,608 INFO L290 TraceCheckUtils]: 76: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:14,609 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {11224#true} {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} #95#return; {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} is VALID [2022-04-28 05:45:14,609 INFO L272 TraceCheckUtils]: 78: Hoare triple {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~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)); {11224#true} is VALID [2022-04-28 05:45:14,609 INFO L290 TraceCheckUtils]: 79: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:14,609 INFO L290 TraceCheckUtils]: 80: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:14,609 INFO L290 TraceCheckUtils]: 81: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:14,610 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {11224#true} {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} #97#return; {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} is VALID [2022-04-28 05:45:14,611 INFO L290 TraceCheckUtils]: 83: Hoare triple {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} assume !(~c~0 >= ~b~0); {11484#(and (< (* main_~c~0 2) 2) (<= 0 main_~c~0))} is VALID [2022-04-28 05:45:14,611 INFO L290 TraceCheckUtils]: 84: Hoare triple {11484#(and (< (* main_~c~0 2) 2) (<= 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; {11488#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} is VALID [2022-04-28 05:45:14,611 INFO L290 TraceCheckUtils]: 85: Hoare triple {11488#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} assume !false; {11488#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} is VALID [2022-04-28 05:45:14,612 INFO L290 TraceCheckUtils]: 86: Hoare triple {11488#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11225#false} is VALID [2022-04-28 05:45:14,612 INFO L290 TraceCheckUtils]: 87: Hoare triple {11225#false} assume !false; {11225#false} is VALID [2022-04-28 05:45:14,612 INFO L272 TraceCheckUtils]: 88: Hoare triple {11225#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11225#false} is VALID [2022-04-28 05:45:14,612 INFO L290 TraceCheckUtils]: 89: Hoare triple {11225#false} ~cond := #in~cond; {11225#false} is VALID [2022-04-28 05:45:14,612 INFO L290 TraceCheckUtils]: 90: Hoare triple {11225#false} assume !(0 == ~cond); {11225#false} is VALID [2022-04-28 05:45:14,612 INFO L290 TraceCheckUtils]: 91: Hoare triple {11225#false} assume true; {11225#false} is VALID [2022-04-28 05:45:14,612 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {11225#false} {11225#false} #91#return; {11225#false} is VALID [2022-04-28 05:45:14,612 INFO L272 TraceCheckUtils]: 93: Hoare triple {11225#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11225#false} is VALID [2022-04-28 05:45:14,612 INFO L290 TraceCheckUtils]: 94: Hoare triple {11225#false} ~cond := #in~cond; {11225#false} is VALID [2022-04-28 05:45:14,612 INFO L290 TraceCheckUtils]: 95: Hoare triple {11225#false} assume !(0 == ~cond); {11225#false} is VALID [2022-04-28 05:45:14,612 INFO L290 TraceCheckUtils]: 96: Hoare triple {11225#false} assume true; {11225#false} is VALID [2022-04-28 05:45:14,612 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {11225#false} {11225#false} #93#return; {11225#false} is VALID [2022-04-28 05:45:14,613 INFO L272 TraceCheckUtils]: 98: Hoare triple {11225#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11225#false} is VALID [2022-04-28 05:45:14,613 INFO L290 TraceCheckUtils]: 99: Hoare triple {11225#false} ~cond := #in~cond; {11225#false} is VALID [2022-04-28 05:45:14,613 INFO L290 TraceCheckUtils]: 100: Hoare triple {11225#false} assume !(0 == ~cond); {11225#false} is VALID [2022-04-28 05:45:14,613 INFO L290 TraceCheckUtils]: 101: Hoare triple {11225#false} assume true; {11225#false} is VALID [2022-04-28 05:45:14,613 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {11225#false} {11225#false} #95#return; {11225#false} is VALID [2022-04-28 05:45:14,613 INFO L272 TraceCheckUtils]: 103: Hoare triple {11225#false} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11225#false} is VALID [2022-04-28 05:45:14,613 INFO L290 TraceCheckUtils]: 104: Hoare triple {11225#false} ~cond := #in~cond; {11225#false} is VALID [2022-04-28 05:45:14,613 INFO L290 TraceCheckUtils]: 105: Hoare triple {11225#false} assume 0 == ~cond; {11225#false} is VALID [2022-04-28 05:45:14,613 INFO L290 TraceCheckUtils]: 106: Hoare triple {11225#false} assume !false; {11225#false} is VALID [2022-04-28 05:45:14,614 INFO L134 CoverageAnalysis]: Checked inductivity of 320 backedges. 122 proven. 23 refuted. 0 times theorem prover too weak. 175 trivial. 0 not checked. [2022-04-28 05:45:14,614 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:45:15,104 INFO L290 TraceCheckUtils]: 106: Hoare triple {11225#false} assume !false; {11225#false} is VALID [2022-04-28 05:45:15,104 INFO L290 TraceCheckUtils]: 105: Hoare triple {11225#false} assume 0 == ~cond; {11225#false} is VALID [2022-04-28 05:45:15,104 INFO L290 TraceCheckUtils]: 104: Hoare triple {11225#false} ~cond := #in~cond; {11225#false} is VALID [2022-04-28 05:45:15,104 INFO L272 TraceCheckUtils]: 103: Hoare triple {11225#false} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11225#false} is VALID [2022-04-28 05:45:15,104 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {11224#true} {11225#false} #95#return; {11225#false} is VALID [2022-04-28 05:45:15,104 INFO L290 TraceCheckUtils]: 101: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:15,104 INFO L290 TraceCheckUtils]: 100: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:15,104 INFO L290 TraceCheckUtils]: 99: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:15,104 INFO L272 TraceCheckUtils]: 98: Hoare triple {11225#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:15,104 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {11224#true} {11225#false} #93#return; {11225#false} is VALID [2022-04-28 05:45:15,105 INFO L290 TraceCheckUtils]: 96: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:15,105 INFO L290 TraceCheckUtils]: 95: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:15,105 INFO L290 TraceCheckUtils]: 94: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:15,105 INFO L272 TraceCheckUtils]: 93: Hoare triple {11225#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:15,105 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {11224#true} {11225#false} #91#return; {11225#false} is VALID [2022-04-28 05:45:15,105 INFO L290 TraceCheckUtils]: 91: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:15,105 INFO L290 TraceCheckUtils]: 90: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:15,105 INFO L290 TraceCheckUtils]: 89: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:15,105 INFO L272 TraceCheckUtils]: 88: Hoare triple {11225#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:15,105 INFO L290 TraceCheckUtils]: 87: Hoare triple {11225#false} assume !false; {11225#false} is VALID [2022-04-28 05:45:15,106 INFO L290 TraceCheckUtils]: 86: Hoare triple {11488#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11225#false} is VALID [2022-04-28 05:45:15,106 INFO L290 TraceCheckUtils]: 85: Hoare triple {11488#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} assume !false; {11488#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} is VALID [2022-04-28 05:45:15,106 INFO L290 TraceCheckUtils]: 84: Hoare triple {11484#(and (< (* main_~c~0 2) 2) (<= 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; {11488#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} is VALID [2022-04-28 05:45:15,107 INFO L290 TraceCheckUtils]: 83: Hoare triple {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {11484#(and (< (* main_~c~0 2) 2) (<= 0 main_~c~0))} is VALID [2022-04-28 05:45:15,107 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {11224#true} {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #97#return; {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:45:15,108 INFO L290 TraceCheckUtils]: 81: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:15,108 INFO L290 TraceCheckUtils]: 80: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:15,108 INFO L290 TraceCheckUtils]: 79: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:15,108 INFO L272 TraceCheckUtils]: 78: Hoare triple {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:15,108 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {11224#true} {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #95#return; {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:45:15,108 INFO L290 TraceCheckUtils]: 76: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:15,108 INFO L290 TraceCheckUtils]: 75: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:15,109 INFO L290 TraceCheckUtils]: 74: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:15,109 INFO L272 TraceCheckUtils]: 73: Hoare triple {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:15,109 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11224#true} {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #93#return; {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:45:15,109 INFO L290 TraceCheckUtils]: 71: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:15,109 INFO L290 TraceCheckUtils]: 70: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:15,109 INFO L290 TraceCheckUtils]: 69: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:15,109 INFO L272 TraceCheckUtils]: 68: Hoare triple {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:15,110 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11224#true} {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #91#return; {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:45:15,110 INFO L290 TraceCheckUtils]: 66: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:15,110 INFO L290 TraceCheckUtils]: 65: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:15,110 INFO L290 TraceCheckUtils]: 64: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:15,110 INFO L272 TraceCheckUtils]: 63: Hoare triple {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:15,111 INFO L290 TraceCheckUtils]: 62: Hoare triple {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} assume !false; {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:45:15,111 INFO L290 TraceCheckUtils]: 61: Hoare triple {11350#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:45:15,112 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #97#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 05:45:15,112 INFO L290 TraceCheckUtils]: 59: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:15,112 INFO L290 TraceCheckUtils]: 58: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:15,112 INFO L290 TraceCheckUtils]: 57: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:15,112 INFO L272 TraceCheckUtils]: 56: Hoare triple {11350#(<= main_~c~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)); {11224#true} is VALID [2022-04-28 05:45:15,113 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #95#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 05:45:15,113 INFO L290 TraceCheckUtils]: 54: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:15,113 INFO L290 TraceCheckUtils]: 53: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:15,113 INFO L290 TraceCheckUtils]: 52: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:15,113 INFO L272 TraceCheckUtils]: 51: Hoare triple {11350#(<= main_~c~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:15,114 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #93#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 05:45:15,114 INFO L290 TraceCheckUtils]: 49: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:15,114 INFO L290 TraceCheckUtils]: 48: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:15,114 INFO L290 TraceCheckUtils]: 47: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:15,114 INFO L272 TraceCheckUtils]: 46: Hoare triple {11350#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:15,114 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #91#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 05:45:15,114 INFO L290 TraceCheckUtils]: 44: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:15,114 INFO L290 TraceCheckUtils]: 43: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:15,115 INFO L290 TraceCheckUtils]: 42: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:15,115 INFO L272 TraceCheckUtils]: 41: Hoare triple {11350#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:15,115 INFO L290 TraceCheckUtils]: 40: Hoare triple {11350#(<= main_~c~0 2)} assume !false; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 05:45:15,115 INFO L290 TraceCheckUtils]: 39: Hoare triple {11313#(<= main_~a~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 05:45:15,115 INFO L290 TraceCheckUtils]: 38: Hoare triple {11313#(<= main_~a~0 2)} assume !false; {11313#(<= main_~a~0 2)} is VALID [2022-04-28 05:45:15,116 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {11224#true} {11313#(<= main_~a~0 2)} #89#return; {11313#(<= main_~a~0 2)} is VALID [2022-04-28 05:45:15,116 INFO L290 TraceCheckUtils]: 36: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:15,116 INFO L290 TraceCheckUtils]: 35: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:15,116 INFO L290 TraceCheckUtils]: 34: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:15,116 INFO L272 TraceCheckUtils]: 33: Hoare triple {11313#(<= main_~a~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:15,117 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11224#true} {11313#(<= main_~a~0 2)} #87#return; {11313#(<= main_~a~0 2)} is VALID [2022-04-28 05:45:15,117 INFO L290 TraceCheckUtils]: 31: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:15,117 INFO L290 TraceCheckUtils]: 30: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:15,117 INFO L290 TraceCheckUtils]: 29: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:15,117 INFO L272 TraceCheckUtils]: 28: Hoare triple {11313#(<= main_~a~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:15,117 INFO L290 TraceCheckUtils]: 27: Hoare triple {11793#(<= main_~x~0 2)} ~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; {11313#(<= main_~a~0 2)} is VALID [2022-04-28 05:45:15,118 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11224#true} {11793#(<= main_~x~0 2)} #85#return; {11793#(<= main_~x~0 2)} is VALID [2022-04-28 05:45:15,118 INFO L290 TraceCheckUtils]: 25: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:15,118 INFO L290 TraceCheckUtils]: 24: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:15,118 INFO L290 TraceCheckUtils]: 23: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:15,118 INFO L272 TraceCheckUtils]: 22: Hoare triple {11793#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:15,118 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11224#true} {11793#(<= main_~x~0 2)} #83#return; {11793#(<= main_~x~0 2)} is VALID [2022-04-28 05:45:15,118 INFO L290 TraceCheckUtils]: 20: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:15,118 INFO L290 TraceCheckUtils]: 19: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:15,118 INFO L290 TraceCheckUtils]: 18: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:15,119 INFO L272 TraceCheckUtils]: 17: Hoare triple {11793#(<= main_~x~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:15,119 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11224#true} {11793#(<= main_~x~0 2)} #81#return; {11793#(<= main_~x~0 2)} is VALID [2022-04-28 05:45:15,119 INFO L290 TraceCheckUtils]: 15: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:15,119 INFO L290 TraceCheckUtils]: 14: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 05:45:15,119 INFO L290 TraceCheckUtils]: 13: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 05:45:15,119 INFO L272 TraceCheckUtils]: 12: Hoare triple {11793#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:15,119 INFO L290 TraceCheckUtils]: 11: Hoare triple {11793#(<= main_~x~0 2)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11793#(<= main_~x~0 2)} is VALID [2022-04-28 05:45:15,120 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11254#(not (= |assume_abort_if_not_#in~cond| 0))} {11224#true} #79#return; {11793#(<= main_~x~0 2)} is VALID [2022-04-28 05:45:15,120 INFO L290 TraceCheckUtils]: 9: Hoare triple {11254#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11254#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:45:15,120 INFO L290 TraceCheckUtils]: 8: Hoare triple {11854#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {11254#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:45:15,121 INFO L290 TraceCheckUtils]: 7: Hoare triple {11224#true} ~cond := #in~cond; {11854#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 05:45:15,121 INFO L272 TraceCheckUtils]: 6: Hoare triple {11224#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {11224#true} is VALID [2022-04-28 05:45:15,121 INFO L290 TraceCheckUtils]: 5: Hoare triple {11224#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; {11224#true} is VALID [2022-04-28 05:45:15,121 INFO L272 TraceCheckUtils]: 4: Hoare triple {11224#true} call #t~ret6 := main(); {11224#true} is VALID [2022-04-28 05:45:15,121 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11224#true} {11224#true} #103#return; {11224#true} is VALID [2022-04-28 05:45:15,121 INFO L290 TraceCheckUtils]: 2: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 05:45:15,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {11224#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); {11224#true} is VALID [2022-04-28 05:45:15,121 INFO L272 TraceCheckUtils]: 0: Hoare triple {11224#true} call ULTIMATE.init(); {11224#true} is VALID [2022-04-28 05:45:15,122 INFO L134 CoverageAnalysis]: Checked inductivity of 320 backedges. 32 proven. 23 refuted. 0 times theorem prover too weak. 265 trivial. 0 not checked. [2022-04-28 05:45:15,122 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:45:15,122 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1672888460] [2022-04-28 05:45:15,122 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:45:15,122 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [960959759] [2022-04-28 05:45:15,122 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [960959759] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:45:15,122 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:45:15,122 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 13 [2022-04-28 05:45:15,122 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:45:15,122 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1726803771] [2022-04-28 05:45:15,122 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1726803771] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:45:15,123 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:45:15,123 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 05:45:15,123 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [177658829] [2022-04-28 05:45:15,123 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:45:15,123 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.9) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 6 states have call successors, (18) Word has length 107 [2022-04-28 05:45:15,123 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:45:15,124 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.9) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 05:45:15,174 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:45:15,174 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 05:45:15,174 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:45:15,175 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 05:45:15,175 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=127, Unknown=0, NotChecked=0, Total=156 [2022-04-28 05:45:15,175 INFO L87 Difference]: Start difference. First operand 151 states and 198 transitions. Second operand has 10 states, 10 states have (on average 2.9) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 05:45:16,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:45:16,229 INFO L93 Difference]: Finished difference Result 182 states and 237 transitions. [2022-04-28 05:45:16,229 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 05:45:16,229 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.9) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 6 states have call successors, (18) Word has length 107 [2022-04-28 05:45:16,230 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:45:16,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.9) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 05:45:16,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 111 transitions. [2022-04-28 05:45:16,232 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.9) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 05:45:16,234 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 111 transitions. [2022-04-28 05:45:16,234 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 111 transitions. [2022-04-28 05:45:16,327 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:45:16,330 INFO L225 Difference]: With dead ends: 182 [2022-04-28 05:45:16,330 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 05:45:16,331 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 222 GetRequests, 200 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=107, Invalid=355, Unknown=0, NotChecked=0, Total=462 [2022-04-28 05:45:16,331 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 30 mSDsluCounter, 205 mSDsCounter, 0 mSdLazyCounter, 205 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 257 SdHoareTripleChecker+Invalid, 251 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 46 IncrementalHoareTripleChecker+Valid, 205 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 05:45:16,331 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [34 Valid, 257 Invalid, 251 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 205 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 05:45:16,332 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 05:45:16,695 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-28 05:45:16,695 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:45:16,696 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 132 states, 71 states have (on average 1.1126760563380282) internal successors, (79), 73 states have internal predecessors, (79), 47 states have call successors, (47), 14 states have call predecessors, (47), 13 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:45:16,696 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 132 states, 71 states have (on average 1.1126760563380282) internal successors, (79), 73 states have internal predecessors, (79), 47 states have call successors, (47), 14 states have call predecessors, (47), 13 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:45:16,696 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 132 states, 71 states have (on average 1.1126760563380282) internal successors, (79), 73 states have internal predecessors, (79), 47 states have call successors, (47), 14 states have call predecessors, (47), 13 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:45:16,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:45:16,700 INFO L93 Difference]: Finished difference Result 132 states and 170 transitions. [2022-04-28 05:45:16,700 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 170 transitions. [2022-04-28 05:45:16,700 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:45:16,700 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:45:16,701 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 71 states have (on average 1.1126760563380282) internal successors, (79), 73 states have internal predecessors, (79), 47 states have call successors, (47), 14 states have call predecessors, (47), 13 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 132 states. [2022-04-28 05:45:16,701 INFO L87 Difference]: Start difference. First operand has 132 states, 71 states have (on average 1.1126760563380282) internal successors, (79), 73 states have internal predecessors, (79), 47 states have call successors, (47), 14 states have call predecessors, (47), 13 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 132 states. [2022-04-28 05:45:16,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:45:16,704 INFO L93 Difference]: Finished difference Result 132 states and 170 transitions. [2022-04-28 05:45:16,704 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 170 transitions. [2022-04-28 05:45:16,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:45:16,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:45:16,705 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:45:16,705 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:45:16,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 71 states have (on average 1.1126760563380282) internal successors, (79), 73 states have internal predecessors, (79), 47 states have call successors, (47), 14 states have call predecessors, (47), 13 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:45:16,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 170 transitions. [2022-04-28 05:45:16,709 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 170 transitions. Word has length 107 [2022-04-28 05:45:16,709 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:45:16,709 INFO L495 AbstractCegarLoop]: Abstraction has 132 states and 170 transitions. [2022-04-28 05:45:16,709 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.9) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 05:45:16,709 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 170 transitions. [2022-04-28 05:45:17,064 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 170 edges. 170 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:45:17,065 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 170 transitions. [2022-04-28 05:45:17,065 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-04-28 05:45:17,065 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:45:17,065 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:45:17,081 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:45:17,266 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:45:17,266 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:45:17,266 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:45:17,266 INFO L85 PathProgramCache]: Analyzing trace with hash 1185765869, now seen corresponding path program 3 times [2022-04-28 05:45:17,266 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:45:17,266 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [13473438] [2022-04-28 05:45:17,267 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:45:17,267 INFO L85 PathProgramCache]: Analyzing trace with hash 1185765869, now seen corresponding path program 4 times [2022-04-28 05:45:17,267 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:45:17,267 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [998881985] [2022-04-28 05:45:17,267 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:45:17,267 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:45:17,279 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:45:17,280 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [414260385] [2022-04-28 05:45:17,280 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:45:17,280 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:45:17,280 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:45:17,281 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:45:17,281 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:45:17,328 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:45:17,329 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:45:17,330 INFO L263 TraceCheckSpWp]: Trace formula consists of 236 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-28 05:45:17,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:45:17,348 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:45:18,365 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:45:20,292 INFO L272 TraceCheckUtils]: 0: Hoare triple {12788#true} call ULTIMATE.init(); {12788#true} is VALID [2022-04-28 05:45:20,292 INFO L290 TraceCheckUtils]: 1: Hoare triple {12788#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); {12788#true} is VALID [2022-04-28 05:45:20,292 INFO L290 TraceCheckUtils]: 2: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:45:20,292 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12788#true} {12788#true} #103#return; {12788#true} is VALID [2022-04-28 05:45:20,292 INFO L272 TraceCheckUtils]: 4: Hoare triple {12788#true} call #t~ret6 := main(); {12788#true} is VALID [2022-04-28 05:45:20,292 INFO L290 TraceCheckUtils]: 5: Hoare triple {12788#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; {12788#true} is VALID [2022-04-28 05:45:20,292 INFO L272 TraceCheckUtils]: 6: Hoare triple {12788#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:45:20,292 INFO L290 TraceCheckUtils]: 7: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:45:20,292 INFO L290 TraceCheckUtils]: 8: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:45:20,293 INFO L290 TraceCheckUtils]: 9: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:45:20,293 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12788#true} {12788#true} #79#return; {12788#true} is VALID [2022-04-28 05:45:20,293 INFO L290 TraceCheckUtils]: 11: Hoare triple {12788#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12788#true} is VALID [2022-04-28 05:45:20,293 INFO L272 TraceCheckUtils]: 12: Hoare triple {12788#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:45:20,293 INFO L290 TraceCheckUtils]: 13: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:45:20,293 INFO L290 TraceCheckUtils]: 14: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:45:20,293 INFO L290 TraceCheckUtils]: 15: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:45:20,293 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12788#true} {12788#true} #81#return; {12788#true} is VALID [2022-04-28 05:45:20,293 INFO L272 TraceCheckUtils]: 17: Hoare triple {12788#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:45:20,293 INFO L290 TraceCheckUtils]: 18: Hoare triple {12788#true} ~cond := #in~cond; {12847#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:45:20,294 INFO L290 TraceCheckUtils]: 19: Hoare triple {12847#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {12851#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:45:20,294 INFO L290 TraceCheckUtils]: 20: Hoare triple {12851#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {12851#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:45:20,294 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {12851#(not (= |assume_abort_if_not_#in~cond| 0))} {12788#true} #83#return; {12858#(<= 1 main_~x~0)} is VALID [2022-04-28 05:45:20,295 INFO L272 TraceCheckUtils]: 22: Hoare triple {12858#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:45:20,295 INFO L290 TraceCheckUtils]: 23: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:45:20,295 INFO L290 TraceCheckUtils]: 24: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:45:20,295 INFO L290 TraceCheckUtils]: 25: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:45:20,296 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {12788#true} {12858#(<= 1 main_~x~0)} #85#return; {12858#(<= 1 main_~x~0)} is VALID [2022-04-28 05:45:20,296 INFO L290 TraceCheckUtils]: 27: Hoare triple {12858#(<= 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; {12877#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:45:20,296 INFO L272 TraceCheckUtils]: 28: Hoare triple {12877#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:45:20,296 INFO L290 TraceCheckUtils]: 29: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:45:20,296 INFO L290 TraceCheckUtils]: 30: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:45:20,296 INFO L290 TraceCheckUtils]: 31: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:45:20,297 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12788#true} {12877#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {12877#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:45:20,297 INFO L272 TraceCheckUtils]: 33: Hoare triple {12877#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:45:20,297 INFO L290 TraceCheckUtils]: 34: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:45:20,297 INFO L290 TraceCheckUtils]: 35: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:45:20,297 INFO L290 TraceCheckUtils]: 36: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:45:20,298 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {12788#true} {12877#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {12877#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:45:20,298 INFO L290 TraceCheckUtils]: 38: Hoare triple {12877#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {12877#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:45:20,299 INFO L290 TraceCheckUtils]: 39: Hoare triple {12877#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:45:20,299 INFO L290 TraceCheckUtils]: 40: Hoare triple {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:45:20,299 INFO L272 TraceCheckUtils]: 41: Hoare triple {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~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)); {12788#true} is VALID [2022-04-28 05:45:20,299 INFO L290 TraceCheckUtils]: 42: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:45:20,299 INFO L290 TraceCheckUtils]: 43: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:45:20,299 INFO L290 TraceCheckUtils]: 44: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:45:20,300 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12788#true} {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:45:20,300 INFO L272 TraceCheckUtils]: 46: Hoare triple {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~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)); {12788#true} is VALID [2022-04-28 05:45:20,300 INFO L290 TraceCheckUtils]: 47: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:45:20,300 INFO L290 TraceCheckUtils]: 48: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:45:20,300 INFO L290 TraceCheckUtils]: 49: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:45:20,301 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12788#true} {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #93#return; {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:45:20,301 INFO L272 TraceCheckUtils]: 51: Hoare triple {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~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)); {12788#true} is VALID [2022-04-28 05:45:20,301 INFO L290 TraceCheckUtils]: 52: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:45:20,301 INFO L290 TraceCheckUtils]: 53: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:45:20,301 INFO L290 TraceCheckUtils]: 54: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:45:20,302 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {12788#true} {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #95#return; {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:45:20,302 INFO L272 TraceCheckUtils]: 56: Hoare triple {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~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)); {12788#true} is VALID [2022-04-28 05:45:20,302 INFO L290 TraceCheckUtils]: 57: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:45:20,302 INFO L290 TraceCheckUtils]: 58: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:45:20,302 INFO L290 TraceCheckUtils]: 59: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:45:20,303 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {12788#true} {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #97#return; {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:45:20,304 INFO L290 TraceCheckUtils]: 61: Hoare triple {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~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; {12981#(and (= main_~r~0 0) (<= 1 main_~k~0) (<= 1 main_~x~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:45:20,304 INFO L290 TraceCheckUtils]: 62: Hoare triple {12981#(and (= main_~r~0 0) (<= 1 main_~k~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {12981#(and (= main_~r~0 0) (<= 1 main_~k~0) (<= 1 main_~x~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:45:20,304 INFO L272 TraceCheckUtils]: 63: Hoare triple {12981#(and (= main_~r~0 0) (<= 1 main_~k~0) (<= 1 main_~x~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)); {12788#true} is VALID [2022-04-28 05:45:20,304 INFO L290 TraceCheckUtils]: 64: Hoare triple {12788#true} ~cond := #in~cond; {12991#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:45:20,305 INFO L290 TraceCheckUtils]: 65: Hoare triple {12991#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:45:20,305 INFO L290 TraceCheckUtils]: 66: Hoare triple {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:45:20,306 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} {12981#(and (= main_~r~0 0) (<= 1 main_~k~0) (<= 1 main_~x~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))} #91#return; {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~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:45:20,306 INFO L272 TraceCheckUtils]: 68: Hoare triple {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~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)); {12788#true} is VALID [2022-04-28 05:45:20,306 INFO L290 TraceCheckUtils]: 69: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:45:20,306 INFO L290 TraceCheckUtils]: 70: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:45:20,306 INFO L290 TraceCheckUtils]: 71: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:45:20,307 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {12788#true} {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~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))} #93#return; {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~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:45:20,307 INFO L272 TraceCheckUtils]: 73: Hoare triple {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~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)); {12788#true} is VALID [2022-04-28 05:45:20,307 INFO L290 TraceCheckUtils]: 74: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:45:20,307 INFO L290 TraceCheckUtils]: 75: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:45:20,307 INFO L290 TraceCheckUtils]: 76: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:45:20,308 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {12788#true} {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~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))} #95#return; {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~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:45:20,308 INFO L272 TraceCheckUtils]: 78: Hoare triple {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~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)); {12788#true} is VALID [2022-04-28 05:45:20,308 INFO L290 TraceCheckUtils]: 79: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:45:20,308 INFO L290 TraceCheckUtils]: 80: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:45:20,308 INFO L290 TraceCheckUtils]: 81: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:45:20,309 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {12788#true} {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~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))} #97#return; {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~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:45:20,310 INFO L290 TraceCheckUtils]: 83: Hoare triple {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~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; {13051#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-28 05:45:20,310 INFO L290 TraceCheckUtils]: 84: Hoare triple {13051#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} assume !false; {13051#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-28 05:45:20,310 INFO L272 TraceCheckUtils]: 85: Hoare triple {13051#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~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)); {12788#true} is VALID [2022-04-28 05:45:20,311 INFO L290 TraceCheckUtils]: 86: Hoare triple {12788#true} ~cond := #in~cond; {12991#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:45:20,311 INFO L290 TraceCheckUtils]: 87: Hoare triple {12991#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:45:20,311 INFO L290 TraceCheckUtils]: 88: Hoare triple {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:45:20,313 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} {13051#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} #91#return; {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} is VALID [2022-04-28 05:45:20,313 INFO L272 TraceCheckUtils]: 90: Hoare triple {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:45:20,313 INFO L290 TraceCheckUtils]: 91: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:45:20,313 INFO L290 TraceCheckUtils]: 92: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:45:20,313 INFO L290 TraceCheckUtils]: 93: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:45:20,314 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {12788#true} {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} #93#return; {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} is VALID [2022-04-28 05:45:20,314 INFO L272 TraceCheckUtils]: 95: Hoare triple {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:45:20,314 INFO L290 TraceCheckUtils]: 96: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:45:20,314 INFO L290 TraceCheckUtils]: 97: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:45:20,314 INFO L290 TraceCheckUtils]: 98: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:45:20,314 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {12788#true} {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} #95#return; {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} is VALID [2022-04-28 05:45:20,315 INFO L272 TraceCheckUtils]: 100: Hoare triple {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:45:20,315 INFO L290 TraceCheckUtils]: 101: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:45:20,315 INFO L290 TraceCheckUtils]: 102: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:45:20,315 INFO L290 TraceCheckUtils]: 103: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:45:20,316 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {12788#true} {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} #97#return; {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} is VALID [2022-04-28 05:45:20,316 INFO L290 TraceCheckUtils]: 105: Hoare triple {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {13119#(and (= main_~r~0 0) (< main_~c~0 main_~y~0) (= main_~s~0 1) (<= (* main_~y~0 2) (+ main_~c~0 (* main_~k~0 main_~y~0))) (= main_~q~0 0) (= main_~x~0 (+ main_~c~0 (* main_~k~0 main_~y~0))) (= (* main_~y~0 2) (* main_~k~0 main_~y~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:45:20,318 INFO L290 TraceCheckUtils]: 106: Hoare triple {13119#(and (= main_~r~0 0) (< main_~c~0 main_~y~0) (= main_~s~0 1) (<= (* main_~y~0 2) (+ main_~c~0 (* main_~k~0 main_~y~0))) (= main_~q~0 0) (= main_~x~0 (+ main_~c~0 (* main_~k~0 main_~y~0))) (= (* main_~y~0 2) (* main_~k~0 main_~y~0)) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {13123#(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:45:20,318 INFO L290 TraceCheckUtils]: 107: Hoare triple {13123#(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 !false; {13123#(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:45:20,318 INFO L290 TraceCheckUtils]: 108: Hoare triple {13123#(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); {13130#(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:45:20,319 INFO L272 TraceCheckUtils]: 109: Hoare triple {13130#(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)); {13134#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:45:20,319 INFO L290 TraceCheckUtils]: 110: Hoare triple {13134#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13138#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:45:20,320 INFO L290 TraceCheckUtils]: 111: Hoare triple {13138#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12789#false} is VALID [2022-04-28 05:45:20,320 INFO L290 TraceCheckUtils]: 112: Hoare triple {12789#false} assume !false; {12789#false} is VALID [2022-04-28 05:45:20,320 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 61 proven. 58 refuted. 0 times theorem prover too weak. 249 trivial. 0 not checked. [2022-04-28 05:45:20,320 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:46:41,472 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:47:49,296 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:48:08,732 INFO L290 TraceCheckUtils]: 112: Hoare triple {12789#false} assume !false; {12789#false} is VALID [2022-04-28 05:48:08,733 INFO L290 TraceCheckUtils]: 111: Hoare triple {13138#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12789#false} is VALID [2022-04-28 05:48:08,733 INFO L290 TraceCheckUtils]: 110: Hoare triple {13134#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13138#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:48:08,734 INFO L272 TraceCheckUtils]: 109: Hoare triple {13154#(= (+ (* 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)); {13134#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:48:08,735 INFO L290 TraceCheckUtils]: 108: Hoare triple {13158#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {13154#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-28 05:48:08,735 INFO L290 TraceCheckUtils]: 107: Hoare triple {13158#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !false; {13158#(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:48:10,737 WARN L290 TraceCheckUtils]: 106: Hoare triple {13165#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) 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; {13158#(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:48:10,738 INFO L290 TraceCheckUtils]: 105: Hoare triple {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) 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); {13165#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) 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:48:10,739 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {12788#true} {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #97#return; {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) 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:48:10,739 INFO L290 TraceCheckUtils]: 103: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:48:10,739 INFO L290 TraceCheckUtils]: 102: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:48:10,739 INFO L290 TraceCheckUtils]: 101: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:48:10,739 INFO L272 TraceCheckUtils]: 100: Hoare triple {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) 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)); {12788#true} is VALID [2022-04-28 05:48:10,740 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {12788#true} {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #95#return; {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) 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:48:10,740 INFO L290 TraceCheckUtils]: 98: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:48:10,740 INFO L290 TraceCheckUtils]: 97: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:48:10,740 INFO L290 TraceCheckUtils]: 96: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:48:10,740 INFO L272 TraceCheckUtils]: 95: Hoare triple {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) 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)); {12788#true} is VALID [2022-04-28 05:48:10,741 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {12788#true} {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #93#return; {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) 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:48:10,741 INFO L290 TraceCheckUtils]: 93: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:48:10,741 INFO L290 TraceCheckUtils]: 92: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:48:10,741 INFO L290 TraceCheckUtils]: 91: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:48:10,741 INFO L272 TraceCheckUtils]: 90: Hoare triple {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) 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)); {12788#true} is VALID [2022-04-28 05:48:10,742 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} {13218#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} #91#return; {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) 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:48:10,742 INFO L290 TraceCheckUtils]: 88: Hoare triple {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:48:10,742 INFO L290 TraceCheckUtils]: 87: Hoare triple {13228#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:48:10,743 INFO L290 TraceCheckUtils]: 86: Hoare triple {12788#true} ~cond := #in~cond; {13228#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:48:10,743 INFO L272 TraceCheckUtils]: 85: Hoare triple {13218#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 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)); {12788#true} is VALID [2022-04-28 05:48:10,743 INFO L290 TraceCheckUtils]: 84: Hoare triple {13218#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} assume !false; {13218#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-28 05:48:12,745 WARN L290 TraceCheckUtils]: 83: Hoare triple {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {13218#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is UNKNOWN [2022-04-28 05:48:12,747 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {12788#true} {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} #97#return; {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} is VALID [2022-04-28 05:48:12,747 INFO L290 TraceCheckUtils]: 81: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:48:12,747 INFO L290 TraceCheckUtils]: 80: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:48:12,747 INFO L290 TraceCheckUtils]: 79: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:48:12,747 INFO L272 TraceCheckUtils]: 78: Hoare triple {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~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)); {12788#true} is VALID [2022-04-28 05:48:12,748 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {12788#true} {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} #95#return; {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} is VALID [2022-04-28 05:48:12,748 INFO L290 TraceCheckUtils]: 76: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:48:12,748 INFO L290 TraceCheckUtils]: 75: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:48:12,748 INFO L290 TraceCheckUtils]: 74: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:48:12,748 INFO L272 TraceCheckUtils]: 73: Hoare triple {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:48:12,749 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {12788#true} {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} #93#return; {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} is VALID [2022-04-28 05:48:12,749 INFO L290 TraceCheckUtils]: 71: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:48:12,749 INFO L290 TraceCheckUtils]: 70: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:48:12,749 INFO L290 TraceCheckUtils]: 69: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:48:12,749 INFO L272 TraceCheckUtils]: 68: Hoare triple {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:48:12,750 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} {13287#(or (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} #91#return; {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} is VALID [2022-04-28 05:48:12,750 INFO L290 TraceCheckUtils]: 66: Hoare triple {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:48:12,750 INFO L290 TraceCheckUtils]: 65: Hoare triple {13228#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:48:12,751 INFO L290 TraceCheckUtils]: 64: Hoare triple {12788#true} ~cond := #in~cond; {13228#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:48:12,751 INFO L272 TraceCheckUtils]: 63: Hoare triple {13287#(or (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:48:12,751 INFO L290 TraceCheckUtils]: 62: Hoare triple {13287#(or (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} assume !false; {13287#(or (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:48:12,761 INFO L290 TraceCheckUtils]: 61: Hoare triple {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {13287#(or (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:48:12,762 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {12788#true} {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} #97#return; {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 05:48:12,762 INFO L290 TraceCheckUtils]: 59: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:48:12,762 INFO L290 TraceCheckUtils]: 58: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:48:12,762 INFO L290 TraceCheckUtils]: 57: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:48:12,762 INFO L272 TraceCheckUtils]: 56: Hoare triple {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:48:12,763 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {12788#true} {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} #95#return; {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 05:48:12,763 INFO L290 TraceCheckUtils]: 54: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:48:12,763 INFO L290 TraceCheckUtils]: 53: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:48:12,763 INFO L290 TraceCheckUtils]: 52: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:48:12,763 INFO L272 TraceCheckUtils]: 51: Hoare triple {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:48:12,764 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12788#true} {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} #93#return; {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 05:48:12,764 INFO L290 TraceCheckUtils]: 49: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:48:12,764 INFO L290 TraceCheckUtils]: 48: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:48:12,764 INFO L290 TraceCheckUtils]: 47: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:48:12,764 INFO L272 TraceCheckUtils]: 46: Hoare triple {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:48:12,765 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12788#true} {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} #91#return; {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 05:48:12,765 INFO L290 TraceCheckUtils]: 44: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:48:12,765 INFO L290 TraceCheckUtils]: 43: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:48:12,765 INFO L290 TraceCheckUtils]: 42: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:48:12,765 INFO L272 TraceCheckUtils]: 41: Hoare triple {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:48:12,766 INFO L290 TraceCheckUtils]: 40: Hoare triple {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} assume !false; {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 05:48:12,766 INFO L290 TraceCheckUtils]: 39: Hoare triple {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 05:48:12,767 INFO L290 TraceCheckUtils]: 38: Hoare triple {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} assume !false; {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 05:48:12,767 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {12788#true} {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} #89#return; {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 05:48:12,767 INFO L290 TraceCheckUtils]: 36: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:48:12,768 INFO L290 TraceCheckUtils]: 35: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:48:12,768 INFO L290 TraceCheckUtils]: 34: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:48:12,768 INFO L272 TraceCheckUtils]: 33: Hoare triple {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:48:12,768 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12788#true} {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} #87#return; {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 05:48:12,768 INFO L290 TraceCheckUtils]: 31: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:48:12,768 INFO L290 TraceCheckUtils]: 30: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:48:12,769 INFO L290 TraceCheckUtils]: 29: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:48:12,769 INFO L272 TraceCheckUtils]: 28: Hoare triple {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:48:12,771 INFO L290 TraceCheckUtils]: 27: Hoare triple {12788#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; {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 05:48:12,771 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {12788#true} {12788#true} #85#return; {12788#true} is VALID [2022-04-28 05:48:12,771 INFO L290 TraceCheckUtils]: 25: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:48:12,771 INFO L290 TraceCheckUtils]: 24: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:48:12,771 INFO L290 TraceCheckUtils]: 23: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:48:12,771 INFO L272 TraceCheckUtils]: 22: Hoare triple {12788#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:48:12,771 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {12788#true} {12788#true} #83#return; {12788#true} is VALID [2022-04-28 05:48:12,771 INFO L290 TraceCheckUtils]: 20: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:48:12,772 INFO L290 TraceCheckUtils]: 19: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:48:12,772 INFO L290 TraceCheckUtils]: 18: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:48:12,772 INFO L272 TraceCheckUtils]: 17: Hoare triple {12788#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:48:12,772 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12788#true} {12788#true} #81#return; {12788#true} is VALID [2022-04-28 05:48:12,772 INFO L290 TraceCheckUtils]: 15: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:48:12,772 INFO L290 TraceCheckUtils]: 14: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:48:12,772 INFO L290 TraceCheckUtils]: 13: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:48:12,772 INFO L272 TraceCheckUtils]: 12: Hoare triple {12788#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:48:12,772 INFO L290 TraceCheckUtils]: 11: Hoare triple {12788#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12788#true} is VALID [2022-04-28 05:48:12,772 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12788#true} {12788#true} #79#return; {12788#true} is VALID [2022-04-28 05:48:12,772 INFO L290 TraceCheckUtils]: 9: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:48:12,772 INFO L290 TraceCheckUtils]: 8: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 05:48:12,772 INFO L290 TraceCheckUtils]: 7: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 05:48:12,772 INFO L272 TraceCheckUtils]: 6: Hoare triple {12788#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {12788#true} is VALID [2022-04-28 05:48:12,772 INFO L290 TraceCheckUtils]: 5: Hoare triple {12788#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; {12788#true} is VALID [2022-04-28 05:48:12,773 INFO L272 TraceCheckUtils]: 4: Hoare triple {12788#true} call #t~ret6 := main(); {12788#true} is VALID [2022-04-28 05:48:12,773 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12788#true} {12788#true} #103#return; {12788#true} is VALID [2022-04-28 05:48:12,773 INFO L290 TraceCheckUtils]: 2: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 05:48:12,773 INFO L290 TraceCheckUtils]: 1: Hoare triple {12788#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); {12788#true} is VALID [2022-04-28 05:48:12,773 INFO L272 TraceCheckUtils]: 0: Hoare triple {12788#true} call ULTIMATE.init(); {12788#true} is VALID [2022-04-28 05:48:12,773 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 55 proven. 45 refuted. 4 times theorem prover too weak. 264 trivial. 0 not checked. [2022-04-28 05:48:12,773 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:48:12,774 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [998881985] [2022-04-28 05:48:12,774 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:48:12,774 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [414260385] [2022-04-28 05:48:12,774 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [414260385] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:48:12,774 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:48:12,774 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 15] total 28 [2022-04-28 05:48:12,774 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:48:12,774 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [13473438] [2022-04-28 05:48:12,774 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [13473438] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:48:12,774 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:48:12,774 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 05:48:12,774 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [753241778] [2022-04-28 05:48:12,774 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:48:12,775 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 8 states have call successors, (19) Word has length 113 [2022-04-28 05:48:12,776 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:48:12,776 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 05:48:12,858 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:48:12,858 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 05:48:12,858 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:48:12,858 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 05:48:12,858 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=629, Unknown=7, NotChecked=0, Total=756 [2022-04-28 05:48:12,859 INFO L87 Difference]: Start difference. First operand 132 states and 170 transitions. Second operand has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 05:48:21,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:48:21,272 INFO L93 Difference]: Finished difference Result 165 states and 216 transitions. [2022-04-28 05:48:21,272 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 05:48:21,273 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 8 states have call successors, (19) Word has length 113 [2022-04-28 05:48:21,273 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:48:21,273 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 05:48:21,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 115 transitions. [2022-04-28 05:48:21,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 05:48:21,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 115 transitions. [2022-04-28 05:48:21,276 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 115 transitions. [2022-04-28 05:48:21,416 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:48:21,420 INFO L225 Difference]: With dead ends: 165 [2022-04-28 05:48:21,420 INFO L226 Difference]: Without dead ends: 162 [2022-04-28 05:48:21,422 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 231 GetRequests, 198 SyntacticMatches, 1 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 263 ImplicationChecksByTransitivity, 22.4s TimeCoverageRelationStatistics Valid=180, Invalid=935, Unknown=7, NotChecked=0, Total=1122 [2022-04-28 05:48:21,423 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 42 mSDsluCounter, 207 mSDsCounter, 0 mSdLazyCounter, 879 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 250 SdHoareTripleChecker+Invalid, 935 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 56 IncrementalHoareTripleChecker+Valid, 879 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.7s IncrementalHoareTripleChecker+Time [2022-04-28 05:48:21,424 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [55 Valid, 250 Invalid, 935 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [56 Valid, 879 Invalid, 0 Unknown, 0 Unchecked, 3.7s Time] [2022-04-28 05:48:21,424 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2022-04-28 05:48:21,872 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 161. [2022-04-28 05:48:21,872 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:48:21,873 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand has 161 states, 86 states have (on average 1.1162790697674418) internal successors, (96), 88 states have internal predecessors, (96), 59 states have call successors, (59), 16 states have call predecessors, (59), 15 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-28 05:48:21,873 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand has 161 states, 86 states have (on average 1.1162790697674418) internal successors, (96), 88 states have internal predecessors, (96), 59 states have call successors, (59), 16 states have call predecessors, (59), 15 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-28 05:48:21,873 INFO L87 Difference]: Start difference. First operand 162 states. Second operand has 161 states, 86 states have (on average 1.1162790697674418) internal successors, (96), 88 states have internal predecessors, (96), 59 states have call successors, (59), 16 states have call predecessors, (59), 15 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-28 05:48:21,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:48:21,877 INFO L93 Difference]: Finished difference Result 162 states and 212 transitions. [2022-04-28 05:48:21,878 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 212 transitions. [2022-04-28 05:48:21,878 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:48:21,878 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:48:21,879 INFO L74 IsIncluded]: Start isIncluded. First operand has 161 states, 86 states have (on average 1.1162790697674418) internal successors, (96), 88 states have internal predecessors, (96), 59 states have call successors, (59), 16 states have call predecessors, (59), 15 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) Second operand 162 states. [2022-04-28 05:48:21,879 INFO L87 Difference]: Start difference. First operand has 161 states, 86 states have (on average 1.1162790697674418) internal successors, (96), 88 states have internal predecessors, (96), 59 states have call successors, (59), 16 states have call predecessors, (59), 15 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) Second operand 162 states. [2022-04-28 05:48:21,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:48:21,884 INFO L93 Difference]: Finished difference Result 162 states and 212 transitions. [2022-04-28 05:48:21,884 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 212 transitions. [2022-04-28 05:48:21,884 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:48:21,884 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:48:21,884 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:48:21,884 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:48:21,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 161 states, 86 states have (on average 1.1162790697674418) internal successors, (96), 88 states have internal predecessors, (96), 59 states have call successors, (59), 16 states have call predecessors, (59), 15 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-28 05:48:21,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 161 states to 161 states and 211 transitions. [2022-04-28 05:48:21,889 INFO L78 Accepts]: Start accepts. Automaton has 161 states and 211 transitions. Word has length 113 [2022-04-28 05:48:21,889 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:48:21,890 INFO L495 AbstractCegarLoop]: Abstraction has 161 states and 211 transitions. [2022-04-28 05:48:21,890 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 05:48:21,890 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 161 states and 211 transitions. [2022-04-28 05:48:22,368 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 211 edges. 211 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:48:22,368 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 211 transitions. [2022-04-28 05:48:22,369 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-28 05:48:22,369 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:48:22,370 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:48:22,394 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:48:22,570 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:48:22,570 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:48:22,571 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:48:22,571 INFO L85 PathProgramCache]: Analyzing trace with hash 884638574, now seen corresponding path program 5 times [2022-04-28 05:48:22,571 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:48:22,571 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [546350766] [2022-04-28 05:48:22,571 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:48:22,571 INFO L85 PathProgramCache]: Analyzing trace with hash 884638574, now seen corresponding path program 6 times [2022-04-28 05:48:22,571 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:48:22,571 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1514283863] [2022-04-28 05:48:22,572 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:48:22,572 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:48:22,583 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:48:22,583 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1222499203] [2022-04-28 05:48:22,583 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:48:22,583 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:48:22,583 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:48:22,584 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:48:22,587 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:48:22,643 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 05:48:22,643 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:48:22,644 INFO L263 TraceCheckSpWp]: Trace formula consists of 255 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 05:48:22,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:48:22,661 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:48:22,945 INFO L272 TraceCheckUtils]: 0: Hoare triple {14481#true} call ULTIMATE.init(); {14481#true} is VALID [2022-04-28 05:48:22,945 INFO L290 TraceCheckUtils]: 1: Hoare triple {14481#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); {14481#true} is VALID [2022-04-28 05:48:22,945 INFO L290 TraceCheckUtils]: 2: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:22,945 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14481#true} {14481#true} #103#return; {14481#true} is VALID [2022-04-28 05:48:22,945 INFO L272 TraceCheckUtils]: 4: Hoare triple {14481#true} call #t~ret6 := main(); {14481#true} is VALID [2022-04-28 05:48:22,945 INFO L290 TraceCheckUtils]: 5: Hoare triple {14481#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; {14481#true} is VALID [2022-04-28 05:48:22,945 INFO L272 TraceCheckUtils]: 6: Hoare triple {14481#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:22,946 INFO L290 TraceCheckUtils]: 7: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:22,946 INFO L290 TraceCheckUtils]: 8: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:22,946 INFO L290 TraceCheckUtils]: 9: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:22,946 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14481#true} {14481#true} #79#return; {14481#true} is VALID [2022-04-28 05:48:22,946 INFO L290 TraceCheckUtils]: 11: Hoare triple {14481#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14481#true} is VALID [2022-04-28 05:48:22,946 INFO L272 TraceCheckUtils]: 12: Hoare triple {14481#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:22,946 INFO L290 TraceCheckUtils]: 13: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:22,946 INFO L290 TraceCheckUtils]: 14: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:22,946 INFO L290 TraceCheckUtils]: 15: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:22,946 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14481#true} {14481#true} #81#return; {14481#true} is VALID [2022-04-28 05:48:22,947 INFO L272 TraceCheckUtils]: 17: Hoare triple {14481#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:22,947 INFO L290 TraceCheckUtils]: 18: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:22,947 INFO L290 TraceCheckUtils]: 19: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:22,947 INFO L290 TraceCheckUtils]: 20: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:22,947 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14481#true} {14481#true} #83#return; {14481#true} is VALID [2022-04-28 05:48:22,947 INFO L272 TraceCheckUtils]: 22: Hoare triple {14481#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:22,947 INFO L290 TraceCheckUtils]: 23: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:22,947 INFO L290 TraceCheckUtils]: 24: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:22,947 INFO L290 TraceCheckUtils]: 25: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:22,947 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14481#true} {14481#true} #85#return; {14481#true} is VALID [2022-04-28 05:48:22,948 INFO L290 TraceCheckUtils]: 27: Hoare triple {14481#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; {14481#true} is VALID [2022-04-28 05:48:22,948 INFO L272 TraceCheckUtils]: 28: Hoare triple {14481#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:22,948 INFO L290 TraceCheckUtils]: 29: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:22,948 INFO L290 TraceCheckUtils]: 30: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:22,948 INFO L290 TraceCheckUtils]: 31: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:22,948 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14481#true} {14481#true} #87#return; {14481#true} is VALID [2022-04-28 05:48:22,948 INFO L272 TraceCheckUtils]: 33: Hoare triple {14481#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:22,948 INFO L290 TraceCheckUtils]: 34: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:22,948 INFO L290 TraceCheckUtils]: 35: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:22,949 INFO L290 TraceCheckUtils]: 36: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:22,949 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {14481#true} {14481#true} #89#return; {14481#true} is VALID [2022-04-28 05:48:22,949 INFO L290 TraceCheckUtils]: 38: Hoare triple {14481#true} assume !false; {14481#true} is VALID [2022-04-28 05:48:22,949 INFO L290 TraceCheckUtils]: 39: Hoare triple {14481#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14481#true} is VALID [2022-04-28 05:48:22,949 INFO L290 TraceCheckUtils]: 40: Hoare triple {14481#true} assume !false; {14481#true} is VALID [2022-04-28 05:48:22,949 INFO L272 TraceCheckUtils]: 41: Hoare triple {14481#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:22,949 INFO L290 TraceCheckUtils]: 42: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:22,949 INFO L290 TraceCheckUtils]: 43: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:22,949 INFO L290 TraceCheckUtils]: 44: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:22,949 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14481#true} {14481#true} #91#return; {14481#true} is VALID [2022-04-28 05:48:22,950 INFO L272 TraceCheckUtils]: 46: Hoare triple {14481#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:22,950 INFO L290 TraceCheckUtils]: 47: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:22,950 INFO L290 TraceCheckUtils]: 48: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:22,950 INFO L290 TraceCheckUtils]: 49: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:22,950 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14481#true} {14481#true} #93#return; {14481#true} is VALID [2022-04-28 05:48:22,950 INFO L272 TraceCheckUtils]: 51: Hoare triple {14481#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:22,950 INFO L290 TraceCheckUtils]: 52: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:22,950 INFO L290 TraceCheckUtils]: 53: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:22,950 INFO L290 TraceCheckUtils]: 54: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:22,951 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14481#true} {14481#true} #95#return; {14481#true} is VALID [2022-04-28 05:48:22,951 INFO L272 TraceCheckUtils]: 56: Hoare triple {14481#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)); {14481#true} is VALID [2022-04-28 05:48:22,951 INFO L290 TraceCheckUtils]: 57: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:22,951 INFO L290 TraceCheckUtils]: 58: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:22,951 INFO L290 TraceCheckUtils]: 59: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:22,951 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {14481#true} {14481#true} #97#return; {14481#true} is VALID [2022-04-28 05:48:22,955 INFO L290 TraceCheckUtils]: 61: Hoare triple {14481#true} assume !(~c~0 >= ~b~0); {14669#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:48:22,956 INFO L290 TraceCheckUtils]: 62: Hoare triple {14669#(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; {14673#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:48:22,956 INFO L290 TraceCheckUtils]: 63: Hoare triple {14673#(< main_~b~0 main_~a~0)} assume !false; {14673#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:48:22,956 INFO L290 TraceCheckUtils]: 64: Hoare triple {14673#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:48:22,957 INFO L290 TraceCheckUtils]: 65: Hoare triple {14680#(< main_~b~0 main_~c~0)} assume !false; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:48:22,957 INFO L272 TraceCheckUtils]: 66: Hoare triple {14680#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:22,957 INFO L290 TraceCheckUtils]: 67: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:22,957 INFO L290 TraceCheckUtils]: 68: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:22,957 INFO L290 TraceCheckUtils]: 69: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:22,958 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {14481#true} {14680#(< main_~b~0 main_~c~0)} #91#return; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:48:22,958 INFO L272 TraceCheckUtils]: 71: Hoare triple {14680#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:22,958 INFO L290 TraceCheckUtils]: 72: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:22,958 INFO L290 TraceCheckUtils]: 73: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:22,958 INFO L290 TraceCheckUtils]: 74: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:22,959 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {14481#true} {14680#(< main_~b~0 main_~c~0)} #93#return; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:48:22,959 INFO L272 TraceCheckUtils]: 76: Hoare triple {14680#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:22,959 INFO L290 TraceCheckUtils]: 77: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:22,959 INFO L290 TraceCheckUtils]: 78: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:22,959 INFO L290 TraceCheckUtils]: 79: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:22,960 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {14481#true} {14680#(< main_~b~0 main_~c~0)} #95#return; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:48:22,960 INFO L272 TraceCheckUtils]: 81: Hoare triple {14680#(< 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)); {14481#true} is VALID [2022-04-28 05:48:22,960 INFO L290 TraceCheckUtils]: 82: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:22,960 INFO L290 TraceCheckUtils]: 83: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:22,960 INFO L290 TraceCheckUtils]: 84: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:22,961 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {14481#true} {14680#(< main_~b~0 main_~c~0)} #97#return; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:48:22,962 INFO L290 TraceCheckUtils]: 86: Hoare triple {14680#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 05:48:22,962 INFO L290 TraceCheckUtils]: 87: Hoare triple {14747#(< 0 main_~c~0)} assume !false; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 05:48:22,962 INFO L272 TraceCheckUtils]: 88: Hoare triple {14747#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:22,962 INFO L290 TraceCheckUtils]: 89: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:22,963 INFO L290 TraceCheckUtils]: 90: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:22,963 INFO L290 TraceCheckUtils]: 91: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:22,963 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #91#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 05:48:22,963 INFO L272 TraceCheckUtils]: 93: Hoare triple {14747#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:22,963 INFO L290 TraceCheckUtils]: 94: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:22,963 INFO L290 TraceCheckUtils]: 95: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:22,964 INFO L290 TraceCheckUtils]: 96: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:22,964 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #93#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 05:48:22,964 INFO L272 TraceCheckUtils]: 98: Hoare triple {14747#(< 0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:22,964 INFO L290 TraceCheckUtils]: 99: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:22,964 INFO L290 TraceCheckUtils]: 100: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:22,965 INFO L290 TraceCheckUtils]: 101: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:22,965 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #95#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 05:48:22,965 INFO L272 TraceCheckUtils]: 103: Hoare triple {14747#(< 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)); {14481#true} is VALID [2022-04-28 05:48:22,965 INFO L290 TraceCheckUtils]: 104: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:22,965 INFO L290 TraceCheckUtils]: 105: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:22,966 INFO L290 TraceCheckUtils]: 106: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:22,966 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #97#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 05:48:22,967 INFO L290 TraceCheckUtils]: 108: Hoare triple {14747#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {14747#(< 0 main_~c~0)} is VALID [2022-04-28 05:48:22,967 INFO L290 TraceCheckUtils]: 109: Hoare triple {14747#(< 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; {14817#(< 0 main_~b~0)} is VALID [2022-04-28 05:48:22,967 INFO L290 TraceCheckUtils]: 110: Hoare triple {14817#(< 0 main_~b~0)} assume !false; {14817#(< 0 main_~b~0)} is VALID [2022-04-28 05:48:22,968 INFO L290 TraceCheckUtils]: 111: Hoare triple {14817#(< 0 main_~b~0)} assume !(0 != ~b~0); {14482#false} is VALID [2022-04-28 05:48:22,968 INFO L272 TraceCheckUtils]: 112: Hoare triple {14482#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {14482#false} is VALID [2022-04-28 05:48:22,968 INFO L290 TraceCheckUtils]: 113: Hoare triple {14482#false} ~cond := #in~cond; {14482#false} is VALID [2022-04-28 05:48:22,968 INFO L290 TraceCheckUtils]: 114: Hoare triple {14482#false} assume 0 == ~cond; {14482#false} is VALID [2022-04-28 05:48:22,968 INFO L290 TraceCheckUtils]: 115: Hoare triple {14482#false} assume !false; {14482#false} is VALID [2022-04-28 05:48:22,968 INFO L134 CoverageAnalysis]: Checked inductivity of 373 backedges. 40 proven. 9 refuted. 0 times theorem prover too weak. 324 trivial. 0 not checked. [2022-04-28 05:48:22,968 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:48:23,291 INFO L290 TraceCheckUtils]: 115: Hoare triple {14482#false} assume !false; {14482#false} is VALID [2022-04-28 05:48:23,291 INFO L290 TraceCheckUtils]: 114: Hoare triple {14482#false} assume 0 == ~cond; {14482#false} is VALID [2022-04-28 05:48:23,291 INFO L290 TraceCheckUtils]: 113: Hoare triple {14482#false} ~cond := #in~cond; {14482#false} is VALID [2022-04-28 05:48:23,291 INFO L272 TraceCheckUtils]: 112: Hoare triple {14482#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {14482#false} is VALID [2022-04-28 05:48:23,292 INFO L290 TraceCheckUtils]: 111: Hoare triple {14817#(< 0 main_~b~0)} assume !(0 != ~b~0); {14482#false} is VALID [2022-04-28 05:48:23,292 INFO L290 TraceCheckUtils]: 110: Hoare triple {14817#(< 0 main_~b~0)} assume !false; {14817#(< 0 main_~b~0)} is VALID [2022-04-28 05:48:23,292 INFO L290 TraceCheckUtils]: 109: Hoare triple {14747#(< 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; {14817#(< 0 main_~b~0)} is VALID [2022-04-28 05:48:23,293 INFO L290 TraceCheckUtils]: 108: Hoare triple {14747#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {14747#(< 0 main_~c~0)} is VALID [2022-04-28 05:48:23,293 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #97#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 05:48:23,293 INFO L290 TraceCheckUtils]: 106: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:23,293 INFO L290 TraceCheckUtils]: 105: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:23,293 INFO L290 TraceCheckUtils]: 104: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:23,294 INFO L272 TraceCheckUtils]: 103: Hoare triple {14747#(< 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)); {14481#true} is VALID [2022-04-28 05:48:23,294 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #95#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 05:48:23,294 INFO L290 TraceCheckUtils]: 101: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:23,294 INFO L290 TraceCheckUtils]: 100: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:23,294 INFO L290 TraceCheckUtils]: 99: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:23,294 INFO L272 TraceCheckUtils]: 98: Hoare triple {14747#(< 0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:23,295 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #93#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 05:48:23,295 INFO L290 TraceCheckUtils]: 96: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:23,295 INFO L290 TraceCheckUtils]: 95: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:23,295 INFO L290 TraceCheckUtils]: 94: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:23,295 INFO L272 TraceCheckUtils]: 93: Hoare triple {14747#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:23,296 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #91#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 05:48:23,296 INFO L290 TraceCheckUtils]: 91: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:23,296 INFO L290 TraceCheckUtils]: 90: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:23,296 INFO L290 TraceCheckUtils]: 89: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:23,296 INFO L272 TraceCheckUtils]: 88: Hoare triple {14747#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:23,296 INFO L290 TraceCheckUtils]: 87: Hoare triple {14747#(< 0 main_~c~0)} assume !false; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 05:48:23,297 INFO L290 TraceCheckUtils]: 86: Hoare triple {14680#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 05:48:23,298 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {14481#true} {14680#(< main_~b~0 main_~c~0)} #97#return; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:48:23,298 INFO L290 TraceCheckUtils]: 84: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:23,298 INFO L290 TraceCheckUtils]: 83: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:23,298 INFO L290 TraceCheckUtils]: 82: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:23,298 INFO L272 TraceCheckUtils]: 81: Hoare triple {14680#(< 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)); {14481#true} is VALID [2022-04-28 05:48:23,299 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {14481#true} {14680#(< main_~b~0 main_~c~0)} #95#return; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:48:23,299 INFO L290 TraceCheckUtils]: 79: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:23,299 INFO L290 TraceCheckUtils]: 78: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:23,299 INFO L290 TraceCheckUtils]: 77: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:23,299 INFO L272 TraceCheckUtils]: 76: Hoare triple {14680#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:23,299 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {14481#true} {14680#(< main_~b~0 main_~c~0)} #93#return; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:48:23,299 INFO L290 TraceCheckUtils]: 74: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:23,300 INFO L290 TraceCheckUtils]: 73: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:23,300 INFO L290 TraceCheckUtils]: 72: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:23,300 INFO L272 TraceCheckUtils]: 71: Hoare triple {14680#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:23,300 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {14481#true} {14680#(< main_~b~0 main_~c~0)} #91#return; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:48:23,300 INFO L290 TraceCheckUtils]: 69: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:23,300 INFO L290 TraceCheckUtils]: 68: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:23,300 INFO L290 TraceCheckUtils]: 67: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:23,300 INFO L272 TraceCheckUtils]: 66: Hoare triple {14680#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:23,301 INFO L290 TraceCheckUtils]: 65: Hoare triple {14680#(< main_~b~0 main_~c~0)} assume !false; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:48:23,301 INFO L290 TraceCheckUtils]: 64: Hoare triple {14673#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:48:23,301 INFO L290 TraceCheckUtils]: 63: Hoare triple {14673#(< main_~b~0 main_~a~0)} assume !false; {14673#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:48:23,302 INFO L290 TraceCheckUtils]: 62: Hoare triple {14669#(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; {14673#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:48:23,302 INFO L290 TraceCheckUtils]: 61: Hoare triple {14481#true} assume !(~c~0 >= ~b~0); {14669#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:48:23,302 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {14481#true} {14481#true} #97#return; {14481#true} is VALID [2022-04-28 05:48:23,302 INFO L290 TraceCheckUtils]: 59: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:23,302 INFO L290 TraceCheckUtils]: 58: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:23,302 INFO L290 TraceCheckUtils]: 57: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:23,302 INFO L272 TraceCheckUtils]: 56: Hoare triple {14481#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)); {14481#true} is VALID [2022-04-28 05:48:23,302 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14481#true} {14481#true} #95#return; {14481#true} is VALID [2022-04-28 05:48:23,302 INFO L290 TraceCheckUtils]: 54: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:23,303 INFO L290 TraceCheckUtils]: 53: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:23,303 INFO L290 TraceCheckUtils]: 52: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:23,303 INFO L272 TraceCheckUtils]: 51: Hoare triple {14481#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:23,303 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14481#true} {14481#true} #93#return; {14481#true} is VALID [2022-04-28 05:48:23,303 INFO L290 TraceCheckUtils]: 49: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:23,303 INFO L290 TraceCheckUtils]: 48: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:23,303 INFO L290 TraceCheckUtils]: 47: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:23,303 INFO L272 TraceCheckUtils]: 46: Hoare triple {14481#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:23,303 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14481#true} {14481#true} #91#return; {14481#true} is VALID [2022-04-28 05:48:23,303 INFO L290 TraceCheckUtils]: 44: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:23,303 INFO L290 TraceCheckUtils]: 43: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:23,303 INFO L290 TraceCheckUtils]: 42: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:23,303 INFO L272 TraceCheckUtils]: 41: Hoare triple {14481#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:23,303 INFO L290 TraceCheckUtils]: 40: Hoare triple {14481#true} assume !false; {14481#true} is VALID [2022-04-28 05:48:23,303 INFO L290 TraceCheckUtils]: 39: Hoare triple {14481#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14481#true} is VALID [2022-04-28 05:48:23,304 INFO L290 TraceCheckUtils]: 38: Hoare triple {14481#true} assume !false; {14481#true} is VALID [2022-04-28 05:48:23,304 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {14481#true} {14481#true} #89#return; {14481#true} is VALID [2022-04-28 05:48:23,304 INFO L290 TraceCheckUtils]: 36: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:23,304 INFO L290 TraceCheckUtils]: 35: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:23,304 INFO L290 TraceCheckUtils]: 34: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:23,304 INFO L272 TraceCheckUtils]: 33: Hoare triple {14481#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:23,304 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14481#true} {14481#true} #87#return; {14481#true} is VALID [2022-04-28 05:48:23,304 INFO L290 TraceCheckUtils]: 31: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:23,304 INFO L290 TraceCheckUtils]: 30: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:23,304 INFO L290 TraceCheckUtils]: 29: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:23,304 INFO L272 TraceCheckUtils]: 28: Hoare triple {14481#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:23,304 INFO L290 TraceCheckUtils]: 27: Hoare triple {14481#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; {14481#true} is VALID [2022-04-28 05:48:23,304 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14481#true} {14481#true} #85#return; {14481#true} is VALID [2022-04-28 05:48:23,304 INFO L290 TraceCheckUtils]: 25: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:23,305 INFO L290 TraceCheckUtils]: 24: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:23,305 INFO L290 TraceCheckUtils]: 23: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:23,305 INFO L272 TraceCheckUtils]: 22: Hoare triple {14481#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:23,305 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14481#true} {14481#true} #83#return; {14481#true} is VALID [2022-04-28 05:48:23,305 INFO L290 TraceCheckUtils]: 20: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:23,305 INFO L290 TraceCheckUtils]: 19: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:23,305 INFO L290 TraceCheckUtils]: 18: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:23,305 INFO L272 TraceCheckUtils]: 17: Hoare triple {14481#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:23,305 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14481#true} {14481#true} #81#return; {14481#true} is VALID [2022-04-28 05:48:23,305 INFO L290 TraceCheckUtils]: 15: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:23,305 INFO L290 TraceCheckUtils]: 14: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:23,305 INFO L290 TraceCheckUtils]: 13: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:23,305 INFO L272 TraceCheckUtils]: 12: Hoare triple {14481#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:23,305 INFO L290 TraceCheckUtils]: 11: Hoare triple {14481#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14481#true} is VALID [2022-04-28 05:48:23,305 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14481#true} {14481#true} #79#return; {14481#true} is VALID [2022-04-28 05:48:23,306 INFO L290 TraceCheckUtils]: 9: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:23,306 INFO L290 TraceCheckUtils]: 8: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 05:48:23,306 INFO L290 TraceCheckUtils]: 7: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 05:48:23,306 INFO L272 TraceCheckUtils]: 6: Hoare triple {14481#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {14481#true} is VALID [2022-04-28 05:48:23,306 INFO L290 TraceCheckUtils]: 5: Hoare triple {14481#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; {14481#true} is VALID [2022-04-28 05:48:23,306 INFO L272 TraceCheckUtils]: 4: Hoare triple {14481#true} call #t~ret6 := main(); {14481#true} is VALID [2022-04-28 05:48:23,306 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14481#true} {14481#true} #103#return; {14481#true} is VALID [2022-04-28 05:48:23,306 INFO L290 TraceCheckUtils]: 2: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 05:48:23,306 INFO L290 TraceCheckUtils]: 1: Hoare triple {14481#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); {14481#true} is VALID [2022-04-28 05:48:23,306 INFO L272 TraceCheckUtils]: 0: Hoare triple {14481#true} call ULTIMATE.init(); {14481#true} is VALID [2022-04-28 05:48:23,306 INFO L134 CoverageAnalysis]: Checked inductivity of 373 backedges. 40 proven. 9 refuted. 0 times theorem prover too weak. 324 trivial. 0 not checked. [2022-04-28 05:48:23,307 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:48:23,307 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1514283863] [2022-04-28 05:48:23,307 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:48:23,307 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1222499203] [2022-04-28 05:48:23,307 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1222499203] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:48:23,307 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:48:23,307 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 7 [2022-04-28 05:48:23,307 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:48:23,307 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [546350766] [2022-04-28 05:48:23,307 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [546350766] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:48:23,307 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:48:23,307 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 05:48:23,307 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [93471365] [2022-04-28 05:48:23,307 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:48:23,308 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) Word has length 116 [2022-04-28 05:48:23,308 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:48:23,308 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) [2022-04-28 05:48:23,379 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:48:23,379 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 05:48:23,379 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:48:23,380 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 05:48:23,380 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-04-28 05:48:23,380 INFO L87 Difference]: Start difference. First operand 161 states and 211 transitions. Second operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) [2022-04-28 05:48:24,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:48:24,850 INFO L93 Difference]: Finished difference Result 215 states and 300 transitions. [2022-04-28 05:48:24,850 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 05:48:24,850 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) Word has length 116 [2022-04-28 05:48:24,851 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:48:24,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) [2022-04-28 05:48:24,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 126 transitions. [2022-04-28 05:48:24,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) [2022-04-28 05:48:24,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 126 transitions. [2022-04-28 05:48:24,855 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 126 transitions. [2022-04-28 05:48:24,978 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:48:24,982 INFO L225 Difference]: With dead ends: 215 [2022-04-28 05:48:24,982 INFO L226 Difference]: Without dead ends: 207 [2022-04-28 05:48:24,983 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 242 GetRequests, 227 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=62, Invalid=148, Unknown=0, NotChecked=0, Total=210 [2022-04-28 05:48:24,983 INFO L413 NwaCegarLoop]: 85 mSDtfsCounter, 14 mSDsluCounter, 195 mSDsCounter, 0 mSdLazyCounter, 205 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 280 SdHoareTripleChecker+Invalid, 245 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 205 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 05:48:24,983 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 280 Invalid, 245 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 205 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 05:48:24,984 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 207 states. [2022-04-28 05:48:25,542 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 207 to 188. [2022-04-28 05:48:25,542 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:48:25,542 INFO L82 GeneralOperation]: Start isEquivalent. First operand 207 states. Second operand has 188 states, 97 states have (on average 1.1443298969072164) internal successors, (111), 99 states have internal predecessors, (111), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 05:48:25,543 INFO L74 IsIncluded]: Start isIncluded. First operand 207 states. Second operand has 188 states, 97 states have (on average 1.1443298969072164) internal successors, (111), 99 states have internal predecessors, (111), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 05:48:25,543 INFO L87 Difference]: Start difference. First operand 207 states. Second operand has 188 states, 97 states have (on average 1.1443298969072164) internal successors, (111), 99 states have internal predecessors, (111), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 05:48:25,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:48:25,549 INFO L93 Difference]: Finished difference Result 207 states and 291 transitions. [2022-04-28 05:48:25,549 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 291 transitions. [2022-04-28 05:48:25,550 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:48:25,550 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:48:25,551 INFO L74 IsIncluded]: Start isIncluded. First operand has 188 states, 97 states have (on average 1.1443298969072164) internal successors, (111), 99 states have internal predecessors, (111), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) Second operand 207 states. [2022-04-28 05:48:25,551 INFO L87 Difference]: Start difference. First operand has 188 states, 97 states have (on average 1.1443298969072164) internal successors, (111), 99 states have internal predecessors, (111), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) Second operand 207 states. [2022-04-28 05:48:25,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:48:25,558 INFO L93 Difference]: Finished difference Result 207 states and 291 transitions. [2022-04-28 05:48:25,558 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 291 transitions. [2022-04-28 05:48:25,559 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:48:25,559 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:48:25,559 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:48:25,559 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:48:25,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 188 states, 97 states have (on average 1.1443298969072164) internal successors, (111), 99 states have internal predecessors, (111), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 05:48:25,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 188 states to 188 states and 258 transitions. [2022-04-28 05:48:25,565 INFO L78 Accepts]: Start accepts. Automaton has 188 states and 258 transitions. Word has length 116 [2022-04-28 05:48:25,565 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:48:25,566 INFO L495 AbstractCegarLoop]: Abstraction has 188 states and 258 transitions. [2022-04-28 05:48:25,566 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) [2022-04-28 05:48:25,566 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 188 states and 258 transitions. [2022-04-28 05:48:26,117 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 258 edges. 258 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:48:26,117 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 258 transitions. [2022-04-28 05:48:26,118 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 123 [2022-04-28 05:48:26,118 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:48:26,118 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 6, 6, 6, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:48:26,143 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 05:48:26,338 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:48:26,338 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:48:26,338 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:48:26,338 INFO L85 PathProgramCache]: Analyzing trace with hash -743412771, now seen corresponding path program 3 times [2022-04-28 05:48:26,338 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:48:26,338 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [82122380] [2022-04-28 05:48:26,339 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:48:26,339 INFO L85 PathProgramCache]: Analyzing trace with hash -743412771, now seen corresponding path program 4 times [2022-04-28 05:48:26,339 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:48:26,339 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1803059249] [2022-04-28 05:48:26,339 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:48:26,339 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:48:26,351 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:48:26,351 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [720556764] [2022-04-28 05:48:26,351 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:48:26,351 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:48:26,351 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:48:26,359 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:48:26,362 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:48:26,410 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:48:26,410 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:48:26,411 INFO L263 TraceCheckSpWp]: Trace formula consists of 265 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 05:48:26,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:48:26,435 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:48:26,904 INFO L272 TraceCheckUtils]: 0: Hoare triple {16422#true} call ULTIMATE.init(); {16422#true} is VALID [2022-04-28 05:48:26,904 INFO L290 TraceCheckUtils]: 1: Hoare triple {16422#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); {16422#true} is VALID [2022-04-28 05:48:26,904 INFO L290 TraceCheckUtils]: 2: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:26,904 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16422#true} {16422#true} #103#return; {16422#true} is VALID [2022-04-28 05:48:26,904 INFO L272 TraceCheckUtils]: 4: Hoare triple {16422#true} call #t~ret6 := main(); {16422#true} is VALID [2022-04-28 05:48:26,904 INFO L290 TraceCheckUtils]: 5: Hoare triple {16422#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; {16422#true} is VALID [2022-04-28 05:48:26,904 INFO L272 TraceCheckUtils]: 6: Hoare triple {16422#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:26,904 INFO L290 TraceCheckUtils]: 7: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:26,904 INFO L290 TraceCheckUtils]: 8: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:26,904 INFO L290 TraceCheckUtils]: 9: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:26,905 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16422#true} {16422#true} #79#return; {16422#true} is VALID [2022-04-28 05:48:26,905 INFO L290 TraceCheckUtils]: 11: Hoare triple {16422#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16422#true} is VALID [2022-04-28 05:48:26,905 INFO L272 TraceCheckUtils]: 12: Hoare triple {16422#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:26,905 INFO L290 TraceCheckUtils]: 13: Hoare triple {16422#true} ~cond := #in~cond; {16466#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:48:26,905 INFO L290 TraceCheckUtils]: 14: Hoare triple {16466#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {16470#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:48:26,906 INFO L290 TraceCheckUtils]: 15: Hoare triple {16470#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {16470#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:48:26,906 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16470#(not (= |assume_abort_if_not_#in~cond| 0))} {16422#true} #81#return; {16477#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:48:26,906 INFO L272 TraceCheckUtils]: 17: Hoare triple {16477#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:26,906 INFO L290 TraceCheckUtils]: 18: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:26,906 INFO L290 TraceCheckUtils]: 19: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:26,906 INFO L290 TraceCheckUtils]: 20: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:26,907 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16422#true} {16477#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #83#return; {16477#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:48:26,907 INFO L272 TraceCheckUtils]: 22: Hoare triple {16477#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:26,907 INFO L290 TraceCheckUtils]: 23: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:26,907 INFO L290 TraceCheckUtils]: 24: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:26,907 INFO L290 TraceCheckUtils]: 25: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:26,907 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16422#true} {16477#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #85#return; {16477#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:48:26,908 INFO L290 TraceCheckUtils]: 27: Hoare triple {16477#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~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; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:26,908 INFO L272 TraceCheckUtils]: 28: Hoare triple {16511#(<= main_~b~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:26,908 INFO L290 TraceCheckUtils]: 29: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:26,908 INFO L290 TraceCheckUtils]: 30: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:26,908 INFO L290 TraceCheckUtils]: 31: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:26,908 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #87#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:26,909 INFO L272 TraceCheckUtils]: 33: Hoare triple {16511#(<= main_~b~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:26,909 INFO L290 TraceCheckUtils]: 34: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:26,909 INFO L290 TraceCheckUtils]: 35: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:26,909 INFO L290 TraceCheckUtils]: 36: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:26,909 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #89#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:26,909 INFO L290 TraceCheckUtils]: 38: Hoare triple {16511#(<= main_~b~0 2)} assume !false; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:26,910 INFO L290 TraceCheckUtils]: 39: Hoare triple {16511#(<= main_~b~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:26,910 INFO L290 TraceCheckUtils]: 40: Hoare triple {16511#(<= main_~b~0 2)} assume !false; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:26,910 INFO L272 TraceCheckUtils]: 41: Hoare triple {16511#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:26,910 INFO L290 TraceCheckUtils]: 42: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:26,910 INFO L290 TraceCheckUtils]: 43: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:26,910 INFO L290 TraceCheckUtils]: 44: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:26,911 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #91#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:26,911 INFO L272 TraceCheckUtils]: 46: Hoare triple {16511#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:26,911 INFO L290 TraceCheckUtils]: 47: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:26,911 INFO L290 TraceCheckUtils]: 48: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:26,911 INFO L290 TraceCheckUtils]: 49: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:26,911 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #93#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:26,911 INFO L272 TraceCheckUtils]: 51: Hoare triple {16511#(<= main_~b~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:26,912 INFO L290 TraceCheckUtils]: 52: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:26,912 INFO L290 TraceCheckUtils]: 53: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:26,912 INFO L290 TraceCheckUtils]: 54: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:26,915 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #95#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:26,915 INFO L272 TraceCheckUtils]: 56: Hoare triple {16511#(<= main_~b~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)); {16422#true} is VALID [2022-04-28 05:48:26,916 INFO L290 TraceCheckUtils]: 57: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:26,916 INFO L290 TraceCheckUtils]: 58: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:26,916 INFO L290 TraceCheckUtils]: 59: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:26,916 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #97#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:26,917 INFO L290 TraceCheckUtils]: 61: Hoare triple {16511#(<= main_~b~0 2)} assume !(~c~0 >= ~b~0); {16614#(and (<= main_~b~0 2) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 05:48:26,918 INFO L290 TraceCheckUtils]: 62: Hoare triple {16614#(and (<= main_~b~0 2) (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; {16618#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-28 05:48:26,918 INFO L290 TraceCheckUtils]: 63: Hoare triple {16618#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} assume !false; {16618#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-28 05:48:26,919 INFO L290 TraceCheckUtils]: 64: Hoare triple {16618#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 05:48:26,919 INFO L290 TraceCheckUtils]: 65: Hoare triple {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} assume !false; {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 05:48:26,919 INFO L272 TraceCheckUtils]: 66: Hoare triple {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:26,919 INFO L290 TraceCheckUtils]: 67: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:26,919 INFO L290 TraceCheckUtils]: 68: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:26,919 INFO L290 TraceCheckUtils]: 69: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:26,920 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {16422#true} {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} #91#return; {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 05:48:26,920 INFO L272 TraceCheckUtils]: 71: Hoare triple {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:26,920 INFO L290 TraceCheckUtils]: 72: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:26,920 INFO L290 TraceCheckUtils]: 73: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:26,920 INFO L290 TraceCheckUtils]: 74: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:26,921 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {16422#true} {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} #93#return; {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 05:48:26,921 INFO L272 TraceCheckUtils]: 76: Hoare triple {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:26,921 INFO L290 TraceCheckUtils]: 77: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:26,921 INFO L290 TraceCheckUtils]: 78: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:26,922 INFO L290 TraceCheckUtils]: 79: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:26,922 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {16422#true} {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} #95#return; {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 05:48:26,922 INFO L272 TraceCheckUtils]: 81: Hoare triple {16625#(and (< main_~b~0 main_~c~0) (< main_~b~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)); {16422#true} is VALID [2022-04-28 05:48:26,922 INFO L290 TraceCheckUtils]: 82: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:26,923 INFO L290 TraceCheckUtils]: 83: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:26,923 INFO L290 TraceCheckUtils]: 84: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:26,923 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {16422#true} {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} #97#return; {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 05:48:26,925 INFO L290 TraceCheckUtils]: 86: Hoare triple {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 05:48:26,925 INFO L290 TraceCheckUtils]: 87: Hoare triple {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} assume !false; {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 05:48:26,925 INFO L272 TraceCheckUtils]: 88: Hoare triple {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:26,925 INFO L290 TraceCheckUtils]: 89: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:26,926 INFO L290 TraceCheckUtils]: 90: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:26,926 INFO L290 TraceCheckUtils]: 91: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:26,926 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {16422#true} {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} #91#return; {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 05:48:26,926 INFO L272 TraceCheckUtils]: 93: Hoare triple {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:26,926 INFO L290 TraceCheckUtils]: 94: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:26,927 INFO L290 TraceCheckUtils]: 95: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:26,927 INFO L290 TraceCheckUtils]: 96: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:26,927 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {16422#true} {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} #93#return; {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 05:48:26,927 INFO L272 TraceCheckUtils]: 98: Hoare triple {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:26,928 INFO L290 TraceCheckUtils]: 99: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:26,928 INFO L290 TraceCheckUtils]: 100: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:26,928 INFO L290 TraceCheckUtils]: 101: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:26,928 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {16422#true} {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} #95#return; {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 05:48:26,929 INFO L272 TraceCheckUtils]: 103: Hoare triple {16692#(and (< 0 main_~c~0) (< main_~b~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)); {16422#true} is VALID [2022-04-28 05:48:26,929 INFO L290 TraceCheckUtils]: 104: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:26,929 INFO L290 TraceCheckUtils]: 105: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:26,929 INFO L290 TraceCheckUtils]: 106: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:26,929 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {16422#true} {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} #97#return; {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 05:48:26,930 INFO L290 TraceCheckUtils]: 108: Hoare triple {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} assume !(~c~0 >= ~b~0); {16423#false} is VALID [2022-04-28 05:48:26,930 INFO L290 TraceCheckUtils]: 109: Hoare triple {16423#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; {16423#false} is VALID [2022-04-28 05:48:26,930 INFO L290 TraceCheckUtils]: 110: Hoare triple {16423#false} assume !false; {16423#false} is VALID [2022-04-28 05:48:26,930 INFO L290 TraceCheckUtils]: 111: Hoare triple {16423#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16423#false} is VALID [2022-04-28 05:48:26,930 INFO L290 TraceCheckUtils]: 112: Hoare triple {16423#false} assume !false; {16423#false} is VALID [2022-04-28 05:48:26,930 INFO L272 TraceCheckUtils]: 113: Hoare triple {16423#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16423#false} is VALID [2022-04-28 05:48:26,931 INFO L290 TraceCheckUtils]: 114: Hoare triple {16423#false} ~cond := #in~cond; {16423#false} is VALID [2022-04-28 05:48:26,931 INFO L290 TraceCheckUtils]: 115: Hoare triple {16423#false} assume !(0 == ~cond); {16423#false} is VALID [2022-04-28 05:48:26,931 INFO L290 TraceCheckUtils]: 116: Hoare triple {16423#false} assume true; {16423#false} is VALID [2022-04-28 05:48:26,931 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {16423#false} {16423#false} #91#return; {16423#false} is VALID [2022-04-28 05:48:26,931 INFO L272 TraceCheckUtils]: 118: Hoare triple {16423#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16423#false} is VALID [2022-04-28 05:48:26,931 INFO L290 TraceCheckUtils]: 119: Hoare triple {16423#false} ~cond := #in~cond; {16423#false} is VALID [2022-04-28 05:48:26,931 INFO L290 TraceCheckUtils]: 120: Hoare triple {16423#false} assume 0 == ~cond; {16423#false} is VALID [2022-04-28 05:48:26,931 INFO L290 TraceCheckUtils]: 121: Hoare triple {16423#false} assume !false; {16423#false} is VALID [2022-04-28 05:48:26,931 INFO L134 CoverageAnalysis]: Checked inductivity of 432 backedges. 103 proven. 18 refuted. 0 times theorem prover too weak. 311 trivial. 0 not checked. [2022-04-28 05:48:26,932 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:48:27,386 INFO L290 TraceCheckUtils]: 121: Hoare triple {16423#false} assume !false; {16423#false} is VALID [2022-04-28 05:48:27,387 INFO L290 TraceCheckUtils]: 120: Hoare triple {16423#false} assume 0 == ~cond; {16423#false} is VALID [2022-04-28 05:48:27,387 INFO L290 TraceCheckUtils]: 119: Hoare triple {16423#false} ~cond := #in~cond; {16423#false} is VALID [2022-04-28 05:48:27,387 INFO L272 TraceCheckUtils]: 118: Hoare triple {16423#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16423#false} is VALID [2022-04-28 05:48:27,387 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {16422#true} {16423#false} #91#return; {16423#false} is VALID [2022-04-28 05:48:27,387 INFO L290 TraceCheckUtils]: 116: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:27,387 INFO L290 TraceCheckUtils]: 115: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:27,387 INFO L290 TraceCheckUtils]: 114: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:27,387 INFO L272 TraceCheckUtils]: 113: Hoare triple {16423#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:27,387 INFO L290 TraceCheckUtils]: 112: Hoare triple {16423#false} assume !false; {16423#false} is VALID [2022-04-28 05:48:27,387 INFO L290 TraceCheckUtils]: 111: Hoare triple {16423#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16423#false} is VALID [2022-04-28 05:48:27,387 INFO L290 TraceCheckUtils]: 110: Hoare triple {16423#false} assume !false; {16423#false} is VALID [2022-04-28 05:48:27,387 INFO L290 TraceCheckUtils]: 109: Hoare triple {16423#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; {16423#false} is VALID [2022-04-28 05:48:27,388 INFO L290 TraceCheckUtils]: 108: Hoare triple {16837#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {16423#false} is VALID [2022-04-28 05:48:27,388 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {16422#true} {16837#(<= main_~b~0 main_~c~0)} #97#return; {16837#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 05:48:27,388 INFO L290 TraceCheckUtils]: 106: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:27,388 INFO L290 TraceCheckUtils]: 105: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:27,389 INFO L290 TraceCheckUtils]: 104: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:27,389 INFO L272 TraceCheckUtils]: 103: Hoare triple {16837#(<= 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)); {16422#true} is VALID [2022-04-28 05:48:27,389 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {16422#true} {16837#(<= main_~b~0 main_~c~0)} #95#return; {16837#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 05:48:27,389 INFO L290 TraceCheckUtils]: 101: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:27,389 INFO L290 TraceCheckUtils]: 100: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:27,389 INFO L290 TraceCheckUtils]: 99: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:27,389 INFO L272 TraceCheckUtils]: 98: Hoare triple {16837#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:27,390 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {16422#true} {16837#(<= main_~b~0 main_~c~0)} #93#return; {16837#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 05:48:27,390 INFO L290 TraceCheckUtils]: 96: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:27,390 INFO L290 TraceCheckUtils]: 95: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:27,390 INFO L290 TraceCheckUtils]: 94: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:27,390 INFO L272 TraceCheckUtils]: 93: Hoare triple {16837#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:27,391 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {16422#true} {16837#(<= main_~b~0 main_~c~0)} #91#return; {16837#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 05:48:27,391 INFO L290 TraceCheckUtils]: 91: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:27,391 INFO L290 TraceCheckUtils]: 90: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:27,391 INFO L290 TraceCheckUtils]: 89: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:27,391 INFO L272 TraceCheckUtils]: 88: Hoare triple {16837#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:27,392 INFO L290 TraceCheckUtils]: 87: Hoare triple {16837#(<= main_~b~0 main_~c~0)} assume !false; {16837#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 05:48:27,393 INFO L290 TraceCheckUtils]: 86: Hoare triple {16904#(<= (* main_~b~0 2) main_~c~0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {16837#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 05:48:27,394 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {16422#true} {16904#(<= (* main_~b~0 2) main_~c~0)} #97#return; {16904#(<= (* main_~b~0 2) main_~c~0)} is VALID [2022-04-28 05:48:27,394 INFO L290 TraceCheckUtils]: 84: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:27,394 INFO L290 TraceCheckUtils]: 83: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:27,394 INFO L290 TraceCheckUtils]: 82: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:27,394 INFO L272 TraceCheckUtils]: 81: Hoare triple {16904#(<= (* main_~b~0 2) 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)); {16422#true} is VALID [2022-04-28 05:48:27,394 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {16422#true} {16904#(<= (* main_~b~0 2) main_~c~0)} #95#return; {16904#(<= (* main_~b~0 2) main_~c~0)} is VALID [2022-04-28 05:48:27,395 INFO L290 TraceCheckUtils]: 79: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:27,395 INFO L290 TraceCheckUtils]: 78: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:27,395 INFO L290 TraceCheckUtils]: 77: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:27,395 INFO L272 TraceCheckUtils]: 76: Hoare triple {16904#(<= (* main_~b~0 2) main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:27,395 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {16422#true} {16904#(<= (* main_~b~0 2) main_~c~0)} #93#return; {16904#(<= (* main_~b~0 2) main_~c~0)} is VALID [2022-04-28 05:48:27,395 INFO L290 TraceCheckUtils]: 74: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:27,395 INFO L290 TraceCheckUtils]: 73: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:27,396 INFO L290 TraceCheckUtils]: 72: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:27,396 INFO L272 TraceCheckUtils]: 71: Hoare triple {16904#(<= (* main_~b~0 2) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:27,396 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {16422#true} {16904#(<= (* main_~b~0 2) main_~c~0)} #91#return; {16904#(<= (* main_~b~0 2) main_~c~0)} is VALID [2022-04-28 05:48:27,396 INFO L290 TraceCheckUtils]: 69: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:27,396 INFO L290 TraceCheckUtils]: 68: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:27,396 INFO L290 TraceCheckUtils]: 67: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:27,396 INFO L272 TraceCheckUtils]: 66: Hoare triple {16904#(<= (* main_~b~0 2) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:27,397 INFO L290 TraceCheckUtils]: 65: Hoare triple {16904#(<= (* main_~b~0 2) main_~c~0)} assume !false; {16904#(<= (* main_~b~0 2) main_~c~0)} is VALID [2022-04-28 05:48:27,397 INFO L290 TraceCheckUtils]: 64: Hoare triple {16971#(<= (* main_~b~0 2) main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16904#(<= (* main_~b~0 2) main_~c~0)} is VALID [2022-04-28 05:48:27,397 INFO L290 TraceCheckUtils]: 63: Hoare triple {16971#(<= (* main_~b~0 2) main_~a~0)} assume !false; {16971#(<= (* main_~b~0 2) main_~a~0)} is VALID [2022-04-28 05:48:27,398 INFO L290 TraceCheckUtils]: 62: Hoare triple {16978#(<= main_~c~0 (div main_~b~0 2))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {16971#(<= (* main_~b~0 2) main_~a~0)} is VALID [2022-04-28 05:48:27,399 INFO L290 TraceCheckUtils]: 61: Hoare triple {16511#(<= main_~b~0 2)} assume !(~c~0 >= ~b~0); {16978#(<= main_~c~0 (div main_~b~0 2))} is VALID [2022-04-28 05:48:27,401 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #97#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:27,401 INFO L290 TraceCheckUtils]: 59: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:27,401 INFO L290 TraceCheckUtils]: 58: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:27,401 INFO L290 TraceCheckUtils]: 57: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:27,401 INFO L272 TraceCheckUtils]: 56: Hoare triple {16511#(<= main_~b~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)); {16422#true} is VALID [2022-04-28 05:48:27,401 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #95#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:27,401 INFO L290 TraceCheckUtils]: 54: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:27,402 INFO L290 TraceCheckUtils]: 53: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:27,402 INFO L290 TraceCheckUtils]: 52: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:27,402 INFO L272 TraceCheckUtils]: 51: Hoare triple {16511#(<= main_~b~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:27,402 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #93#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:27,402 INFO L290 TraceCheckUtils]: 49: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:27,402 INFO L290 TraceCheckUtils]: 48: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:27,402 INFO L290 TraceCheckUtils]: 47: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:27,402 INFO L272 TraceCheckUtils]: 46: Hoare triple {16511#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:27,403 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #91#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:27,403 INFO L290 TraceCheckUtils]: 44: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:27,403 INFO L290 TraceCheckUtils]: 43: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:27,403 INFO L290 TraceCheckUtils]: 42: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:27,403 INFO L272 TraceCheckUtils]: 41: Hoare triple {16511#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:27,403 INFO L290 TraceCheckUtils]: 40: Hoare triple {16511#(<= main_~b~0 2)} assume !false; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:27,404 INFO L290 TraceCheckUtils]: 39: Hoare triple {16511#(<= main_~b~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:27,404 INFO L290 TraceCheckUtils]: 38: Hoare triple {16511#(<= main_~b~0 2)} assume !false; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:27,404 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #89#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:27,404 INFO L290 TraceCheckUtils]: 36: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:27,404 INFO L290 TraceCheckUtils]: 35: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:27,405 INFO L290 TraceCheckUtils]: 34: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:27,405 INFO L272 TraceCheckUtils]: 33: Hoare triple {16511#(<= main_~b~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:27,405 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #87#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:27,405 INFO L290 TraceCheckUtils]: 31: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:27,405 INFO L290 TraceCheckUtils]: 30: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:27,405 INFO L290 TraceCheckUtils]: 29: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:27,405 INFO L272 TraceCheckUtils]: 28: Hoare triple {16511#(<= main_~b~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:27,406 INFO L290 TraceCheckUtils]: 27: Hoare triple {17084#(<= main_~y~0 2)} ~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; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 05:48:27,406 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16422#true} {17084#(<= main_~y~0 2)} #85#return; {17084#(<= main_~y~0 2)} is VALID [2022-04-28 05:48:27,406 INFO L290 TraceCheckUtils]: 25: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:27,406 INFO L290 TraceCheckUtils]: 24: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:27,406 INFO L290 TraceCheckUtils]: 23: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:27,406 INFO L272 TraceCheckUtils]: 22: Hoare triple {17084#(<= main_~y~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:27,407 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16422#true} {17084#(<= main_~y~0 2)} #83#return; {17084#(<= main_~y~0 2)} is VALID [2022-04-28 05:48:27,407 INFO L290 TraceCheckUtils]: 20: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:27,407 INFO L290 TraceCheckUtils]: 19: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:27,407 INFO L290 TraceCheckUtils]: 18: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:27,407 INFO L272 TraceCheckUtils]: 17: Hoare triple {17084#(<= main_~y~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:27,407 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16470#(not (= |assume_abort_if_not_#in~cond| 0))} {16422#true} #81#return; {17084#(<= main_~y~0 2)} is VALID [2022-04-28 05:48:27,408 INFO L290 TraceCheckUtils]: 15: Hoare triple {16470#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {16470#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:48:27,408 INFO L290 TraceCheckUtils]: 14: Hoare triple {17127#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {16470#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:48:27,408 INFO L290 TraceCheckUtils]: 13: Hoare triple {16422#true} ~cond := #in~cond; {17127#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 05:48:27,408 INFO L272 TraceCheckUtils]: 12: Hoare triple {16422#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:27,408 INFO L290 TraceCheckUtils]: 11: Hoare triple {16422#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16422#true} is VALID [2022-04-28 05:48:27,409 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16422#true} {16422#true} #79#return; {16422#true} is VALID [2022-04-28 05:48:27,409 INFO L290 TraceCheckUtils]: 9: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:27,409 INFO L290 TraceCheckUtils]: 8: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 05:48:27,409 INFO L290 TraceCheckUtils]: 7: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 05:48:27,409 INFO L272 TraceCheckUtils]: 6: Hoare triple {16422#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {16422#true} is VALID [2022-04-28 05:48:27,409 INFO L290 TraceCheckUtils]: 5: Hoare triple {16422#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; {16422#true} is VALID [2022-04-28 05:48:27,409 INFO L272 TraceCheckUtils]: 4: Hoare triple {16422#true} call #t~ret6 := main(); {16422#true} is VALID [2022-04-28 05:48:27,409 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16422#true} {16422#true} #103#return; {16422#true} is VALID [2022-04-28 05:48:27,409 INFO L290 TraceCheckUtils]: 2: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 05:48:27,409 INFO L290 TraceCheckUtils]: 1: Hoare triple {16422#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); {16422#true} is VALID [2022-04-28 05:48:27,409 INFO L272 TraceCheckUtils]: 0: Hoare triple {16422#true} call ULTIMATE.init(); {16422#true} is VALID [2022-04-28 05:48:27,410 INFO L134 CoverageAnalysis]: Checked inductivity of 432 backedges. 43 proven. 32 refuted. 0 times theorem prover too weak. 357 trivial. 0 not checked. [2022-04-28 05:48:27,410 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:48:27,410 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1803059249] [2022-04-28 05:48:27,410 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:48:27,410 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [720556764] [2022-04-28 05:48:27,410 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [720556764] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:48:27,410 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:48:27,410 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-28 05:48:27,410 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:48:27,410 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [82122380] [2022-04-28 05:48:27,410 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [82122380] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:48:27,411 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:48:27,411 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 05:48:27,411 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1312709886] [2022-04-28 05:48:27,411 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:48:27,411 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 6 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 6 states have call predecessors, (20), 6 states have call successors, (20) Word has length 122 [2022-04-28 05:48:27,411 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:48:27,412 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 6 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 6 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 05:48:27,468 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:48:27,468 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 05:48:27,468 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:48:27,469 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 05:48:27,469 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=199, Unknown=0, NotChecked=0, Total=240 [2022-04-28 05:48:27,469 INFO L87 Difference]: Start difference. First operand 188 states and 258 transitions. Second operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 6 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 6 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 05:48:29,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:48:29,018 INFO L93 Difference]: Finished difference Result 221 states and 305 transitions. [2022-04-28 05:48:29,018 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 05:48:29,018 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 6 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 6 states have call predecessors, (20), 6 states have call successors, (20) Word has length 122 [2022-04-28 05:48:29,018 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:48:29,018 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 6 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 6 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 05:48:29,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 104 transitions. [2022-04-28 05:48:29,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 6 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 6 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 05:48:29,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 104 transitions. [2022-04-28 05:48:29,022 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 104 transitions. [2022-04-28 05:48:29,142 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:48:29,146 INFO L225 Difference]: With dead ends: 221 [2022-04-28 05:48:29,146 INFO L226 Difference]: Without dead ends: 185 [2022-04-28 05:48:29,147 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 250 GetRequests, 228 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=102, Invalid=404, Unknown=0, NotChecked=0, Total=506 [2022-04-28 05:48:29,147 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 18 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 306 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 245 SdHoareTripleChecker+Invalid, 342 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 306 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 05:48:29,147 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 245 Invalid, 342 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 306 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 05:48:29,148 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 185 states. [2022-04-28 05:48:29,781 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 185 to 185. [2022-04-28 05:48:29,781 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:48:29,781 INFO L82 GeneralOperation]: Start isEquivalent. First operand 185 states. Second operand has 185 states, 94 states have (on average 1.1063829787234043) internal successors, (104), 96 states have internal predecessors, (104), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 05:48:29,782 INFO L74 IsIncluded]: Start isIncluded. First operand 185 states. Second operand has 185 states, 94 states have (on average 1.1063829787234043) internal successors, (104), 96 states have internal predecessors, (104), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 05:48:29,782 INFO L87 Difference]: Start difference. First operand 185 states. Second operand has 185 states, 94 states have (on average 1.1063829787234043) internal successors, (104), 96 states have internal predecessors, (104), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 05:48:29,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:48:29,787 INFO L93 Difference]: Finished difference Result 185 states and 251 transitions. [2022-04-28 05:48:29,787 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 251 transitions. [2022-04-28 05:48:29,788 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:48:29,788 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:48:29,789 INFO L74 IsIncluded]: Start isIncluded. First operand has 185 states, 94 states have (on average 1.1063829787234043) internal successors, (104), 96 states have internal predecessors, (104), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) Second operand 185 states. [2022-04-28 05:48:29,789 INFO L87 Difference]: Start difference. First operand has 185 states, 94 states have (on average 1.1063829787234043) internal successors, (104), 96 states have internal predecessors, (104), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) Second operand 185 states. [2022-04-28 05:48:29,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:48:29,794 INFO L93 Difference]: Finished difference Result 185 states and 251 transitions. [2022-04-28 05:48:29,794 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 251 transitions. [2022-04-28 05:48:29,795 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:48:29,795 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:48:29,795 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:48:29,795 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:48:29,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 185 states, 94 states have (on average 1.1063829787234043) internal successors, (104), 96 states have internal predecessors, (104), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 05:48:29,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 185 states to 185 states and 251 transitions. [2022-04-28 05:48:29,801 INFO L78 Accepts]: Start accepts. Automaton has 185 states and 251 transitions. Word has length 122 [2022-04-28 05:48:29,802 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:48:29,802 INFO L495 AbstractCegarLoop]: Abstraction has 185 states and 251 transitions. [2022-04-28 05:48:29,802 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 6 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 6 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 05:48:29,802 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 185 states and 251 transitions. [2022-04-28 05:48:30,373 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 251 edges. 251 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:48:30,374 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 251 transitions. [2022-04-28 05:48:30,374 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 130 [2022-04-28 05:48:30,374 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:48:30,374 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:48:30,391 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Ended with exit code 0 [2022-04-28 05:48:30,575 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:48:30,575 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:48:30,576 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:48:30,576 INFO L85 PathProgramCache]: Analyzing trace with hash -2138166692, now seen corresponding path program 5 times [2022-04-28 05:48:30,576 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:48:30,576 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1386024827] [2022-04-28 05:48:30,576 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:48:30,576 INFO L85 PathProgramCache]: Analyzing trace with hash -2138166692, now seen corresponding path program 6 times [2022-04-28 05:48:30,576 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:48:30,577 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [788781806] [2022-04-28 05:48:30,577 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:48:30,577 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:48:30,594 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:48:30,594 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1067076378] [2022-04-28 05:48:30,594 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:48:30,595 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:48:30,595 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:48:30,596 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:48:30,604 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:48:30,687 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 05:48:30,687 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:48:30,689 INFO L263 TraceCheckSpWp]: Trace formula consists of 215 conjuncts, 58 conjunts are in the unsatisfiable core [2022-04-28 05:48:30,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:48:30,714 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:48:33,035 INFO L272 TraceCheckUtils]: 0: Hoare triple {18365#true} call ULTIMATE.init(); {18365#true} is VALID [2022-04-28 05:48:33,035 INFO L290 TraceCheckUtils]: 1: Hoare triple {18365#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); {18365#true} is VALID [2022-04-28 05:48:33,036 INFO L290 TraceCheckUtils]: 2: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 05:48:33,036 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18365#true} {18365#true} #103#return; {18365#true} is VALID [2022-04-28 05:48:33,036 INFO L272 TraceCheckUtils]: 4: Hoare triple {18365#true} call #t~ret6 := main(); {18365#true} is VALID [2022-04-28 05:48:33,036 INFO L290 TraceCheckUtils]: 5: Hoare triple {18365#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; {18365#true} is VALID [2022-04-28 05:48:33,036 INFO L272 TraceCheckUtils]: 6: Hoare triple {18365#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {18365#true} is VALID [2022-04-28 05:48:33,036 INFO L290 TraceCheckUtils]: 7: Hoare triple {18365#true} ~cond := #in~cond; {18391#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:48:33,037 INFO L290 TraceCheckUtils]: 8: Hoare triple {18391#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {18395#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:48:33,037 INFO L290 TraceCheckUtils]: 9: Hoare triple {18395#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {18395#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:48:33,038 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18395#(not (= |assume_abort_if_not_#in~cond| 0))} {18365#true} #79#return; {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:48:33,038 INFO L290 TraceCheckUtils]: 11: Hoare triple {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:48:33,038 INFO L272 TraceCheckUtils]: 12: Hoare triple {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {18365#true} is VALID [2022-04-28 05:48:33,038 INFO L290 TraceCheckUtils]: 13: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 05:48:33,038 INFO L290 TraceCheckUtils]: 14: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 05:48:33,038 INFO L290 TraceCheckUtils]: 15: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 05:48:33,039 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18365#true} {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #81#return; {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:48:33,039 INFO L272 TraceCheckUtils]: 17: Hoare triple {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18365#true} is VALID [2022-04-28 05:48:33,039 INFO L290 TraceCheckUtils]: 18: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 05:48:33,039 INFO L290 TraceCheckUtils]: 19: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 05:48:33,039 INFO L290 TraceCheckUtils]: 20: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 05:48:33,040 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18365#true} {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #83#return; {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:48:33,040 INFO L272 TraceCheckUtils]: 22: Hoare triple {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18365#true} is VALID [2022-04-28 05:48:33,040 INFO L290 TraceCheckUtils]: 23: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 05:48:33,040 INFO L290 TraceCheckUtils]: 24: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 05:48:33,040 INFO L290 TraceCheckUtils]: 25: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 05:48:33,041 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18365#true} {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #85#return; {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:48:33,041 INFO L290 TraceCheckUtils]: 27: Hoare triple {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~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; {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,041 INFO L272 TraceCheckUtils]: 28: Hoare triple {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {18365#true} is VALID [2022-04-28 05:48:33,042 INFO L290 TraceCheckUtils]: 29: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 05:48:33,042 INFO L290 TraceCheckUtils]: 30: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 05:48:33,042 INFO L290 TraceCheckUtils]: 31: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 05:48:33,043 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {18365#true} {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #87#return; {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,043 INFO L272 TraceCheckUtils]: 33: Hoare triple {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {18365#true} is VALID [2022-04-28 05:48:33,043 INFO L290 TraceCheckUtils]: 34: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 05:48:33,043 INFO L290 TraceCheckUtils]: 35: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 05:48:33,043 INFO L290 TraceCheckUtils]: 36: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 05:48:33,044 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {18365#true} {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #89#return; {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,045 INFO L290 TraceCheckUtils]: 38: Hoare triple {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,045 INFO L290 TraceCheckUtils]: 39: Hoare triple {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,046 INFO L290 TraceCheckUtils]: 40: Hoare triple {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,046 INFO L272 TraceCheckUtils]: 41: Hoare triple {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 05:48:33,046 INFO L290 TraceCheckUtils]: 42: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 05:48:33,046 INFO L290 TraceCheckUtils]: 43: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 05:48:33,046 INFO L290 TraceCheckUtils]: 44: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 05:48:33,047 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {18365#true} {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #91#return; {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,047 INFO L272 TraceCheckUtils]: 46: Hoare triple {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 05:48:33,048 INFO L290 TraceCheckUtils]: 47: Hoare triple {18365#true} ~cond := #in~cond; {18515#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:48:33,048 INFO L290 TraceCheckUtils]: 48: Hoare triple {18515#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:48:33,048 INFO L290 TraceCheckUtils]: 49: Hoare triple {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:48:33,049 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #93#return; {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,050 INFO L272 TraceCheckUtils]: 51: Hoare triple {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 05:48:33,050 INFO L290 TraceCheckUtils]: 52: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 05:48:33,050 INFO L290 TraceCheckUtils]: 53: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 05:48:33,050 INFO L290 TraceCheckUtils]: 54: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 05:48:33,051 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {18365#true} {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} #95#return; {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,051 INFO L272 TraceCheckUtils]: 56: Hoare triple {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= 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)); {18365#true} is VALID [2022-04-28 05:48:33,051 INFO L290 TraceCheckUtils]: 57: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 05:48:33,051 INFO L290 TraceCheckUtils]: 58: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 05:48:33,051 INFO L290 TraceCheckUtils]: 59: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 05:48:33,052 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {18365#true} {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} #97#return; {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,052 INFO L290 TraceCheckUtils]: 61: Hoare triple {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,053 INFO L290 TraceCheckUtils]: 62: Hoare triple {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} assume !false; {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,053 INFO L272 TraceCheckUtils]: 63: Hoare triple {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 05:48:33,053 INFO L290 TraceCheckUtils]: 64: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 05:48:33,053 INFO L290 TraceCheckUtils]: 65: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 05:48:33,053 INFO L290 TraceCheckUtils]: 66: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 05:48:33,054 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {18365#true} {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} #91#return; {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,055 INFO L272 TraceCheckUtils]: 68: Hoare triple {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 05:48:33,055 INFO L290 TraceCheckUtils]: 69: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 05:48:33,055 INFO L290 TraceCheckUtils]: 70: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 05:48:33,055 INFO L290 TraceCheckUtils]: 71: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 05:48:33,056 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {18365#true} {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} #93#return; {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,056 INFO L272 TraceCheckUtils]: 73: Hoare triple {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 05:48:33,056 INFO L290 TraceCheckUtils]: 74: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 05:48:33,056 INFO L290 TraceCheckUtils]: 75: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 05:48:33,056 INFO L290 TraceCheckUtils]: 76: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 05:48:33,057 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {18365#true} {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} #95#return; {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,057 INFO L272 TraceCheckUtils]: 78: Hoare triple {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= 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)); {18365#true} is VALID [2022-04-28 05:48:33,057 INFO L290 TraceCheckUtils]: 79: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 05:48:33,057 INFO L290 TraceCheckUtils]: 80: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 05:48:33,057 INFO L290 TraceCheckUtils]: 81: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 05:48:33,058 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {18365#true} {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} #97#return; {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,060 INFO L290 TraceCheckUtils]: 83: Hoare triple {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~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_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 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_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,060 INFO L290 TraceCheckUtils]: 84: Hoare triple {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 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_~x~0 2) (= main_~p~0 1))} assume !false; {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 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_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,060 INFO L272 TraceCheckUtils]: 85: Hoare triple {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 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_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 05:48:33,060 INFO L290 TraceCheckUtils]: 86: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 05:48:33,060 INFO L290 TraceCheckUtils]: 87: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 05:48:33,061 INFO L290 TraceCheckUtils]: 88: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 05:48:33,061 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {18365#true} {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 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_~x~0 2) (= main_~p~0 1))} #91#return; {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 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_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,062 INFO L272 TraceCheckUtils]: 90: Hoare triple {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 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_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 05:48:33,062 INFO L290 TraceCheckUtils]: 91: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 05:48:33,062 INFO L290 TraceCheckUtils]: 92: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 05:48:33,062 INFO L290 TraceCheckUtils]: 93: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 05:48:33,063 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {18365#true} {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 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_~x~0 2) (= main_~p~0 1))} #93#return; {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 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_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,063 INFO L272 TraceCheckUtils]: 95: Hoare triple {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 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_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 05:48:33,063 INFO L290 TraceCheckUtils]: 96: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 05:48:33,063 INFO L290 TraceCheckUtils]: 97: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 05:48:33,063 INFO L290 TraceCheckUtils]: 98: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 05:48:33,064 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {18365#true} {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 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_~x~0 2) (= main_~p~0 1))} #95#return; {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 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_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,064 INFO L272 TraceCheckUtils]: 100: Hoare triple {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 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_~x~0 2) (= 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)); {18365#true} is VALID [2022-04-28 05:48:33,065 INFO L290 TraceCheckUtils]: 101: Hoare triple {18365#true} ~cond := #in~cond; {18515#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:48:33,065 INFO L290 TraceCheckUtils]: 102: Hoare triple {18515#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:48:33,065 INFO L290 TraceCheckUtils]: 103: Hoare triple {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:48:33,066 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 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_~x~0 2) (= main_~p~0 1))} #97#return; {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 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_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,067 INFO L290 TraceCheckUtils]: 105: Hoare triple {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 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_~x~0 2) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {18693#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (not (<= main_~b~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_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:48:33,068 INFO L290 TraceCheckUtils]: 106: Hoare triple {18693#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (not (<= main_~b~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_~x~0 2) (= 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; {18697#(and (<= 0 main_~x~0) (= main_~a~0 main_~y~0) (not (<= main_~a~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_~x~0 2))} is VALID [2022-04-28 05:48:33,068 INFO L290 TraceCheckUtils]: 107: Hoare triple {18697#(and (<= 0 main_~x~0) (= main_~a~0 main_~y~0) (not (<= main_~a~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_~x~0 2))} assume !false; {18697#(and (<= 0 main_~x~0) (= main_~a~0 main_~y~0) (not (<= main_~a~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_~x~0 2))} is VALID [2022-04-28 05:48:33,069 INFO L290 TraceCheckUtils]: 108: Hoare triple {18697#(and (<= 0 main_~x~0) (= main_~a~0 main_~y~0) (not (<= main_~a~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_~x~0 2))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~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_~x~0 2))} is VALID [2022-04-28 05:48:33,069 INFO L290 TraceCheckUtils]: 109: Hoare triple {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~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_~x~0 2))} assume !false; {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~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_~x~0 2))} is VALID [2022-04-28 05:48:33,069 INFO L272 TraceCheckUtils]: 110: Hoare triple {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~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_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 05:48:33,069 INFO L290 TraceCheckUtils]: 111: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 05:48:33,069 INFO L290 TraceCheckUtils]: 112: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 05:48:33,070 INFO L290 TraceCheckUtils]: 113: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 05:48:33,071 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {18365#true} {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~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_~x~0 2))} #91#return; {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~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_~x~0 2))} is VALID [2022-04-28 05:48:33,071 INFO L272 TraceCheckUtils]: 115: Hoare triple {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~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_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 05:48:33,071 INFO L290 TraceCheckUtils]: 116: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 05:48:33,071 INFO L290 TraceCheckUtils]: 117: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 05:48:33,071 INFO L290 TraceCheckUtils]: 118: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 05:48:33,072 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {18365#true} {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~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_~x~0 2))} #93#return; {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~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_~x~0 2))} is VALID [2022-04-28 05:48:33,072 INFO L272 TraceCheckUtils]: 120: Hoare triple {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~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_~x~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 05:48:33,072 INFO L290 TraceCheckUtils]: 121: Hoare triple {18365#true} ~cond := #in~cond; {18515#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:48:33,073 INFO L290 TraceCheckUtils]: 122: Hoare triple {18515#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:48:33,073 INFO L290 TraceCheckUtils]: 123: Hoare triple {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:48:33,074 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~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_~x~0 2))} #95#return; {18753#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~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_~x~0 2))} is VALID [2022-04-28 05:48:33,078 INFO L272 TraceCheckUtils]: 125: Hoare triple {18753#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~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_~x~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)); {18757#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:48:33,078 INFO L290 TraceCheckUtils]: 126: Hoare triple {18757#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18761#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:48:33,079 INFO L290 TraceCheckUtils]: 127: Hoare triple {18761#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18366#false} is VALID [2022-04-28 05:48:33,079 INFO L290 TraceCheckUtils]: 128: Hoare triple {18366#false} assume !false; {18366#false} is VALID [2022-04-28 05:48:33,080 INFO L134 CoverageAnalysis]: Checked inductivity of 545 backedges. 105 proven. 80 refuted. 0 times theorem prover too weak. 360 trivial. 0 not checked. [2022-04-28 05:48:33,080 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:49:27,237 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:49:27,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [788781806] [2022-04-28 05:49:27,238 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:49:27,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1067076378] [2022-04-28 05:49:27,238 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1067076378] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 05:49:27,238 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:49:27,238 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-28 05:49:27,238 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:49:27,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1386024827] [2022-04-28 05:49:27,238 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1386024827] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:49:27,239 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:49:27,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 05:49:27,239 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1153050296] [2022-04-28 05:49:27,239 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:49:27,239 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 7 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 6 states have call successors, (20) Word has length 129 [2022-04-28 05:49:27,239 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:49:27,239 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 7 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 05:49:27,324 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:49:27,324 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 05:49:27,324 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:49:27,324 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 05:49:27,325 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=401, Unknown=0, NotChecked=0, Total=506 [2022-04-28 05:49:27,325 INFO L87 Difference]: Start difference. First operand 185 states and 251 transitions. Second operand has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 7 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 05:49:32,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:49:32,382 INFO L93 Difference]: Finished difference Result 196 states and 260 transitions. [2022-04-28 05:49:32,382 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 05:49:32,382 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 7 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 6 states have call successors, (20) Word has length 129 [2022-04-28 05:49:32,383 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:49:32,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 7 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 05:49:32,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 88 transitions. [2022-04-28 05:49:32,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 7 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 05:49:32,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 88 transitions. [2022-04-28 05:49:32,386 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 88 transitions. [2022-04-28 05:49:32,483 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:49:32,488 INFO L225 Difference]: With dead ends: 196 [2022-04-28 05:49:32,488 INFO L226 Difference]: Without dead ends: 194 [2022-04-28 05:49:32,489 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 131 SyntacticMatches, 1 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 176 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=171, Invalid=699, Unknown=0, NotChecked=0, Total=870 [2022-04-28 05:49:32,489 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 32 mSDsluCounter, 191 mSDsCounter, 0 mSdLazyCounter, 636 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 668 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 636 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:49:32,489 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [37 Valid, 230 Invalid, 668 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 636 Invalid, 0 Unknown, 0 Unchecked, 2.1s Time] [2022-04-28 05:49:32,490 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 194 states. [2022-04-28 05:49:33,158 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 194 to 193. [2022-04-28 05:49:33,158 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:49:33,158 INFO L82 GeneralOperation]: Start isEquivalent. First operand 194 states. Second operand has 193 states, 100 states have (on average 1.1) internal successors, (110), 102 states have internal predecessors, (110), 75 states have call successors, (75), 18 states have call predecessors, (75), 17 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 05:49:33,159 INFO L74 IsIncluded]: Start isIncluded. First operand 194 states. Second operand has 193 states, 100 states have (on average 1.1) internal successors, (110), 102 states have internal predecessors, (110), 75 states have call successors, (75), 18 states have call predecessors, (75), 17 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 05:49:33,159 INFO L87 Difference]: Start difference. First operand 194 states. Second operand has 193 states, 100 states have (on average 1.1) internal successors, (110), 102 states have internal predecessors, (110), 75 states have call successors, (75), 18 states have call predecessors, (75), 17 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 05:49:33,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:49:33,165 INFO L93 Difference]: Finished difference Result 194 states and 258 transitions. [2022-04-28 05:49:33,165 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 258 transitions. [2022-04-28 05:49:33,165 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:49:33,166 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:49:33,166 INFO L74 IsIncluded]: Start isIncluded. First operand has 193 states, 100 states have (on average 1.1) internal successors, (110), 102 states have internal predecessors, (110), 75 states have call successors, (75), 18 states have call predecessors, (75), 17 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) Second operand 194 states. [2022-04-28 05:49:33,166 INFO L87 Difference]: Start difference. First operand has 193 states, 100 states have (on average 1.1) internal successors, (110), 102 states have internal predecessors, (110), 75 states have call successors, (75), 18 states have call predecessors, (75), 17 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) Second operand 194 states. [2022-04-28 05:49:33,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:49:33,172 INFO L93 Difference]: Finished difference Result 194 states and 258 transitions. [2022-04-28 05:49:33,172 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 258 transitions. [2022-04-28 05:49:33,172 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:49:33,172 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:49:33,173 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:49:33,173 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:49:33,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 193 states, 100 states have (on average 1.1) internal successors, (110), 102 states have internal predecessors, (110), 75 states have call successors, (75), 18 states have call predecessors, (75), 17 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 05:49:33,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193 states to 193 states and 257 transitions. [2022-04-28 05:49:33,179 INFO L78 Accepts]: Start accepts. Automaton has 193 states and 257 transitions. Word has length 129 [2022-04-28 05:49:33,179 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:49:33,179 INFO L495 AbstractCegarLoop]: Abstraction has 193 states and 257 transitions. [2022-04-28 05:49:33,179 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 7 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 05:49:33,179 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 193 states and 257 transitions. [2022-04-28 05:49:33,770 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:49:33,770 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 257 transitions. [2022-04-28 05:49:33,771 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2022-04-28 05:49:33,771 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:49:33,771 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:49:33,787 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:49:33,975 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:49:33,975 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:49:33,976 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:49:33,976 INFO L85 PathProgramCache]: Analyzing trace with hash 1068997356, now seen corresponding path program 7 times [2022-04-28 05:49:33,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:49:33,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [964477835] [2022-04-28 05:49:33,976 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:49:33,976 INFO L85 PathProgramCache]: Analyzing trace with hash 1068997356, now seen corresponding path program 8 times [2022-04-28 05:49:33,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:49:33,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2066038395] [2022-04-28 05:49:33,977 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:49:33,977 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:49:33,989 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:49:33,989 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [949316979] [2022-04-28 05:49:33,989 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:49:33,989 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:49:33,989 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:49:33,990 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:49:33,994 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:49:34,067 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:49:34,067 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:49:34,069 INFO L263 TraceCheckSpWp]: Trace formula consists of 317 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 05:49:34,088 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:49:34,090 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:49:34,591 INFO L272 TraceCheckUtils]: 0: Hoare triple {20029#true} call ULTIMATE.init(); {20029#true} is VALID [2022-04-28 05:49:34,591 INFO L290 TraceCheckUtils]: 1: Hoare triple {20029#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); {20029#true} is VALID [2022-04-28 05:49:34,591 INFO L290 TraceCheckUtils]: 2: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,591 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20029#true} {20029#true} #103#return; {20029#true} is VALID [2022-04-28 05:49:34,591 INFO L272 TraceCheckUtils]: 4: Hoare triple {20029#true} call #t~ret6 := main(); {20029#true} is VALID [2022-04-28 05:49:34,591 INFO L290 TraceCheckUtils]: 5: Hoare triple {20029#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; {20029#true} is VALID [2022-04-28 05:49:34,591 INFO L272 TraceCheckUtils]: 6: Hoare triple {20029#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:34,592 INFO L290 TraceCheckUtils]: 7: Hoare triple {20029#true} ~cond := #in~cond; {20055#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:49:34,592 INFO L290 TraceCheckUtils]: 8: Hoare triple {20055#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {20059#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:49:34,592 INFO L290 TraceCheckUtils]: 9: Hoare triple {20059#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {20059#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:49:34,593 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20059#(not (= |assume_abort_if_not_#in~cond| 0))} {20029#true} #79#return; {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:49:34,593 INFO L290 TraceCheckUtils]: 11: Hoare triple {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:49:34,593 INFO L272 TraceCheckUtils]: 12: Hoare triple {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:34,593 INFO L290 TraceCheckUtils]: 13: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,593 INFO L290 TraceCheckUtils]: 14: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,593 INFO L290 TraceCheckUtils]: 15: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,594 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20029#true} {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #81#return; {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:49:34,594 INFO L272 TraceCheckUtils]: 17: Hoare triple {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:34,594 INFO L290 TraceCheckUtils]: 18: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,594 INFO L290 TraceCheckUtils]: 19: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,594 INFO L290 TraceCheckUtils]: 20: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,594 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20029#true} {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #83#return; {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:49:34,595 INFO L272 TraceCheckUtils]: 22: Hoare triple {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:34,595 INFO L290 TraceCheckUtils]: 23: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,595 INFO L290 TraceCheckUtils]: 24: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,595 INFO L290 TraceCheckUtils]: 25: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,595 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20029#true} {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #85#return; {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:49:34,596 INFO L290 TraceCheckUtils]: 27: Hoare triple {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~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; {20118#(<= main_~a~0 2)} is VALID [2022-04-28 05:49:34,596 INFO L272 TraceCheckUtils]: 28: Hoare triple {20118#(<= main_~a~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:34,596 INFO L290 TraceCheckUtils]: 29: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,596 INFO L290 TraceCheckUtils]: 30: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,596 INFO L290 TraceCheckUtils]: 31: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,596 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20029#true} {20118#(<= main_~a~0 2)} #87#return; {20118#(<= main_~a~0 2)} is VALID [2022-04-28 05:49:34,596 INFO L272 TraceCheckUtils]: 33: Hoare triple {20118#(<= main_~a~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:34,596 INFO L290 TraceCheckUtils]: 34: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,597 INFO L290 TraceCheckUtils]: 35: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,597 INFO L290 TraceCheckUtils]: 36: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,597 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {20029#true} {20118#(<= main_~a~0 2)} #89#return; {20118#(<= main_~a~0 2)} is VALID [2022-04-28 05:49:34,597 INFO L290 TraceCheckUtils]: 38: Hoare triple {20118#(<= main_~a~0 2)} assume !false; {20118#(<= main_~a~0 2)} is VALID [2022-04-28 05:49:34,598 INFO L290 TraceCheckUtils]: 39: Hoare triple {20118#(<= main_~a~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 05:49:34,598 INFO L290 TraceCheckUtils]: 40: Hoare triple {20155#(<= main_~c~0 2)} assume !false; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 05:49:34,598 INFO L272 TraceCheckUtils]: 41: Hoare triple {20155#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:34,598 INFO L290 TraceCheckUtils]: 42: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,598 INFO L290 TraceCheckUtils]: 43: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,598 INFO L290 TraceCheckUtils]: 44: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,605 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #91#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 05:49:34,605 INFO L272 TraceCheckUtils]: 46: Hoare triple {20155#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:34,605 INFO L290 TraceCheckUtils]: 47: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,605 INFO L290 TraceCheckUtils]: 48: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,605 INFO L290 TraceCheckUtils]: 49: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,606 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #93#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 05:49:34,606 INFO L272 TraceCheckUtils]: 51: Hoare triple {20155#(<= main_~c~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:34,606 INFO L290 TraceCheckUtils]: 52: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,606 INFO L290 TraceCheckUtils]: 53: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,606 INFO L290 TraceCheckUtils]: 54: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,606 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #95#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 05:49:34,606 INFO L272 TraceCheckUtils]: 56: Hoare triple {20155#(<= main_~c~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)); {20029#true} is VALID [2022-04-28 05:49:34,607 INFO L290 TraceCheckUtils]: 57: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,607 INFO L290 TraceCheckUtils]: 58: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,607 INFO L290 TraceCheckUtils]: 59: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,607 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #97#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 05:49:34,608 INFO L290 TraceCheckUtils]: 61: Hoare triple {20155#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {20222#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 05:49:34,609 INFO L290 TraceCheckUtils]: 62: Hoare triple {20222#(<= (+ main_~c~0 main_~b~0) 2)} assume !false; {20222#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 05:49:34,609 INFO L272 TraceCheckUtils]: 63: Hoare triple {20222#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:34,609 INFO L290 TraceCheckUtils]: 64: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,609 INFO L290 TraceCheckUtils]: 65: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,609 INFO L290 TraceCheckUtils]: 66: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,609 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {20029#true} {20222#(<= (+ main_~c~0 main_~b~0) 2)} #91#return; {20222#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 05:49:34,609 INFO L272 TraceCheckUtils]: 68: Hoare triple {20222#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:34,609 INFO L290 TraceCheckUtils]: 69: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,610 INFO L290 TraceCheckUtils]: 70: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,610 INFO L290 TraceCheckUtils]: 71: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,610 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {20029#true} {20222#(<= (+ main_~c~0 main_~b~0) 2)} #93#return; {20222#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 05:49:34,610 INFO L272 TraceCheckUtils]: 73: Hoare triple {20222#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:34,610 INFO L290 TraceCheckUtils]: 74: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,610 INFO L290 TraceCheckUtils]: 75: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,610 INFO L290 TraceCheckUtils]: 76: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,611 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {20029#true} {20222#(<= (+ main_~c~0 main_~b~0) 2)} #95#return; {20222#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 05:49:34,612 INFO L272 TraceCheckUtils]: 78: Hoare triple {20222#(<= (+ main_~c~0 main_~b~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)); {20029#true} is VALID [2022-04-28 05:49:34,612 INFO L290 TraceCheckUtils]: 79: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,612 INFO L290 TraceCheckUtils]: 80: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,612 INFO L290 TraceCheckUtils]: 81: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,613 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {20029#true} {20222#(<= (+ main_~c~0 main_~b~0) 2)} #97#return; {20222#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 05:49:34,614 INFO L290 TraceCheckUtils]: 83: Hoare triple {20222#(<= (+ main_~c~0 main_~b~0) 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-28 05:49:34,614 INFO L290 TraceCheckUtils]: 84: Hoare triple {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} assume !false; {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-28 05:49:34,615 INFO L272 TraceCheckUtils]: 85: Hoare triple {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:34,615 INFO L290 TraceCheckUtils]: 86: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,615 INFO L290 TraceCheckUtils]: 87: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,615 INFO L290 TraceCheckUtils]: 88: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,615 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {20029#true} {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} #91#return; {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-28 05:49:34,616 INFO L272 TraceCheckUtils]: 90: Hoare triple {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:34,616 INFO L290 TraceCheckUtils]: 91: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,616 INFO L290 TraceCheckUtils]: 92: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,616 INFO L290 TraceCheckUtils]: 93: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,616 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {20029#true} {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} #93#return; {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-28 05:49:34,616 INFO L272 TraceCheckUtils]: 95: Hoare triple {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:34,616 INFO L290 TraceCheckUtils]: 96: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,617 INFO L290 TraceCheckUtils]: 97: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,617 INFO L290 TraceCheckUtils]: 98: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,617 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {20029#true} {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} #95#return; {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-28 05:49:34,617 INFO L272 TraceCheckUtils]: 100: Hoare triple {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 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)); {20029#true} is VALID [2022-04-28 05:49:34,617 INFO L290 TraceCheckUtils]: 101: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,617 INFO L290 TraceCheckUtils]: 102: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,617 INFO L290 TraceCheckUtils]: 103: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,618 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {20029#true} {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} #97#return; {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-28 05:49:34,619 INFO L290 TraceCheckUtils]: 105: Hoare triple {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-28 05:49:34,621 INFO L290 TraceCheckUtils]: 106: Hoare triple {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} assume !false; {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-28 05:49:34,621 INFO L272 TraceCheckUtils]: 107: Hoare triple {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:34,621 INFO L290 TraceCheckUtils]: 108: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,621 INFO L290 TraceCheckUtils]: 109: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,621 INFO L290 TraceCheckUtils]: 110: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,622 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {20029#true} {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} #91#return; {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-28 05:49:34,622 INFO L272 TraceCheckUtils]: 112: Hoare triple {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:34,622 INFO L290 TraceCheckUtils]: 113: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,622 INFO L290 TraceCheckUtils]: 114: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,622 INFO L290 TraceCheckUtils]: 115: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,622 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {20029#true} {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} #93#return; {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-28 05:49:34,623 INFO L272 TraceCheckUtils]: 117: Hoare triple {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:34,623 INFO L290 TraceCheckUtils]: 118: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,623 INFO L290 TraceCheckUtils]: 119: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,623 INFO L290 TraceCheckUtils]: 120: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,623 INFO L284 TraceCheckUtils]: 121: Hoare quadruple {20029#true} {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} #95#return; {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-28 05:49:34,623 INFO L272 TraceCheckUtils]: 122: Hoare triple {20356#(and (<= (* main_~b~0 3) 2) (<= 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)); {20029#true} is VALID [2022-04-28 05:49:34,623 INFO L290 TraceCheckUtils]: 123: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:34,624 INFO L290 TraceCheckUtils]: 124: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:34,624 INFO L290 TraceCheckUtils]: 125: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:34,624 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {20029#true} {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} #97#return; {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-28 05:49:34,625 INFO L290 TraceCheckUtils]: 127: Hoare triple {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} assume !(~c~0 >= ~b~0); {20030#false} is VALID [2022-04-28 05:49:34,625 INFO L290 TraceCheckUtils]: 128: Hoare triple {20030#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; {20030#false} is VALID [2022-04-28 05:49:34,625 INFO L290 TraceCheckUtils]: 129: Hoare triple {20030#false} assume !false; {20030#false} is VALID [2022-04-28 05:49:34,625 INFO L290 TraceCheckUtils]: 130: Hoare triple {20030#false} assume !(0 != ~b~0); {20030#false} is VALID [2022-04-28 05:49:34,625 INFO L272 TraceCheckUtils]: 131: Hoare triple {20030#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {20030#false} is VALID [2022-04-28 05:49:34,625 INFO L290 TraceCheckUtils]: 132: Hoare triple {20030#false} ~cond := #in~cond; {20030#false} is VALID [2022-04-28 05:49:34,625 INFO L290 TraceCheckUtils]: 133: Hoare triple {20030#false} assume 0 == ~cond; {20030#false} is VALID [2022-04-28 05:49:34,625 INFO L290 TraceCheckUtils]: 134: Hoare triple {20030#false} assume !false; {20030#false} is VALID [2022-04-28 05:49:34,626 INFO L134 CoverageAnalysis]: Checked inductivity of 610 backedges. 34 proven. 51 refuted. 0 times theorem prover too weak. 525 trivial. 0 not checked. [2022-04-28 05:49:34,626 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:49:35,216 INFO L290 TraceCheckUtils]: 134: Hoare triple {20030#false} assume !false; {20030#false} is VALID [2022-04-28 05:49:35,217 INFO L290 TraceCheckUtils]: 133: Hoare triple {20030#false} assume 0 == ~cond; {20030#false} is VALID [2022-04-28 05:49:35,217 INFO L290 TraceCheckUtils]: 132: Hoare triple {20030#false} ~cond := #in~cond; {20030#false} is VALID [2022-04-28 05:49:35,217 INFO L272 TraceCheckUtils]: 131: Hoare triple {20030#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {20030#false} is VALID [2022-04-28 05:49:35,217 INFO L290 TraceCheckUtils]: 130: Hoare triple {20030#false} assume !(0 != ~b~0); {20030#false} is VALID [2022-04-28 05:49:35,217 INFO L290 TraceCheckUtils]: 129: Hoare triple {20030#false} assume !false; {20030#false} is VALID [2022-04-28 05:49:35,217 INFO L290 TraceCheckUtils]: 128: Hoare triple {20030#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; {20030#false} is VALID [2022-04-28 05:49:35,217 INFO L290 TraceCheckUtils]: 127: Hoare triple {20465#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {20030#false} is VALID [2022-04-28 05:49:35,218 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {20029#true} {20465#(<= main_~b~0 main_~c~0)} #97#return; {20465#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 05:49:35,218 INFO L290 TraceCheckUtils]: 125: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,218 INFO L290 TraceCheckUtils]: 124: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,218 INFO L290 TraceCheckUtils]: 123: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,218 INFO L272 TraceCheckUtils]: 122: Hoare triple {20465#(<= 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)); {20029#true} is VALID [2022-04-28 05:49:35,219 INFO L284 TraceCheckUtils]: 121: Hoare quadruple {20029#true} {20465#(<= main_~b~0 main_~c~0)} #95#return; {20465#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 05:49:35,219 INFO L290 TraceCheckUtils]: 120: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,219 INFO L290 TraceCheckUtils]: 119: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,219 INFO L290 TraceCheckUtils]: 118: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,219 INFO L272 TraceCheckUtils]: 117: Hoare triple {20465#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,220 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {20029#true} {20465#(<= main_~b~0 main_~c~0)} #93#return; {20465#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 05:49:35,220 INFO L290 TraceCheckUtils]: 115: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,220 INFO L290 TraceCheckUtils]: 114: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,220 INFO L290 TraceCheckUtils]: 113: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,220 INFO L272 TraceCheckUtils]: 112: Hoare triple {20465#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,220 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {20029#true} {20465#(<= main_~b~0 main_~c~0)} #91#return; {20465#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 05:49:35,220 INFO L290 TraceCheckUtils]: 110: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,220 INFO L290 TraceCheckUtils]: 109: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,220 INFO L290 TraceCheckUtils]: 108: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,221 INFO L272 TraceCheckUtils]: 107: Hoare triple {20465#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,221 INFO L290 TraceCheckUtils]: 106: Hoare triple {20465#(<= main_~b~0 main_~c~0)} assume !false; {20465#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 05:49:35,222 INFO L290 TraceCheckUtils]: 105: Hoare triple {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {20465#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 05:49:35,223 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {20029#true} {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #97#return; {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 05:49:35,223 INFO L290 TraceCheckUtils]: 103: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,223 INFO L290 TraceCheckUtils]: 102: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,223 INFO L290 TraceCheckUtils]: 101: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,223 INFO L272 TraceCheckUtils]: 100: Hoare triple {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,224 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {20029#true} {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #95#return; {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 05:49:35,224 INFO L290 TraceCheckUtils]: 98: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,224 INFO L290 TraceCheckUtils]: 97: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,224 INFO L290 TraceCheckUtils]: 96: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,224 INFO L272 TraceCheckUtils]: 95: Hoare triple {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,224 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {20029#true} {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #93#return; {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 05:49:35,225 INFO L290 TraceCheckUtils]: 93: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,225 INFO L290 TraceCheckUtils]: 92: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,225 INFO L290 TraceCheckUtils]: 91: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,225 INFO L272 TraceCheckUtils]: 90: Hoare triple {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,225 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {20029#true} {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #91#return; {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 05:49:35,225 INFO L290 TraceCheckUtils]: 88: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,225 INFO L290 TraceCheckUtils]: 87: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,225 INFO L290 TraceCheckUtils]: 86: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,226 INFO L272 TraceCheckUtils]: 85: Hoare triple {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,226 INFO L290 TraceCheckUtils]: 84: Hoare triple {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} assume !false; {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 05:49:35,227 INFO L290 TraceCheckUtils]: 83: Hoare triple {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 05:49:35,227 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {20029#true} {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #97#return; {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-28 05:49:35,227 INFO L290 TraceCheckUtils]: 81: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,227 INFO L290 TraceCheckUtils]: 80: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,228 INFO L290 TraceCheckUtils]: 79: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,228 INFO L272 TraceCheckUtils]: 78: Hoare triple {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,228 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {20029#true} {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #95#return; {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-28 05:49:35,228 INFO L290 TraceCheckUtils]: 76: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,228 INFO L290 TraceCheckUtils]: 75: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,228 INFO L290 TraceCheckUtils]: 74: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,228 INFO L272 TraceCheckUtils]: 73: Hoare triple {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,229 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {20029#true} {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #93#return; {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-28 05:49:35,229 INFO L290 TraceCheckUtils]: 71: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,229 INFO L290 TraceCheckUtils]: 70: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,229 INFO L290 TraceCheckUtils]: 69: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,229 INFO L272 TraceCheckUtils]: 68: Hoare triple {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,230 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {20029#true} {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #91#return; {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-28 05:49:35,230 INFO L290 TraceCheckUtils]: 66: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,230 INFO L290 TraceCheckUtils]: 65: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,230 INFO L290 TraceCheckUtils]: 64: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,230 INFO L272 TraceCheckUtils]: 63: Hoare triple {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,230 INFO L290 TraceCheckUtils]: 62: Hoare triple {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} assume !false; {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-28 05:49:35,231 INFO L290 TraceCheckUtils]: 61: Hoare triple {20155#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-28 05:49:35,232 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #97#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 05:49:35,232 INFO L290 TraceCheckUtils]: 59: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,232 INFO L290 TraceCheckUtils]: 58: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,232 INFO L290 TraceCheckUtils]: 57: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,232 INFO L272 TraceCheckUtils]: 56: Hoare triple {20155#(<= main_~c~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)); {20029#true} is VALID [2022-04-28 05:49:35,233 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #95#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 05:49:35,233 INFO L290 TraceCheckUtils]: 54: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,233 INFO L290 TraceCheckUtils]: 53: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,233 INFO L290 TraceCheckUtils]: 52: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,233 INFO L272 TraceCheckUtils]: 51: Hoare triple {20155#(<= main_~c~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,234 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #93#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 05:49:35,234 INFO L290 TraceCheckUtils]: 49: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,234 INFO L290 TraceCheckUtils]: 48: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,234 INFO L290 TraceCheckUtils]: 47: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,234 INFO L272 TraceCheckUtils]: 46: Hoare triple {20155#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,234 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #91#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 05:49:35,234 INFO L290 TraceCheckUtils]: 44: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,235 INFO L290 TraceCheckUtils]: 43: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,235 INFO L290 TraceCheckUtils]: 42: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,235 INFO L272 TraceCheckUtils]: 41: Hoare triple {20155#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,235 INFO L290 TraceCheckUtils]: 40: Hoare triple {20155#(<= main_~c~0 2)} assume !false; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 05:49:35,235 INFO L290 TraceCheckUtils]: 39: Hoare triple {20118#(<= main_~a~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 05:49:35,236 INFO L290 TraceCheckUtils]: 38: Hoare triple {20118#(<= main_~a~0 2)} assume !false; {20118#(<= main_~a~0 2)} is VALID [2022-04-28 05:49:35,236 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {20029#true} {20118#(<= main_~a~0 2)} #89#return; {20118#(<= main_~a~0 2)} is VALID [2022-04-28 05:49:35,236 INFO L290 TraceCheckUtils]: 36: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,236 INFO L290 TraceCheckUtils]: 35: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,236 INFO L290 TraceCheckUtils]: 34: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,236 INFO L272 TraceCheckUtils]: 33: Hoare triple {20118#(<= main_~a~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,237 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20029#true} {20118#(<= main_~a~0 2)} #87#return; {20118#(<= main_~a~0 2)} is VALID [2022-04-28 05:49:35,237 INFO L290 TraceCheckUtils]: 31: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,237 INFO L290 TraceCheckUtils]: 30: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,237 INFO L290 TraceCheckUtils]: 29: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,237 INFO L272 TraceCheckUtils]: 28: Hoare triple {20118#(<= main_~a~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,237 INFO L290 TraceCheckUtils]: 27: Hoare triple {20768#(<= main_~x~0 2)} ~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; {20118#(<= main_~a~0 2)} is VALID [2022-04-28 05:49:35,238 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20029#true} {20768#(<= main_~x~0 2)} #85#return; {20768#(<= main_~x~0 2)} is VALID [2022-04-28 05:49:35,238 INFO L290 TraceCheckUtils]: 25: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,238 INFO L290 TraceCheckUtils]: 24: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,238 INFO L290 TraceCheckUtils]: 23: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,238 INFO L272 TraceCheckUtils]: 22: Hoare triple {20768#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,238 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20029#true} {20768#(<= main_~x~0 2)} #83#return; {20768#(<= main_~x~0 2)} is VALID [2022-04-28 05:49:35,238 INFO L290 TraceCheckUtils]: 20: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,239 INFO L290 TraceCheckUtils]: 19: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,239 INFO L290 TraceCheckUtils]: 18: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,239 INFO L272 TraceCheckUtils]: 17: Hoare triple {20768#(<= main_~x~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,239 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20029#true} {20768#(<= main_~x~0 2)} #81#return; {20768#(<= main_~x~0 2)} is VALID [2022-04-28 05:49:35,239 INFO L290 TraceCheckUtils]: 15: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,239 INFO L290 TraceCheckUtils]: 14: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 05:49:35,239 INFO L290 TraceCheckUtils]: 13: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 05:49:35,239 INFO L272 TraceCheckUtils]: 12: Hoare triple {20768#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,240 INFO L290 TraceCheckUtils]: 11: Hoare triple {20768#(<= main_~x~0 2)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20768#(<= main_~x~0 2)} is VALID [2022-04-28 05:49:35,240 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20059#(not (= |assume_abort_if_not_#in~cond| 0))} {20029#true} #79#return; {20768#(<= main_~x~0 2)} is VALID [2022-04-28 05:49:35,240 INFO L290 TraceCheckUtils]: 9: Hoare triple {20059#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {20059#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:49:35,241 INFO L290 TraceCheckUtils]: 8: Hoare triple {20829#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {20059#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:49:35,241 INFO L290 TraceCheckUtils]: 7: Hoare triple {20029#true} ~cond := #in~cond; {20829#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 05:49:35,241 INFO L272 TraceCheckUtils]: 6: Hoare triple {20029#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {20029#true} is VALID [2022-04-28 05:49:35,241 INFO L290 TraceCheckUtils]: 5: Hoare triple {20029#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; {20029#true} is VALID [2022-04-28 05:49:35,241 INFO L272 TraceCheckUtils]: 4: Hoare triple {20029#true} call #t~ret6 := main(); {20029#true} is VALID [2022-04-28 05:49:35,241 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20029#true} {20029#true} #103#return; {20029#true} is VALID [2022-04-28 05:49:35,241 INFO L290 TraceCheckUtils]: 2: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 05:49:35,241 INFO L290 TraceCheckUtils]: 1: Hoare triple {20029#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); {20029#true} is VALID [2022-04-28 05:49:35,242 INFO L272 TraceCheckUtils]: 0: Hoare triple {20029#true} call ULTIMATE.init(); {20029#true} is VALID [2022-04-28 05:49:35,242 INFO L134 CoverageAnalysis]: Checked inductivity of 610 backedges. 34 proven. 51 refuted. 0 times theorem prover too weak. 525 trivial. 0 not checked. [2022-04-28 05:49:35,242 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:49:35,242 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2066038395] [2022-04-28 05:49:35,242 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:49:35,242 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [949316979] [2022-04-28 05:49:35,242 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [949316979] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:49:35,242 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:49:35,242 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2022-04-28 05:49:35,243 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:49:35,243 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [964477835] [2022-04-28 05:49:35,243 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [964477835] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:49:35,243 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:49:35,243 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 05:49:35,243 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1017139056] [2022-04-28 05:49:35,243 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:49:35,243 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 8 states have call successors, (25), 2 states have call predecessors, (25), 2 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) Word has length 135 [2022-04-28 05:49:35,244 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:49:35,244 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 8 states have call successors, (25), 2 states have call predecessors, (25), 2 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-28 05:49:35,307 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:49:35,308 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 05:49:35,308 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:49:35,308 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 05:49:35,308 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=174, Unknown=0, NotChecked=0, Total=210 [2022-04-28 05:49:35,308 INFO L87 Difference]: Start difference. First operand 193 states and 257 transitions. Second operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 8 states have call successors, (25), 2 states have call predecessors, (25), 2 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-28 05:49:36,891 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:49:36,892 INFO L93 Difference]: Finished difference Result 234 states and 309 transitions. [2022-04-28 05:49:36,892 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 05:49:36,892 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 8 states have call successors, (25), 2 states have call predecessors, (25), 2 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) Word has length 135 [2022-04-28 05:49:36,892 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:49:36,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 8 states have call successors, (25), 2 states have call predecessors, (25), 2 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-28 05:49:36,894 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 118 transitions. [2022-04-28 05:49:36,894 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 8 states have call successors, (25), 2 states have call predecessors, (25), 2 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-28 05:49:36,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 118 transitions. [2022-04-28 05:49:36,895 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 118 transitions. [2022-04-28 05:49:37,030 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:49:37,033 INFO L225 Difference]: With dead ends: 234 [2022-04-28 05:49:37,033 INFO L226 Difference]: Without dead ends: 165 [2022-04-28 05:49:37,034 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 276 GetRequests, 255 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=91, Invalid=371, Unknown=0, NotChecked=0, Total=462 [2022-04-28 05:49:37,034 INFO L413 NwaCegarLoop]: 65 mSDtfsCounter, 27 mSDsluCounter, 231 mSDsCounter, 0 mSdLazyCounter, 337 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 296 SdHoareTripleChecker+Invalid, 386 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 337 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 05:49:37,034 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 296 Invalid, 386 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 337 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 05:49:37,035 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 165 states. [2022-04-28 05:49:37,499 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 165 to 132. [2022-04-28 05:49:37,499 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:49:37,499 INFO L82 GeneralOperation]: Start isEquivalent. First operand 165 states. Second operand has 132 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 72 states have internal predecessors, (76), 46 states have call successors, (46), 15 states have call predecessors, (46), 14 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:49:37,500 INFO L74 IsIncluded]: Start isIncluded. First operand 165 states. Second operand has 132 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 72 states have internal predecessors, (76), 46 states have call successors, (46), 15 states have call predecessors, (46), 14 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:49:37,500 INFO L87 Difference]: Start difference. First operand 165 states. Second operand has 132 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 72 states have internal predecessors, (76), 46 states have call successors, (46), 15 states have call predecessors, (46), 14 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:49:37,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:49:37,504 INFO L93 Difference]: Finished difference Result 165 states and 209 transitions. [2022-04-28 05:49:37,504 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 209 transitions. [2022-04-28 05:49:37,504 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:49:37,505 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:49:37,505 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 72 states have internal predecessors, (76), 46 states have call successors, (46), 15 states have call predecessors, (46), 14 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 165 states. [2022-04-28 05:49:37,505 INFO L87 Difference]: Start difference. First operand has 132 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 72 states have internal predecessors, (76), 46 states have call successors, (46), 15 states have call predecessors, (46), 14 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 165 states. [2022-04-28 05:49:37,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:49:37,511 INFO L93 Difference]: Finished difference Result 165 states and 209 transitions. [2022-04-28 05:49:37,511 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 209 transitions. [2022-04-28 05:49:37,511 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:49:37,512 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:49:37,512 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:49:37,512 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:49:37,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 72 states have internal predecessors, (76), 46 states have call successors, (46), 15 states have call predecessors, (46), 14 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 05:49:37,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 166 transitions. [2022-04-28 05:49:37,515 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 166 transitions. Word has length 135 [2022-04-28 05:49:37,515 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:49:37,515 INFO L495 AbstractCegarLoop]: Abstraction has 132 states and 166 transitions. [2022-04-28 05:49:37,515 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 8 states have call successors, (25), 2 states have call predecessors, (25), 2 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-28 05:49:37,515 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 166 transitions. [2022-04-28 05:49:37,942 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 166 edges. 166 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:49:37,942 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 166 transitions. [2022-04-28 05:49:37,943 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 139 [2022-04-28 05:49:37,943 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:49:37,943 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 6, 6, 6, 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, 1, 1, 1, 1, 1] [2022-04-28 05:49:37,959 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:49:38,143 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:49:38,143 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:49:38,144 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:49:38,144 INFO L85 PathProgramCache]: Analyzing trace with hash -896647763, now seen corresponding path program 9 times [2022-04-28 05:49:38,144 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:49:38,144 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1620816301] [2022-04-28 05:49:38,144 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:49:38,144 INFO L85 PathProgramCache]: Analyzing trace with hash -896647763, now seen corresponding path program 10 times [2022-04-28 05:49:38,144 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:49:38,144 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1376918948] [2022-04-28 05:49:38,145 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:49:38,145 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:49:38,155 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:49:38,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2095334452] [2022-04-28 05:49:38,156 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:49:38,156 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:49:38,156 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:49:38,157 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:49:38,170 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:49:38,235 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:49:38,235 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:49:38,236 INFO L263 TraceCheckSpWp]: Trace formula consists of 294 conjuncts, 83 conjunts are in the unsatisfiable core [2022-04-28 05:49:38,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:49:38,260 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:50:01,483 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:50:07,521 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:50:07,552 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:50:08,511 INFO L272 TraceCheckUtils]: 0: Hoare triple {21929#true} call ULTIMATE.init(); {21929#true} is VALID [2022-04-28 05:50:08,511 INFO L290 TraceCheckUtils]: 1: Hoare triple {21929#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); {21929#true} is VALID [2022-04-28 05:50:08,512 INFO L290 TraceCheckUtils]: 2: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:50:08,512 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21929#true} {21929#true} #103#return; {21929#true} is VALID [2022-04-28 05:50:08,512 INFO L272 TraceCheckUtils]: 4: Hoare triple {21929#true} call #t~ret6 := main(); {21929#true} is VALID [2022-04-28 05:50:08,512 INFO L290 TraceCheckUtils]: 5: Hoare triple {21929#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; {21929#true} is VALID [2022-04-28 05:50:08,512 INFO L272 TraceCheckUtils]: 6: Hoare triple {21929#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:50:08,512 INFO L290 TraceCheckUtils]: 7: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:50:08,512 INFO L290 TraceCheckUtils]: 8: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:50:08,512 INFO L290 TraceCheckUtils]: 9: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:50:08,512 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21929#true} {21929#true} #79#return; {21929#true} is VALID [2022-04-28 05:50:08,512 INFO L290 TraceCheckUtils]: 11: Hoare triple {21929#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {21929#true} is VALID [2022-04-28 05:50:08,512 INFO L272 TraceCheckUtils]: 12: Hoare triple {21929#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:50:08,513 INFO L290 TraceCheckUtils]: 13: Hoare triple {21929#true} ~cond := #in~cond; {21973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:50:08,513 INFO L290 TraceCheckUtils]: 14: Hoare triple {21973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {21977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:50:08,513 INFO L290 TraceCheckUtils]: 15: Hoare triple {21977#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {21977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:50:08,514 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {21977#(not (= |assume_abort_if_not_#in~cond| 0))} {21929#true} #81#return; {21984#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:50:08,514 INFO L272 TraceCheckUtils]: 17: Hoare triple {21984#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:50:08,514 INFO L290 TraceCheckUtils]: 18: Hoare triple {21929#true} ~cond := #in~cond; {21973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:50:08,514 INFO L290 TraceCheckUtils]: 19: Hoare triple {21973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {21977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:50:08,515 INFO L290 TraceCheckUtils]: 20: Hoare triple {21977#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {21977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:50:08,515 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {21977#(not (= |assume_abort_if_not_#in~cond| 0))} {21984#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #83#return; {22000#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:50:08,515 INFO L272 TraceCheckUtils]: 22: Hoare triple {22000#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:50:08,515 INFO L290 TraceCheckUtils]: 23: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:50:08,516 INFO L290 TraceCheckUtils]: 24: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:50:08,516 INFO L290 TraceCheckUtils]: 25: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:50:08,516 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {21929#true} {22000#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} #85#return; {22000#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:50:08,516 INFO L290 TraceCheckUtils]: 27: Hoare triple {22000#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} ~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; {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:50:08,517 INFO L272 TraceCheckUtils]: 28: Hoare triple {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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)); {21929#true} is VALID [2022-04-28 05:50:08,517 INFO L290 TraceCheckUtils]: 29: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:50:08,517 INFO L290 TraceCheckUtils]: 30: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:50:08,517 INFO L290 TraceCheckUtils]: 31: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:50:08,517 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {21929#true} {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #87#return; {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:50:08,517 INFO L272 TraceCheckUtils]: 33: Hoare triple {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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)); {21929#true} is VALID [2022-04-28 05:50:08,518 INFO L290 TraceCheckUtils]: 34: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:50:08,518 INFO L290 TraceCheckUtils]: 35: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:50:08,518 INFO L290 TraceCheckUtils]: 36: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:50:08,518 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {21929#true} {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #89#return; {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:50:08,519 INFO L290 TraceCheckUtils]: 38: Hoare triple {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:50:08,519 INFO L290 TraceCheckUtils]: 39: Hoare triple {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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; {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:50:08,520 INFO L290 TraceCheckUtils]: 40: Hoare triple {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 !false; {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:50:08,520 INFO L272 TraceCheckUtils]: 41: Hoare triple {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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)); {21929#true} is VALID [2022-04-28 05:50:08,520 INFO L290 TraceCheckUtils]: 42: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:50:08,520 INFO L290 TraceCheckUtils]: 43: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:50:08,520 INFO L290 TraceCheckUtils]: 44: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:50:08,520 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {21929#true} {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #91#return; {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:50:08,521 INFO L272 TraceCheckUtils]: 46: Hoare triple {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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)); {21929#true} is VALID [2022-04-28 05:50:08,521 INFO L290 TraceCheckUtils]: 47: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:50:08,521 INFO L290 TraceCheckUtils]: 48: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:50:08,521 INFO L290 TraceCheckUtils]: 49: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:50:08,521 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {21929#true} {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #93#return; {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:50:08,522 INFO L272 TraceCheckUtils]: 51: Hoare triple {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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)); {21929#true} is VALID [2022-04-28 05:50:08,522 INFO L290 TraceCheckUtils]: 52: Hoare triple {21929#true} ~cond := #in~cond; {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:50:08,522 INFO L290 TraceCheckUtils]: 53: Hoare triple {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:08,522 INFO L290 TraceCheckUtils]: 54: Hoare triple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:08,523 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #95#return; {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:50:08,523 INFO L272 TraceCheckUtils]: 56: Hoare triple {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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)); {21929#true} is VALID [2022-04-28 05:50:08,523 INFO L290 TraceCheckUtils]: 57: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:50:08,523 INFO L290 TraceCheckUtils]: 58: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:50:08,523 INFO L290 TraceCheckUtils]: 59: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:50:08,524 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {21929#true} {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #97#return; {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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:50:08,524 INFO L290 TraceCheckUtils]: 61: Hoare triple {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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); {22125#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (< main_~c~0 main_~b~0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:50:08,525 INFO L290 TraceCheckUtils]: 62: Hoare triple {22125#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (< main_~c~0 main_~b~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; {22129#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 05:50:08,525 INFO L290 TraceCheckUtils]: 63: Hoare triple {22129#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} assume !false; {22129#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 05:50:08,526 INFO L290 TraceCheckUtils]: 64: Hoare triple {22129#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 05:50:08,526 INFO L290 TraceCheckUtils]: 65: Hoare triple {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} assume !false; {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 05:50:08,526 INFO L272 TraceCheckUtils]: 66: Hoare triple {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:50:08,526 INFO L290 TraceCheckUtils]: 67: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:50:08,527 INFO L290 TraceCheckUtils]: 68: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:50:08,527 INFO L290 TraceCheckUtils]: 69: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:50:08,528 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {21929#true} {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} #91#return; {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 05:50:08,528 INFO L272 TraceCheckUtils]: 71: Hoare triple {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:50:08,528 INFO L290 TraceCheckUtils]: 72: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:50:08,528 INFO L290 TraceCheckUtils]: 73: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:50:08,528 INFO L290 TraceCheckUtils]: 74: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:50:08,529 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {21929#true} {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} #93#return; {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 05:50:08,529 INFO L272 TraceCheckUtils]: 76: Hoare triple {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:50:08,529 INFO L290 TraceCheckUtils]: 77: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:50:08,529 INFO L290 TraceCheckUtils]: 78: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:50:08,529 INFO L290 TraceCheckUtils]: 79: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:50:08,530 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {21929#true} {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} #95#return; {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 05:50:08,531 INFO L272 TraceCheckUtils]: 81: Hoare triple {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~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)); {21929#true} is VALID [2022-04-28 05:50:08,531 INFO L290 TraceCheckUtils]: 82: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:50:08,531 INFO L290 TraceCheckUtils]: 83: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:50:08,531 INFO L290 TraceCheckUtils]: 84: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:50:08,532 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {21929#true} {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} #97#return; {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 05:50:08,534 INFO L290 TraceCheckUtils]: 86: Hoare triple {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 05:50:08,534 INFO L290 TraceCheckUtils]: 87: Hoare triple {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} assume !false; {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 05:50:08,535 INFO L272 TraceCheckUtils]: 88: Hoare triple {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:50:08,535 INFO L290 TraceCheckUtils]: 89: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:50:08,535 INFO L290 TraceCheckUtils]: 90: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:50:08,535 INFO L290 TraceCheckUtils]: 91: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:50:08,536 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {21929#true} {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} #91#return; {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 05:50:08,536 INFO L272 TraceCheckUtils]: 93: Hoare triple {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:50:08,536 INFO L290 TraceCheckUtils]: 94: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:50:08,536 INFO L290 TraceCheckUtils]: 95: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:50:08,536 INFO L290 TraceCheckUtils]: 96: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:50:08,537 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {21929#true} {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} #93#return; {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 05:50:08,537 INFO L272 TraceCheckUtils]: 98: Hoare triple {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:50:08,537 INFO L290 TraceCheckUtils]: 99: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:50:08,537 INFO L290 TraceCheckUtils]: 100: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:50:08,537 INFO L290 TraceCheckUtils]: 101: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:50:08,538 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {21929#true} {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} #95#return; {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 05:50:08,538 INFO L272 TraceCheckUtils]: 103: Hoare triple {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~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)); {21929#true} is VALID [2022-04-28 05:50:08,538 INFO L290 TraceCheckUtils]: 104: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:50:08,538 INFO L290 TraceCheckUtils]: 105: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:50:08,538 INFO L290 TraceCheckUtils]: 106: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:50:08,539 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {21929#true} {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} #97#return; {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 05:50:08,540 INFO L290 TraceCheckUtils]: 108: Hoare triple {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {22270#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 05:50:08,541 INFO L290 TraceCheckUtils]: 109: Hoare triple {22270#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (< main_~x~0 main_~a~0))} assume !false; {22270#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 05:50:08,541 INFO L272 TraceCheckUtils]: 110: Hoare triple {22270#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (< main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:50:08,541 INFO L290 TraceCheckUtils]: 111: Hoare triple {21929#true} ~cond := #in~cond; {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:50:08,542 INFO L290 TraceCheckUtils]: 112: Hoare triple {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:08,542 INFO L290 TraceCheckUtils]: 113: Hoare triple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:08,543 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} {22270#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (< main_~x~0 main_~a~0))} #91#return; {22289#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 05:50:08,543 INFO L272 TraceCheckUtils]: 115: Hoare triple {22289#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (< main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:50:08,543 INFO L290 TraceCheckUtils]: 116: Hoare triple {21929#true} ~cond := #in~cond; {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:50:08,543 INFO L290 TraceCheckUtils]: 117: Hoare triple {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:08,544 INFO L290 TraceCheckUtils]: 118: Hoare triple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:08,545 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} {22289#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (< main_~x~0 main_~a~0))} #93#return; {22305#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-28 05:50:08,545 INFO L272 TraceCheckUtils]: 120: Hoare triple {22305#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:50:08,546 INFO L290 TraceCheckUtils]: 121: Hoare triple {21929#true} ~cond := #in~cond; {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:50:08,546 INFO L290 TraceCheckUtils]: 122: Hoare triple {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:08,546 INFO L290 TraceCheckUtils]: 123: Hoare triple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:50:08,547 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} {22305#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} #95#return; {22321#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-28 05:50:08,547 INFO L272 TraceCheckUtils]: 125: Hoare triple {22321#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~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)); {21929#true} is VALID [2022-04-28 05:50:08,547 INFO L290 TraceCheckUtils]: 126: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:50:08,547 INFO L290 TraceCheckUtils]: 127: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:50:08,547 INFO L290 TraceCheckUtils]: 128: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:50:08,548 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {21929#true} {22321#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} #97#return; {22321#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-28 05:50:08,550 INFO L290 TraceCheckUtils]: 130: Hoare triple {22321#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} assume !(~c~0 >= ~b~0); {22340#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0))) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0))) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0))) (= main_~r~0 1))} is VALID [2022-04-28 05:50:08,556 INFO L290 TraceCheckUtils]: 131: Hoare triple {22340#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0))) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0))) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0))) (= main_~r~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; {22344#(and (<= 1 main_~x~0) (exists ((main_~k~0 Int)) (and (< main_~x~0 (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)))) (= (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0))) (= (mod (* (- 1) main_~q~0) main_~k~0) 0) (= (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0)) main_~y~0) (= main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))))) (<= main_~y~0 2) (= main_~s~0 1))} is VALID [2022-04-28 05:50:08,557 INFO L290 TraceCheckUtils]: 132: Hoare triple {22344#(and (<= 1 main_~x~0) (exists ((main_~k~0 Int)) (and (< main_~x~0 (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)))) (= (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0))) (= (mod (* (- 1) main_~q~0) main_~k~0) 0) (= (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0)) main_~y~0) (= main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))))) (<= main_~y~0 2) (= main_~s~0 1))} assume !false; {22344#(and (<= 1 main_~x~0) (exists ((main_~k~0 Int)) (and (< main_~x~0 (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)))) (= (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0))) (= (mod (* (- 1) main_~q~0) main_~k~0) 0) (= (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0)) main_~y~0) (= main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))))) (<= main_~y~0 2) (= main_~s~0 1))} is VALID [2022-04-28 05:50:08,559 INFO L290 TraceCheckUtils]: 133: Hoare triple {22344#(and (<= 1 main_~x~0) (exists ((main_~k~0 Int)) (and (< main_~x~0 (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)))) (= (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0))) (= (mod (* (- 1) main_~q~0) main_~k~0) 0) (= (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0)) main_~y~0) (= main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))))) (<= main_~y~0 2) (= main_~s~0 1))} assume !(0 != ~b~0); {22351#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (exists ((main_~k~0 Int)) (and (= (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0))) (= (mod (* (- 1) main_~q~0) main_~k~0) 0) (= (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0)) main_~y~0) (= main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))))))} is VALID [2022-04-28 05:50:08,561 INFO L272 TraceCheckUtils]: 134: Hoare triple {22351#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (exists ((main_~k~0 Int)) (and (= (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0))) (= (mod (* (- 1) main_~q~0) main_~k~0) 0) (= (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0)) main_~y~0) (= main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))))))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {22355#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:50:08,561 INFO L290 TraceCheckUtils]: 135: Hoare triple {22355#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22359#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:50:08,562 INFO L290 TraceCheckUtils]: 136: Hoare triple {22359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21930#false} is VALID [2022-04-28 05:50:08,562 INFO L290 TraceCheckUtils]: 137: Hoare triple {21930#false} assume !false; {21930#false} is VALID [2022-04-28 05:50:08,562 INFO L134 CoverageAnalysis]: Checked inductivity of 615 backedges. 139 proven. 104 refuted. 0 times theorem prover too weak. 372 trivial. 0 not checked. [2022-04-28 05:50:08,563 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:51:58,924 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:52:28,534 INFO L290 TraceCheckUtils]: 137: Hoare triple {21930#false} assume !false; {21930#false} is VALID [2022-04-28 05:52:28,535 INFO L290 TraceCheckUtils]: 136: Hoare triple {22359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21930#false} is VALID [2022-04-28 05:52:28,535 INFO L290 TraceCheckUtils]: 135: Hoare triple {22355#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22359#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:52:28,536 INFO L272 TraceCheckUtils]: 134: Hoare triple {22375#(= (+ (* 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)); {22355#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:52:28,536 INFO L290 TraceCheckUtils]: 133: Hoare triple {22379#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {22375#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-28 05:52:28,537 INFO L290 TraceCheckUtils]: 132: Hoare triple {22379#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !false; {22379#(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:52:29,092 INFO L290 TraceCheckUtils]: 131: Hoare triple {22386#(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; {22379#(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:52:29,092 INFO L290 TraceCheckUtils]: 130: Hoare triple {22390#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !(~c~0 >= ~b~0); {22386#(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:52:29,093 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {21929#true} {22390#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #97#return; {22390#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 05:52:29,093 INFO L290 TraceCheckUtils]: 128: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,093 INFO L290 TraceCheckUtils]: 127: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:52:29,093 INFO L290 TraceCheckUtils]: 126: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:52:29,094 INFO L272 TraceCheckUtils]: 125: Hoare triple {22390#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:52:29,094 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} {22409#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #95#return; {22390#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 05:52:29,095 INFO L290 TraceCheckUtils]: 123: Hoare triple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:52:29,095 INFO L290 TraceCheckUtils]: 122: Hoare triple {22419#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:52:29,099 INFO L290 TraceCheckUtils]: 121: Hoare triple {21929#true} ~cond := #in~cond; {22419#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:52:29,099 INFO L272 TraceCheckUtils]: 120: Hoare triple {22409#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:52:29,101 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} {22426#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #93#return; {22409#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 05:52:29,101 INFO L290 TraceCheckUtils]: 118: Hoare triple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:52:29,101 INFO L290 TraceCheckUtils]: 117: Hoare triple {22419#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:52:29,102 INFO L290 TraceCheckUtils]: 116: Hoare triple {21929#true} ~cond := #in~cond; {22419#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:52:29,102 INFO L272 TraceCheckUtils]: 115: Hoare triple {22426#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:52:29,157 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} {21929#true} #91#return; {22426#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 05:52:29,158 INFO L290 TraceCheckUtils]: 113: Hoare triple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:52:29,158 INFO L290 TraceCheckUtils]: 112: Hoare triple {22419#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:52:29,158 INFO L290 TraceCheckUtils]: 111: Hoare triple {21929#true} ~cond := #in~cond; {22419#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:52:29,159 INFO L272 TraceCheckUtils]: 110: Hoare triple {21929#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:52:29,159 INFO L290 TraceCheckUtils]: 109: Hoare triple {21929#true} assume !false; {21929#true} is VALID [2022-04-28 05:52:29,159 INFO L290 TraceCheckUtils]: 108: Hoare triple {21929#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {21929#true} is VALID [2022-04-28 05:52:29,159 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {21929#true} {21929#true} #97#return; {21929#true} is VALID [2022-04-28 05:52:29,159 INFO L290 TraceCheckUtils]: 106: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,159 INFO L290 TraceCheckUtils]: 105: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:52:29,159 INFO L290 TraceCheckUtils]: 104: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:52:29,159 INFO L272 TraceCheckUtils]: 103: Hoare triple {21929#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)); {21929#true} is VALID [2022-04-28 05:52:29,159 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {21929#true} {21929#true} #95#return; {21929#true} is VALID [2022-04-28 05:52:29,159 INFO L290 TraceCheckUtils]: 101: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,159 INFO L290 TraceCheckUtils]: 100: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:52:29,159 INFO L290 TraceCheckUtils]: 99: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:52:29,159 INFO L272 TraceCheckUtils]: 98: Hoare triple {21929#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:52:29,160 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {21929#true} {21929#true} #93#return; {21929#true} is VALID [2022-04-28 05:52:29,160 INFO L290 TraceCheckUtils]: 96: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,160 INFO L290 TraceCheckUtils]: 95: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:52:29,160 INFO L290 TraceCheckUtils]: 94: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:52:29,160 INFO L272 TraceCheckUtils]: 93: Hoare triple {21929#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:52:29,160 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {21929#true} {21929#true} #91#return; {21929#true} is VALID [2022-04-28 05:52:29,160 INFO L290 TraceCheckUtils]: 91: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,160 INFO L290 TraceCheckUtils]: 90: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:52:29,160 INFO L290 TraceCheckUtils]: 89: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:52:29,160 INFO L272 TraceCheckUtils]: 88: Hoare triple {21929#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:52:29,160 INFO L290 TraceCheckUtils]: 87: Hoare triple {21929#true} assume !false; {21929#true} is VALID [2022-04-28 05:52:29,160 INFO L290 TraceCheckUtils]: 86: Hoare triple {21929#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {21929#true} is VALID [2022-04-28 05:52:29,160 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {21929#true} {21929#true} #97#return; {21929#true} is VALID [2022-04-28 05:52:29,160 INFO L290 TraceCheckUtils]: 84: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,160 INFO L290 TraceCheckUtils]: 83: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:52:29,161 INFO L290 TraceCheckUtils]: 82: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:52:29,161 INFO L272 TraceCheckUtils]: 81: Hoare triple {21929#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)); {21929#true} is VALID [2022-04-28 05:52:29,161 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {21929#true} {21929#true} #95#return; {21929#true} is VALID [2022-04-28 05:52:29,161 INFO L290 TraceCheckUtils]: 79: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,161 INFO L290 TraceCheckUtils]: 78: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:52:29,161 INFO L290 TraceCheckUtils]: 77: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:52:29,161 INFO L272 TraceCheckUtils]: 76: Hoare triple {21929#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:52:29,161 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {21929#true} {21929#true} #93#return; {21929#true} is VALID [2022-04-28 05:52:29,161 INFO L290 TraceCheckUtils]: 74: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,161 INFO L290 TraceCheckUtils]: 73: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:52:29,161 INFO L290 TraceCheckUtils]: 72: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:52:29,161 INFO L272 TraceCheckUtils]: 71: Hoare triple {21929#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:52:29,161 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {21929#true} {21929#true} #91#return; {21929#true} is VALID [2022-04-28 05:52:29,161 INFO L290 TraceCheckUtils]: 69: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,161 INFO L290 TraceCheckUtils]: 68: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:52:29,162 INFO L290 TraceCheckUtils]: 67: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:52:29,162 INFO L272 TraceCheckUtils]: 66: Hoare triple {21929#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:52:29,162 INFO L290 TraceCheckUtils]: 65: Hoare triple {21929#true} assume !false; {21929#true} is VALID [2022-04-28 05:52:29,162 INFO L290 TraceCheckUtils]: 64: Hoare triple {21929#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {21929#true} is VALID [2022-04-28 05:52:29,162 INFO L290 TraceCheckUtils]: 63: Hoare triple {21929#true} assume !false; {21929#true} is VALID [2022-04-28 05:52:29,162 INFO L290 TraceCheckUtils]: 62: Hoare triple {21929#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; {21929#true} is VALID [2022-04-28 05:52:29,162 INFO L290 TraceCheckUtils]: 61: Hoare triple {21929#true} assume !(~c~0 >= ~b~0); {21929#true} is VALID [2022-04-28 05:52:29,162 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {21929#true} {21929#true} #97#return; {21929#true} is VALID [2022-04-28 05:52:29,162 INFO L290 TraceCheckUtils]: 59: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,162 INFO L290 TraceCheckUtils]: 58: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:52:29,162 INFO L290 TraceCheckUtils]: 57: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:52:29,162 INFO L272 TraceCheckUtils]: 56: Hoare triple {21929#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)); {21929#true} is VALID [2022-04-28 05:52:29,162 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {21929#true} {21929#true} #95#return; {21929#true} is VALID [2022-04-28 05:52:29,162 INFO L290 TraceCheckUtils]: 54: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,163 INFO L290 TraceCheckUtils]: 53: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:52:29,163 INFO L290 TraceCheckUtils]: 52: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:52:29,163 INFO L272 TraceCheckUtils]: 51: Hoare triple {21929#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:52:29,163 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {21929#true} {21929#true} #93#return; {21929#true} is VALID [2022-04-28 05:52:29,163 INFO L290 TraceCheckUtils]: 49: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,163 INFO L290 TraceCheckUtils]: 48: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:52:29,163 INFO L290 TraceCheckUtils]: 47: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:52:29,163 INFO L272 TraceCheckUtils]: 46: Hoare triple {21929#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:52:29,163 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {21929#true} {21929#true} #91#return; {21929#true} is VALID [2022-04-28 05:52:29,163 INFO L290 TraceCheckUtils]: 44: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,163 INFO L290 TraceCheckUtils]: 43: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:52:29,163 INFO L290 TraceCheckUtils]: 42: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:52:29,163 INFO L272 TraceCheckUtils]: 41: Hoare triple {21929#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:52:29,163 INFO L290 TraceCheckUtils]: 40: Hoare triple {21929#true} assume !false; {21929#true} is VALID [2022-04-28 05:52:29,164 INFO L290 TraceCheckUtils]: 39: Hoare triple {21929#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {21929#true} is VALID [2022-04-28 05:52:29,164 INFO L290 TraceCheckUtils]: 38: Hoare triple {21929#true} assume !false; {21929#true} is VALID [2022-04-28 05:52:29,164 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {21929#true} {21929#true} #89#return; {21929#true} is VALID [2022-04-28 05:52:29,164 INFO L290 TraceCheckUtils]: 36: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,164 INFO L290 TraceCheckUtils]: 35: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:52:29,164 INFO L290 TraceCheckUtils]: 34: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:52:29,164 INFO L272 TraceCheckUtils]: 33: Hoare triple {21929#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:52:29,164 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {21929#true} {21929#true} #87#return; {21929#true} is VALID [2022-04-28 05:52:29,164 INFO L290 TraceCheckUtils]: 31: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,164 INFO L290 TraceCheckUtils]: 30: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:52:29,164 INFO L290 TraceCheckUtils]: 29: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:52:29,164 INFO L272 TraceCheckUtils]: 28: Hoare triple {21929#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:52:29,164 INFO L290 TraceCheckUtils]: 27: Hoare triple {21929#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; {21929#true} is VALID [2022-04-28 05:52:29,164 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {21929#true} {21929#true} #85#return; {21929#true} is VALID [2022-04-28 05:52:29,164 INFO L290 TraceCheckUtils]: 25: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,165 INFO L290 TraceCheckUtils]: 24: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:52:29,165 INFO L290 TraceCheckUtils]: 23: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:52:29,165 INFO L272 TraceCheckUtils]: 22: Hoare triple {21929#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:52:29,165 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {21929#true} {21929#true} #83#return; {21929#true} is VALID [2022-04-28 05:52:29,165 INFO L290 TraceCheckUtils]: 20: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,165 INFO L290 TraceCheckUtils]: 19: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:52:29,165 INFO L290 TraceCheckUtils]: 18: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:52:29,165 INFO L272 TraceCheckUtils]: 17: Hoare triple {21929#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:52:29,165 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {21929#true} {21929#true} #81#return; {21929#true} is VALID [2022-04-28 05:52:29,165 INFO L290 TraceCheckUtils]: 15: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,165 INFO L290 TraceCheckUtils]: 14: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:52:29,165 INFO L290 TraceCheckUtils]: 13: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:52:29,165 INFO L272 TraceCheckUtils]: 12: Hoare triple {21929#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:52:29,165 INFO L290 TraceCheckUtils]: 11: Hoare triple {21929#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {21929#true} is VALID [2022-04-28 05:52:29,165 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21929#true} {21929#true} #79#return; {21929#true} is VALID [2022-04-28 05:52:29,166 INFO L290 TraceCheckUtils]: 9: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,166 INFO L290 TraceCheckUtils]: 8: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 05:52:29,166 INFO L290 TraceCheckUtils]: 7: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 05:52:29,166 INFO L272 TraceCheckUtils]: 6: Hoare triple {21929#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {21929#true} is VALID [2022-04-28 05:52:29,166 INFO L290 TraceCheckUtils]: 5: Hoare triple {21929#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; {21929#true} is VALID [2022-04-28 05:52:29,166 INFO L272 TraceCheckUtils]: 4: Hoare triple {21929#true} call #t~ret6 := main(); {21929#true} is VALID [2022-04-28 05:52:29,166 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21929#true} {21929#true} #103#return; {21929#true} is VALID [2022-04-28 05:52:29,166 INFO L290 TraceCheckUtils]: 2: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 05:52:29,166 INFO L290 TraceCheckUtils]: 1: Hoare triple {21929#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); {21929#true} is VALID [2022-04-28 05:52:29,166 INFO L272 TraceCheckUtils]: 0: Hoare triple {21929#true} call ULTIMATE.init(); {21929#true} is VALID [2022-04-28 05:52:29,167 INFO L134 CoverageAnalysis]: Checked inductivity of 615 backedges. 154 proven. 12 refuted. 0 times theorem prover too weak. 449 trivial. 0 not checked. [2022-04-28 05:52:29,167 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:52:29,167 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1376918948] [2022-04-28 05:52:29,167 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:52:29,167 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2095334452] [2022-04-28 05:52:29,167 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2095334452] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:52:29,167 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:52:29,167 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 12] total 30 [2022-04-28 05:52:29,167 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:52:29,167 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1620816301] [2022-04-28 05:52:29,167 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1620816301] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:29,168 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:29,168 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 05:52:29,168 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [471863410] [2022-04-28 05:52:29,168 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:52:29,168 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 19 states have (on average 1.894736842105263) internal successors, (36), 17 states have internal predecessors, (36), 12 states have call successors, (25), 2 states have call predecessors, (25), 3 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) Word has length 138 [2022-04-28 05:52:29,168 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:52:29,169 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 19 states have (on average 1.894736842105263) internal successors, (36), 17 states have internal predecessors, (36), 12 states have call successors, (25), 2 states have call predecessors, (25), 3 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) [2022-04-28 05:52:29,288 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:29,288 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 05:52:29,288 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:29,288 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 05:52:29,288 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=154, Invalid=716, Unknown=0, NotChecked=0, Total=870 [2022-04-28 05:52:29,289 INFO L87 Difference]: Start difference. First operand 132 states and 166 transitions. Second operand has 23 states, 19 states have (on average 1.894736842105263) internal successors, (36), 17 states have internal predecessors, (36), 12 states have call successors, (25), 2 states have call predecessors, (25), 3 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) [2022-04-28 05:52:33,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:33,370 INFO L93 Difference]: Finished difference Result 216 states and 279 transitions. [2022-04-28 05:52:33,370 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-28 05:52:33,370 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 19 states have (on average 1.894736842105263) internal successors, (36), 17 states have internal predecessors, (36), 12 states have call successors, (25), 2 states have call predecessors, (25), 3 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) Word has length 138 [2022-04-28 05:52:33,370 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:52:33,370 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 19 states have (on average 1.894736842105263) internal successors, (36), 17 states have internal predecessors, (36), 12 states have call successors, (25), 2 states have call predecessors, (25), 3 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) [2022-04-28 05:52:33,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 138 transitions. [2022-04-28 05:52:33,373 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 19 states have (on average 1.894736842105263) internal successors, (36), 17 states have internal predecessors, (36), 12 states have call successors, (25), 2 states have call predecessors, (25), 3 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) [2022-04-28 05:52:33,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 138 transitions. [2022-04-28 05:52:33,375 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 138 transitions. [2022-04-28 05:52:33,548 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:52:33,551 INFO L225 Difference]: With dead ends: 216 [2022-04-28 05:52:33,551 INFO L226 Difference]: Without dead ends: 165 [2022-04-28 05:52:33,552 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 281 GetRequests, 246 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 307 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=210, Invalid=1050, Unknown=0, NotChecked=0, Total=1260 [2022-04-28 05:52:33,553 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 42 mSDsluCounter, 257 mSDsCounter, 0 mSdLazyCounter, 792 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 299 SdHoareTripleChecker+Invalid, 922 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 47 IncrementalHoareTripleChecker+Valid, 792 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 83 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-28 05:52:33,553 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [54 Valid, 299 Invalid, 922 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [47 Valid, 792 Invalid, 0 Unknown, 83 Unchecked, 1.5s Time] [2022-04-28 05:52:33,553 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 165 states. [2022-04-28 05:52:34,155 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 165 to 165. [2022-04-28 05:52:34,155 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:52:34,155 INFO L82 GeneralOperation]: Start isEquivalent. First operand 165 states. Second operand has 165 states, 89 states have (on average 1.0674157303370786) internal successors, (95), 91 states have internal predecessors, (95), 59 states have call successors, (59), 17 states have call predecessors, (59), 16 states have return successors, (57), 56 states have call predecessors, (57), 57 states have call successors, (57) [2022-04-28 05:52:34,156 INFO L74 IsIncluded]: Start isIncluded. First operand 165 states. Second operand has 165 states, 89 states have (on average 1.0674157303370786) internal successors, (95), 91 states have internal predecessors, (95), 59 states have call successors, (59), 17 states have call predecessors, (59), 16 states have return successors, (57), 56 states have call predecessors, (57), 57 states have call successors, (57) [2022-04-28 05:52:34,156 INFO L87 Difference]: Start difference. First operand 165 states. Second operand has 165 states, 89 states have (on average 1.0674157303370786) internal successors, (95), 91 states have internal predecessors, (95), 59 states have call successors, (59), 17 states have call predecessors, (59), 16 states have return successors, (57), 56 states have call predecessors, (57), 57 states have call successors, (57) [2022-04-28 05:52:34,160 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:34,160 INFO L93 Difference]: Finished difference Result 165 states and 211 transitions. [2022-04-28 05:52:34,160 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 211 transitions. [2022-04-28 05:52:34,160 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:34,161 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:34,161 INFO L74 IsIncluded]: Start isIncluded. First operand has 165 states, 89 states have (on average 1.0674157303370786) internal successors, (95), 91 states have internal predecessors, (95), 59 states have call successors, (59), 17 states have call predecessors, (59), 16 states have return successors, (57), 56 states have call predecessors, (57), 57 states have call successors, (57) Second operand 165 states. [2022-04-28 05:52:34,161 INFO L87 Difference]: Start difference. First operand has 165 states, 89 states have (on average 1.0674157303370786) internal successors, (95), 91 states have internal predecessors, (95), 59 states have call successors, (59), 17 states have call predecessors, (59), 16 states have return successors, (57), 56 states have call predecessors, (57), 57 states have call successors, (57) Second operand 165 states. [2022-04-28 05:52:34,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:34,164 INFO L93 Difference]: Finished difference Result 165 states and 211 transitions. [2022-04-28 05:52:34,164 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 211 transitions. [2022-04-28 05:52:34,165 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:34,165 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:34,165 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:52:34,165 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:52:34,166 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 165 states, 89 states have (on average 1.0674157303370786) internal successors, (95), 91 states have internal predecessors, (95), 59 states have call successors, (59), 17 states have call predecessors, (59), 16 states have return successors, (57), 56 states have call predecessors, (57), 57 states have call successors, (57) [2022-04-28 05:52:34,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 165 states to 165 states and 211 transitions. [2022-04-28 05:52:34,169 INFO L78 Accepts]: Start accepts. Automaton has 165 states and 211 transitions. Word has length 138 [2022-04-28 05:52:34,170 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:52:34,170 INFO L495 AbstractCegarLoop]: Abstraction has 165 states and 211 transitions. [2022-04-28 05:52:34,170 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 19 states have (on average 1.894736842105263) internal successors, (36), 17 states have internal predecessors, (36), 12 states have call successors, (25), 2 states have call predecessors, (25), 3 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) [2022-04-28 05:52:34,170 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 165 states and 211 transitions. [2022-04-28 05:52:34,684 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 211 edges. 211 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:34,684 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 211 transitions. [2022-04-28 05:52:34,685 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 144 [2022-04-28 05:52:34,685 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:52:34,685 INFO L195 NwaCegarLoop]: trace histogram [18, 17, 17, 6, 6, 6, 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, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:52:34,701 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:52:34,885 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:52:34,886 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:52:34,886 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:52:34,886 INFO L85 PathProgramCache]: Analyzing trace with hash -206620137, now seen corresponding path program 1 times [2022-04-28 05:52:34,886 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:34,886 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1699227903] [2022-04-28 05:52:34,887 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:52:34,887 INFO L85 PathProgramCache]: Analyzing trace with hash -206620137, now seen corresponding path program 2 times [2022-04-28 05:52:34,887 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:52:34,887 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [530951348] [2022-04-28 05:52:34,887 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:52:34,887 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:52:34,908 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:52:34,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [654247243] [2022-04-28 05:52:34,908 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:52:34,908 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:52:34,909 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:52:34,910 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:52:34,915 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:52:34,980 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:52:34,980 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:52:34,981 INFO L263 TraceCheckSpWp]: Trace formula consists of 342 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 05:52:35,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:35,002 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:52:35,287 INFO L272 TraceCheckUtils]: 0: Hoare triple {23890#true} call ULTIMATE.init(); {23890#true} is VALID [2022-04-28 05:52:35,287 INFO L290 TraceCheckUtils]: 1: Hoare triple {23890#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); {23890#true} is VALID [2022-04-28 05:52:35,287 INFO L290 TraceCheckUtils]: 2: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,287 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23890#true} {23890#true} #103#return; {23890#true} is VALID [2022-04-28 05:52:35,288 INFO L272 TraceCheckUtils]: 4: Hoare triple {23890#true} call #t~ret6 := main(); {23890#true} is VALID [2022-04-28 05:52:35,288 INFO L290 TraceCheckUtils]: 5: Hoare triple {23890#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; {23890#true} is VALID [2022-04-28 05:52:35,288 INFO L272 TraceCheckUtils]: 6: Hoare triple {23890#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:35,288 INFO L290 TraceCheckUtils]: 7: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,288 INFO L290 TraceCheckUtils]: 8: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,288 INFO L290 TraceCheckUtils]: 9: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,288 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23890#true} {23890#true} #79#return; {23890#true} is VALID [2022-04-28 05:52:35,288 INFO L290 TraceCheckUtils]: 11: Hoare triple {23890#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23890#true} is VALID [2022-04-28 05:52:35,288 INFO L272 TraceCheckUtils]: 12: Hoare triple {23890#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:35,288 INFO L290 TraceCheckUtils]: 13: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,288 INFO L290 TraceCheckUtils]: 14: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,288 INFO L290 TraceCheckUtils]: 15: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,288 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23890#true} {23890#true} #81#return; {23890#true} is VALID [2022-04-28 05:52:35,288 INFO L272 TraceCheckUtils]: 17: Hoare triple {23890#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:35,289 INFO L290 TraceCheckUtils]: 18: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,289 INFO L290 TraceCheckUtils]: 19: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,289 INFO L290 TraceCheckUtils]: 20: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,289 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {23890#true} {23890#true} #83#return; {23890#true} is VALID [2022-04-28 05:52:35,289 INFO L272 TraceCheckUtils]: 22: Hoare triple {23890#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:35,289 INFO L290 TraceCheckUtils]: 23: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,289 INFO L290 TraceCheckUtils]: 24: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,289 INFO L290 TraceCheckUtils]: 25: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,289 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {23890#true} {23890#true} #85#return; {23890#true} is VALID [2022-04-28 05:52:35,289 INFO L290 TraceCheckUtils]: 27: Hoare triple {23890#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; {23890#true} is VALID [2022-04-28 05:52:35,289 INFO L272 TraceCheckUtils]: 28: Hoare triple {23890#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:35,289 INFO L290 TraceCheckUtils]: 29: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,289 INFO L290 TraceCheckUtils]: 30: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,289 INFO L290 TraceCheckUtils]: 31: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,289 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {23890#true} {23890#true} #87#return; {23890#true} is VALID [2022-04-28 05:52:35,290 INFO L272 TraceCheckUtils]: 33: Hoare triple {23890#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:35,290 INFO L290 TraceCheckUtils]: 34: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,290 INFO L290 TraceCheckUtils]: 35: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,290 INFO L290 TraceCheckUtils]: 36: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,290 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {23890#true} {23890#true} #89#return; {23890#true} is VALID [2022-04-28 05:52:35,290 INFO L290 TraceCheckUtils]: 38: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 05:52:35,290 INFO L290 TraceCheckUtils]: 39: Hoare triple {23890#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {23890#true} is VALID [2022-04-28 05:52:35,290 INFO L290 TraceCheckUtils]: 40: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 05:52:35,290 INFO L272 TraceCheckUtils]: 41: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:35,290 INFO L290 TraceCheckUtils]: 42: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,290 INFO L290 TraceCheckUtils]: 43: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,290 INFO L290 TraceCheckUtils]: 44: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,290 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {23890#true} {23890#true} #91#return; {23890#true} is VALID [2022-04-28 05:52:35,290 INFO L272 TraceCheckUtils]: 46: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:35,291 INFO L290 TraceCheckUtils]: 47: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,291 INFO L290 TraceCheckUtils]: 48: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,291 INFO L290 TraceCheckUtils]: 49: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,291 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {23890#true} {23890#true} #93#return; {23890#true} is VALID [2022-04-28 05:52:35,291 INFO L272 TraceCheckUtils]: 51: Hoare triple {23890#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:35,291 INFO L290 TraceCheckUtils]: 52: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,291 INFO L290 TraceCheckUtils]: 53: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,291 INFO L290 TraceCheckUtils]: 54: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,291 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {23890#true} {23890#true} #95#return; {23890#true} is VALID [2022-04-28 05:52:35,291 INFO L272 TraceCheckUtils]: 56: Hoare triple {23890#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)); {23890#true} is VALID [2022-04-28 05:52:35,291 INFO L290 TraceCheckUtils]: 57: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,292 INFO L290 TraceCheckUtils]: 58: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,292 INFO L290 TraceCheckUtils]: 59: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,292 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {23890#true} {23890#true} #97#return; {23890#true} is VALID [2022-04-28 05:52:35,292 INFO L290 TraceCheckUtils]: 61: Hoare triple {23890#true} assume !(~c~0 >= ~b~0); {23890#true} is VALID [2022-04-28 05:52:35,292 INFO L290 TraceCheckUtils]: 62: Hoare triple {23890#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; {23890#true} is VALID [2022-04-28 05:52:35,292 INFO L290 TraceCheckUtils]: 63: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 05:52:35,292 INFO L290 TraceCheckUtils]: 64: Hoare triple {23890#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {23890#true} is VALID [2022-04-28 05:52:35,292 INFO L290 TraceCheckUtils]: 65: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 05:52:35,292 INFO L272 TraceCheckUtils]: 66: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:35,293 INFO L290 TraceCheckUtils]: 67: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,293 INFO L290 TraceCheckUtils]: 68: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,293 INFO L290 TraceCheckUtils]: 69: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,293 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {23890#true} {23890#true} #91#return; {23890#true} is VALID [2022-04-28 05:52:35,293 INFO L272 TraceCheckUtils]: 71: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:35,293 INFO L290 TraceCheckUtils]: 72: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,293 INFO L290 TraceCheckUtils]: 73: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,293 INFO L290 TraceCheckUtils]: 74: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,293 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {23890#true} {23890#true} #93#return; {23890#true} is VALID [2022-04-28 05:52:35,293 INFO L272 TraceCheckUtils]: 76: Hoare triple {23890#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:35,294 INFO L290 TraceCheckUtils]: 77: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,294 INFO L290 TraceCheckUtils]: 78: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,294 INFO L290 TraceCheckUtils]: 79: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,294 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23890#true} {23890#true} #95#return; {23890#true} is VALID [2022-04-28 05:52:35,294 INFO L272 TraceCheckUtils]: 81: Hoare triple {23890#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)); {23890#true} is VALID [2022-04-28 05:52:35,294 INFO L290 TraceCheckUtils]: 82: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,294 INFO L290 TraceCheckUtils]: 83: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,294 INFO L290 TraceCheckUtils]: 84: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,294 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {23890#true} {23890#true} #97#return; {23890#true} is VALID [2022-04-28 05:52:35,294 INFO L290 TraceCheckUtils]: 86: Hoare triple {23890#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {23890#true} is VALID [2022-04-28 05:52:35,294 INFO L290 TraceCheckUtils]: 87: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 05:52:35,295 INFO L272 TraceCheckUtils]: 88: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:35,295 INFO L290 TraceCheckUtils]: 89: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,295 INFO L290 TraceCheckUtils]: 90: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,295 INFO L290 TraceCheckUtils]: 91: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,295 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {23890#true} {23890#true} #91#return; {23890#true} is VALID [2022-04-28 05:52:35,295 INFO L272 TraceCheckUtils]: 93: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:35,295 INFO L290 TraceCheckUtils]: 94: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,295 INFO L290 TraceCheckUtils]: 95: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,295 INFO L290 TraceCheckUtils]: 96: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,295 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {23890#true} {23890#true} #93#return; {23890#true} is VALID [2022-04-28 05:52:35,296 INFO L272 TraceCheckUtils]: 98: Hoare triple {23890#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:35,296 INFO L290 TraceCheckUtils]: 99: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,296 INFO L290 TraceCheckUtils]: 100: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,296 INFO L290 TraceCheckUtils]: 101: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,296 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {23890#true} {23890#true} #95#return; {23890#true} is VALID [2022-04-28 05:52:35,296 INFO L272 TraceCheckUtils]: 103: Hoare triple {23890#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)); {23890#true} is VALID [2022-04-28 05:52:35,296 INFO L290 TraceCheckUtils]: 104: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,296 INFO L290 TraceCheckUtils]: 105: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,296 INFO L290 TraceCheckUtils]: 106: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,296 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {23890#true} {23890#true} #97#return; {23890#true} is VALID [2022-04-28 05:52:35,297 INFO L290 TraceCheckUtils]: 108: Hoare triple {23890#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {23890#true} is VALID [2022-04-28 05:52:35,297 INFO L290 TraceCheckUtils]: 109: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 05:52:35,297 INFO L272 TraceCheckUtils]: 110: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:35,297 INFO L290 TraceCheckUtils]: 111: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,297 INFO L290 TraceCheckUtils]: 112: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,297 INFO L290 TraceCheckUtils]: 113: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,297 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {23890#true} {23890#true} #91#return; {23890#true} is VALID [2022-04-28 05:52:35,297 INFO L272 TraceCheckUtils]: 115: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:35,297 INFO L290 TraceCheckUtils]: 116: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,297 INFO L290 TraceCheckUtils]: 117: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,297 INFO L290 TraceCheckUtils]: 118: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,298 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {23890#true} {23890#true} #93#return; {23890#true} is VALID [2022-04-28 05:52:35,298 INFO L272 TraceCheckUtils]: 120: Hoare triple {23890#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:35,303 INFO L290 TraceCheckUtils]: 121: Hoare triple {23890#true} ~cond := #in~cond; {24258#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:52:35,303 INFO L290 TraceCheckUtils]: 122: Hoare triple {24258#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {24262#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:52:35,304 INFO L290 TraceCheckUtils]: 123: Hoare triple {24262#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24262#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:52:35,305 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {24262#(not (= |__VERIFIER_assert_#in~cond| 0))} {23890#true} #95#return; {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:52:35,305 INFO L272 TraceCheckUtils]: 125: Hoare triple {24269#(= 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)); {23890#true} is VALID [2022-04-28 05:52:35,305 INFO L290 TraceCheckUtils]: 126: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,305 INFO L290 TraceCheckUtils]: 127: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,305 INFO L290 TraceCheckUtils]: 128: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,306 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {23890#true} {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #97#return; {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:52:35,306 INFO L290 TraceCheckUtils]: 130: Hoare triple {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:52:35,306 INFO L290 TraceCheckUtils]: 131: Hoare triple {24269#(= 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; {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:52:35,307 INFO L290 TraceCheckUtils]: 132: Hoare triple {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:52:35,307 INFO L290 TraceCheckUtils]: 133: Hoare triple {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(0 != ~b~0); {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:52:35,307 INFO L272 TraceCheckUtils]: 134: Hoare triple {24291#(= 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)); {23890#true} is VALID [2022-04-28 05:52:35,307 INFO L290 TraceCheckUtils]: 135: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:35,307 INFO L290 TraceCheckUtils]: 136: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:35,307 INFO L290 TraceCheckUtils]: 137: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:35,308 INFO L284 TraceCheckUtils]: 138: Hoare quadruple {23890#true} {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #99#return; {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:52:35,309 INFO L272 TraceCheckUtils]: 139: Hoare triple {24291#(= 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)); {24316#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:52:35,309 INFO L290 TraceCheckUtils]: 140: Hoare triple {24316#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {24320#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:52:35,309 INFO L290 TraceCheckUtils]: 141: Hoare triple {24320#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23891#false} is VALID [2022-04-28 05:52:35,309 INFO L290 TraceCheckUtils]: 142: Hoare triple {23891#false} assume !false; {23891#false} is VALID [2022-04-28 05:52:35,310 INFO L134 CoverageAnalysis]: Checked inductivity of 681 backedges. 86 proven. 7 refuted. 0 times theorem prover too weak. 588 trivial. 0 not checked. [2022-04-28 05:52:35,310 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:52:47,796 INFO L290 TraceCheckUtils]: 142: Hoare triple {23891#false} assume !false; {23891#false} is VALID [2022-04-28 05:52:47,797 INFO L290 TraceCheckUtils]: 141: Hoare triple {24320#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23891#false} is VALID [2022-04-28 05:52:47,797 INFO L290 TraceCheckUtils]: 140: Hoare triple {24316#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {24320#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:52:47,798 INFO L272 TraceCheckUtils]: 139: Hoare triple {24291#(= 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)); {24316#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:52:47,798 INFO L284 TraceCheckUtils]: 138: Hoare quadruple {23890#true} {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #99#return; {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:52:47,798 INFO L290 TraceCheckUtils]: 137: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,798 INFO L290 TraceCheckUtils]: 136: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,799 INFO L290 TraceCheckUtils]: 135: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,799 INFO L272 TraceCheckUtils]: 134: Hoare triple {24291#(= 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)); {23890#true} is VALID [2022-04-28 05:52:47,799 INFO L290 TraceCheckUtils]: 133: Hoare triple {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(0 != ~b~0); {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:52:47,799 INFO L290 TraceCheckUtils]: 132: Hoare triple {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:52:47,800 INFO L290 TraceCheckUtils]: 131: Hoare triple {24269#(= 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; {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:52:47,800 INFO L290 TraceCheckUtils]: 130: Hoare triple {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:52:47,801 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {23890#true} {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #97#return; {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:52:47,801 INFO L290 TraceCheckUtils]: 128: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,801 INFO L290 TraceCheckUtils]: 127: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,801 INFO L290 TraceCheckUtils]: 126: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,801 INFO L272 TraceCheckUtils]: 125: Hoare triple {24269#(= 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)); {23890#true} is VALID [2022-04-28 05:52:47,802 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {24262#(not (= |__VERIFIER_assert_#in~cond| 0))} {23890#true} #95#return; {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:52:47,802 INFO L290 TraceCheckUtils]: 123: Hoare triple {24262#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24262#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:52:47,802 INFO L290 TraceCheckUtils]: 122: Hoare triple {24390#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {24262#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:52:47,802 INFO L290 TraceCheckUtils]: 121: Hoare triple {23890#true} ~cond := #in~cond; {24390#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:52:47,803 INFO L272 TraceCheckUtils]: 120: Hoare triple {23890#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:47,803 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {23890#true} {23890#true} #93#return; {23890#true} is VALID [2022-04-28 05:52:47,803 INFO L290 TraceCheckUtils]: 118: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,803 INFO L290 TraceCheckUtils]: 117: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,803 INFO L290 TraceCheckUtils]: 116: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,803 INFO L272 TraceCheckUtils]: 115: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:47,803 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {23890#true} {23890#true} #91#return; {23890#true} is VALID [2022-04-28 05:52:47,803 INFO L290 TraceCheckUtils]: 113: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,803 INFO L290 TraceCheckUtils]: 112: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,803 INFO L290 TraceCheckUtils]: 111: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,803 INFO L272 TraceCheckUtils]: 110: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:47,803 INFO L290 TraceCheckUtils]: 109: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 05:52:47,803 INFO L290 TraceCheckUtils]: 108: Hoare triple {23890#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {23890#true} is VALID [2022-04-28 05:52:47,804 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {23890#true} {23890#true} #97#return; {23890#true} is VALID [2022-04-28 05:52:47,804 INFO L290 TraceCheckUtils]: 106: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,804 INFO L290 TraceCheckUtils]: 105: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,804 INFO L290 TraceCheckUtils]: 104: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,804 INFO L272 TraceCheckUtils]: 103: Hoare triple {23890#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)); {23890#true} is VALID [2022-04-28 05:52:47,804 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {23890#true} {23890#true} #95#return; {23890#true} is VALID [2022-04-28 05:52:47,804 INFO L290 TraceCheckUtils]: 101: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,804 INFO L290 TraceCheckUtils]: 100: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,804 INFO L290 TraceCheckUtils]: 99: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,804 INFO L272 TraceCheckUtils]: 98: Hoare triple {23890#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:47,804 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {23890#true} {23890#true} #93#return; {23890#true} is VALID [2022-04-28 05:52:47,804 INFO L290 TraceCheckUtils]: 96: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,804 INFO L290 TraceCheckUtils]: 95: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,804 INFO L290 TraceCheckUtils]: 94: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,804 INFO L272 TraceCheckUtils]: 93: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:47,805 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {23890#true} {23890#true} #91#return; {23890#true} is VALID [2022-04-28 05:52:47,805 INFO L290 TraceCheckUtils]: 91: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,805 INFO L290 TraceCheckUtils]: 90: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,805 INFO L290 TraceCheckUtils]: 89: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,805 INFO L272 TraceCheckUtils]: 88: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:47,805 INFO L290 TraceCheckUtils]: 87: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 05:52:47,805 INFO L290 TraceCheckUtils]: 86: Hoare triple {23890#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {23890#true} is VALID [2022-04-28 05:52:47,805 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {23890#true} {23890#true} #97#return; {23890#true} is VALID [2022-04-28 05:52:47,805 INFO L290 TraceCheckUtils]: 84: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,805 INFO L290 TraceCheckUtils]: 83: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,805 INFO L290 TraceCheckUtils]: 82: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,805 INFO L272 TraceCheckUtils]: 81: Hoare triple {23890#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)); {23890#true} is VALID [2022-04-28 05:52:47,805 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23890#true} {23890#true} #95#return; {23890#true} is VALID [2022-04-28 05:52:47,805 INFO L290 TraceCheckUtils]: 79: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,806 INFO L290 TraceCheckUtils]: 78: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,806 INFO L290 TraceCheckUtils]: 77: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,806 INFO L272 TraceCheckUtils]: 76: Hoare triple {23890#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:47,806 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {23890#true} {23890#true} #93#return; {23890#true} is VALID [2022-04-28 05:52:47,806 INFO L290 TraceCheckUtils]: 74: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,806 INFO L290 TraceCheckUtils]: 73: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,806 INFO L290 TraceCheckUtils]: 72: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,806 INFO L272 TraceCheckUtils]: 71: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:47,806 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {23890#true} {23890#true} #91#return; {23890#true} is VALID [2022-04-28 05:52:47,806 INFO L290 TraceCheckUtils]: 69: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,806 INFO L290 TraceCheckUtils]: 68: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,806 INFO L290 TraceCheckUtils]: 67: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,806 INFO L272 TraceCheckUtils]: 66: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:47,806 INFO L290 TraceCheckUtils]: 65: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 05:52:47,806 INFO L290 TraceCheckUtils]: 64: Hoare triple {23890#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {23890#true} is VALID [2022-04-28 05:52:47,807 INFO L290 TraceCheckUtils]: 63: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 05:52:47,807 INFO L290 TraceCheckUtils]: 62: Hoare triple {23890#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; {23890#true} is VALID [2022-04-28 05:52:47,807 INFO L290 TraceCheckUtils]: 61: Hoare triple {23890#true} assume !(~c~0 >= ~b~0); {23890#true} is VALID [2022-04-28 05:52:47,807 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {23890#true} {23890#true} #97#return; {23890#true} is VALID [2022-04-28 05:52:47,807 INFO L290 TraceCheckUtils]: 59: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,807 INFO L290 TraceCheckUtils]: 58: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,807 INFO L290 TraceCheckUtils]: 57: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,807 INFO L272 TraceCheckUtils]: 56: Hoare triple {23890#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)); {23890#true} is VALID [2022-04-28 05:52:47,807 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {23890#true} {23890#true} #95#return; {23890#true} is VALID [2022-04-28 05:52:47,807 INFO L290 TraceCheckUtils]: 54: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,807 INFO L290 TraceCheckUtils]: 53: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,807 INFO L290 TraceCheckUtils]: 52: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,807 INFO L272 TraceCheckUtils]: 51: Hoare triple {23890#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:47,807 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {23890#true} {23890#true} #93#return; {23890#true} is VALID [2022-04-28 05:52:47,807 INFO L290 TraceCheckUtils]: 49: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,808 INFO L290 TraceCheckUtils]: 48: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,808 INFO L290 TraceCheckUtils]: 47: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,808 INFO L272 TraceCheckUtils]: 46: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:47,808 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {23890#true} {23890#true} #91#return; {23890#true} is VALID [2022-04-28 05:52:47,808 INFO L290 TraceCheckUtils]: 44: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,808 INFO L290 TraceCheckUtils]: 43: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,808 INFO L290 TraceCheckUtils]: 42: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,808 INFO L272 TraceCheckUtils]: 41: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:47,808 INFO L290 TraceCheckUtils]: 40: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 05:52:47,808 INFO L290 TraceCheckUtils]: 39: Hoare triple {23890#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {23890#true} is VALID [2022-04-28 05:52:47,808 INFO L290 TraceCheckUtils]: 38: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 05:52:47,808 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {23890#true} {23890#true} #89#return; {23890#true} is VALID [2022-04-28 05:52:47,808 INFO L290 TraceCheckUtils]: 36: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,808 INFO L290 TraceCheckUtils]: 35: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,809 INFO L290 TraceCheckUtils]: 34: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,809 INFO L272 TraceCheckUtils]: 33: Hoare triple {23890#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:47,809 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {23890#true} {23890#true} #87#return; {23890#true} is VALID [2022-04-28 05:52:47,809 INFO L290 TraceCheckUtils]: 31: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,809 INFO L290 TraceCheckUtils]: 30: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,809 INFO L290 TraceCheckUtils]: 29: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,809 INFO L272 TraceCheckUtils]: 28: Hoare triple {23890#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:47,809 INFO L290 TraceCheckUtils]: 27: Hoare triple {23890#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; {23890#true} is VALID [2022-04-28 05:52:47,809 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {23890#true} {23890#true} #85#return; {23890#true} is VALID [2022-04-28 05:52:47,809 INFO L290 TraceCheckUtils]: 25: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,809 INFO L290 TraceCheckUtils]: 24: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,809 INFO L290 TraceCheckUtils]: 23: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,809 INFO L272 TraceCheckUtils]: 22: Hoare triple {23890#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:47,809 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {23890#true} {23890#true} #83#return; {23890#true} is VALID [2022-04-28 05:52:47,809 INFO L290 TraceCheckUtils]: 20: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,810 INFO L290 TraceCheckUtils]: 19: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,810 INFO L290 TraceCheckUtils]: 18: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,810 INFO L272 TraceCheckUtils]: 17: Hoare triple {23890#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:47,810 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23890#true} {23890#true} #81#return; {23890#true} is VALID [2022-04-28 05:52:47,810 INFO L290 TraceCheckUtils]: 15: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,810 INFO L290 TraceCheckUtils]: 14: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,810 INFO L290 TraceCheckUtils]: 13: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,810 INFO L272 TraceCheckUtils]: 12: Hoare triple {23890#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:47,810 INFO L290 TraceCheckUtils]: 11: Hoare triple {23890#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23890#true} is VALID [2022-04-28 05:52:47,810 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23890#true} {23890#true} #79#return; {23890#true} is VALID [2022-04-28 05:52:47,810 INFO L290 TraceCheckUtils]: 9: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,810 INFO L290 TraceCheckUtils]: 8: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 05:52:47,810 INFO L290 TraceCheckUtils]: 7: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 05:52:47,810 INFO L272 TraceCheckUtils]: 6: Hoare triple {23890#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {23890#true} is VALID [2022-04-28 05:52:47,810 INFO L290 TraceCheckUtils]: 5: Hoare triple {23890#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; {23890#true} is VALID [2022-04-28 05:52:47,811 INFO L272 TraceCheckUtils]: 4: Hoare triple {23890#true} call #t~ret6 := main(); {23890#true} is VALID [2022-04-28 05:52:47,811 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23890#true} {23890#true} #103#return; {23890#true} is VALID [2022-04-28 05:52:47,811 INFO L290 TraceCheckUtils]: 2: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 05:52:47,811 INFO L290 TraceCheckUtils]: 1: Hoare triple {23890#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); {23890#true} is VALID [2022-04-28 05:52:47,811 INFO L272 TraceCheckUtils]: 0: Hoare triple {23890#true} call ULTIMATE.init(); {23890#true} is VALID [2022-04-28 05:52:47,811 INFO L134 CoverageAnalysis]: Checked inductivity of 681 backedges. 86 proven. 7 refuted. 0 times theorem prover too weak. 588 trivial. 0 not checked. [2022-04-28 05:52:47,811 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:52:47,811 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [530951348] [2022-04-28 05:52:47,811 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:52:47,812 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [654247243] [2022-04-28 05:52:47,812 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [654247243] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:52:47,812 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:52:47,812 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 05:52:47,812 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:52:47,812 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1699227903] [2022-04-28 05:52:47,812 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1699227903] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:47,812 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:47,812 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 05:52:47,812 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [61141599] [2022-04-28 05:52:47,812 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:52:47,813 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) Word has length 143 [2022-04-28 05:52:47,813 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:52:47,813 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 05:52:47,857 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:52:47,857 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 05:52:47,857 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:47,857 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 05:52:47,857 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:52:47,857 INFO L87 Difference]: Start difference. First operand 165 states and 211 transitions. Second operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 05:52:48,903 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:48,903 INFO L93 Difference]: Finished difference Result 171 states and 216 transitions. [2022-04-28 05:52:48,903 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 05:52:48,903 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) Word has length 143 [2022-04-28 05:52:48,903 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:52:48,904 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 05:52:48,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-28 05:52:48,905 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 05:52:48,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-28 05:52:48,905 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 60 transitions. [2022-04-28 05:52:48,978 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:48,981 INFO L225 Difference]: With dead ends: 171 [2022-04-28 05:52:48,981 INFO L226 Difference]: Without dead ends: 163 [2022-04-28 05:52:48,982 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 288 GetRequests, 277 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 05:52:48,982 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 20 mSDsluCounter, 120 mSDsCounter, 0 mSdLazyCounter, 112 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 156 SdHoareTripleChecker+Invalid, 131 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 112 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:52:48,982 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 156 Invalid, 131 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 112 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:52:48,983 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2022-04-28 05:52:49,699 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 163. [2022-04-28 05:52:49,700 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:52:49,700 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand has 163 states, 89 states have (on average 1.0561797752808988) internal successors, (94), 90 states have internal predecessors, (94), 57 states have call successors, (57), 17 states have call predecessors, (57), 16 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 05:52:49,700 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand has 163 states, 89 states have (on average 1.0561797752808988) internal successors, (94), 90 states have internal predecessors, (94), 57 states have call successors, (57), 17 states have call predecessors, (57), 16 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 05:52:49,701 INFO L87 Difference]: Start difference. First operand 163 states. Second operand has 163 states, 89 states have (on average 1.0561797752808988) internal successors, (94), 90 states have internal predecessors, (94), 57 states have call successors, (57), 17 states have call predecessors, (57), 16 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 05:52:49,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:49,704 INFO L93 Difference]: Finished difference Result 163 states and 206 transitions. [2022-04-28 05:52:49,704 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 206 transitions. [2022-04-28 05:52:49,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:49,705 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:49,705 INFO L74 IsIncluded]: Start isIncluded. First operand has 163 states, 89 states have (on average 1.0561797752808988) internal successors, (94), 90 states have internal predecessors, (94), 57 states have call successors, (57), 17 states have call predecessors, (57), 16 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) Second operand 163 states. [2022-04-28 05:52:49,705 INFO L87 Difference]: Start difference. First operand has 163 states, 89 states have (on average 1.0561797752808988) internal successors, (94), 90 states have internal predecessors, (94), 57 states have call successors, (57), 17 states have call predecessors, (57), 16 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) Second operand 163 states. [2022-04-28 05:52:49,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:49,708 INFO L93 Difference]: Finished difference Result 163 states and 206 transitions. [2022-04-28 05:52:49,708 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 206 transitions. [2022-04-28 05:52:49,718 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:49,718 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:49,718 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:52:49,718 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:52:49,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 163 states, 89 states have (on average 1.0561797752808988) internal successors, (94), 90 states have internal predecessors, (94), 57 states have call successors, (57), 17 states have call predecessors, (57), 16 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 05:52:49,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 163 states to 163 states and 206 transitions. [2022-04-28 05:52:49,722 INFO L78 Accepts]: Start accepts. Automaton has 163 states and 206 transitions. Word has length 143 [2022-04-28 05:52:49,722 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:52:49,722 INFO L495 AbstractCegarLoop]: Abstraction has 163 states and 206 transitions. [2022-04-28 05:52:49,722 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 05:52:49,722 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 163 states and 206 transitions. [2022-04-28 05:52:50,327 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 206 edges. 206 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:50,327 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 206 transitions. [2022-04-28 05:52:50,328 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 150 [2022-04-28 05:52:50,328 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:52:50,328 INFO L195 NwaCegarLoop]: trace histogram [19, 18, 18, 6, 6, 6, 5, 5, 5, 5, 5, 5, 4, 4, 4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:52:50,351 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-28 05:52:50,528 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:52:50,529 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:52:50,529 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:52:50,529 INFO L85 PathProgramCache]: Analyzing trace with hash -1351165176, now seen corresponding path program 7 times [2022-04-28 05:52:50,529 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:50,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [595105323] [2022-04-28 05:52:50,529 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:52:50,529 INFO L85 PathProgramCache]: Analyzing trace with hash -1351165176, now seen corresponding path program 8 times [2022-04-28 05:52:50,530 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:52:50,530 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [392546323] [2022-04-28 05:52:50,530 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:52:50,530 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:52:50,547 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:52:50,547 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1743108742] [2022-04-28 05:52:50,547 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:52:50,547 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:52:50,548 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:52:50,548 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:52:50,550 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:52:50,622 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:52:50,623 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:52:50,624 INFO L263 TraceCheckSpWp]: Trace formula consists of 355 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 05:52:50,644 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:50,645 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:52:54,239 INFO L272 TraceCheckUtils]: 0: Hoare triple {25756#true} call ULTIMATE.init(); {25756#true} is VALID [2022-04-28 05:52:54,239 INFO L290 TraceCheckUtils]: 1: Hoare triple {25756#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); {25756#true} is VALID [2022-04-28 05:52:54,239 INFO L290 TraceCheckUtils]: 2: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,239 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25756#true} {25756#true} #103#return; {25756#true} is VALID [2022-04-28 05:52:54,239 INFO L272 TraceCheckUtils]: 4: Hoare triple {25756#true} call #t~ret6 := main(); {25756#true} is VALID [2022-04-28 05:52:54,239 INFO L290 TraceCheckUtils]: 5: Hoare triple {25756#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; {25756#true} is VALID [2022-04-28 05:52:54,239 INFO L272 TraceCheckUtils]: 6: Hoare triple {25756#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:52:54,239 INFO L290 TraceCheckUtils]: 7: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,239 INFO L290 TraceCheckUtils]: 8: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,239 INFO L290 TraceCheckUtils]: 9: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,240 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25756#true} {25756#true} #79#return; {25756#true} is VALID [2022-04-28 05:52:54,240 INFO L290 TraceCheckUtils]: 11: Hoare triple {25756#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25756#true} is VALID [2022-04-28 05:52:54,240 INFO L272 TraceCheckUtils]: 12: Hoare triple {25756#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:52:54,240 INFO L290 TraceCheckUtils]: 13: Hoare triple {25756#true} ~cond := #in~cond; {25800#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:52:54,240 INFO L290 TraceCheckUtils]: 14: Hoare triple {25800#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {25804#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:54,241 INFO L290 TraceCheckUtils]: 15: Hoare triple {25804#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {25804#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:54,241 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {25804#(not (= |assume_abort_if_not_#in~cond| 0))} {25756#true} #81#return; {25811#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:52:54,241 INFO L272 TraceCheckUtils]: 17: Hoare triple {25811#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:52:54,241 INFO L290 TraceCheckUtils]: 18: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,241 INFO L290 TraceCheckUtils]: 19: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,241 INFO L290 TraceCheckUtils]: 20: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,242 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {25756#true} {25811#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #83#return; {25811#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:52:54,242 INFO L272 TraceCheckUtils]: 22: Hoare triple {25811#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:52:54,242 INFO L290 TraceCheckUtils]: 23: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,242 INFO L290 TraceCheckUtils]: 24: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,242 INFO L290 TraceCheckUtils]: 25: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,242 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {25756#true} {25811#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #85#return; {25811#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 05:52:54,243 INFO L290 TraceCheckUtils]: 27: Hoare triple {25811#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~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; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 05:52:54,243 INFO L272 TraceCheckUtils]: 28: Hoare triple {25845#(<= main_~b~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:52:54,243 INFO L290 TraceCheckUtils]: 29: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,243 INFO L290 TraceCheckUtils]: 30: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,243 INFO L290 TraceCheckUtils]: 31: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,244 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {25756#true} {25845#(<= main_~b~0 2)} #87#return; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 05:52:54,244 INFO L272 TraceCheckUtils]: 33: Hoare triple {25845#(<= main_~b~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:52:54,244 INFO L290 TraceCheckUtils]: 34: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,244 INFO L290 TraceCheckUtils]: 35: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,244 INFO L290 TraceCheckUtils]: 36: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,244 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {25756#true} {25845#(<= main_~b~0 2)} #89#return; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 05:52:54,245 INFO L290 TraceCheckUtils]: 38: Hoare triple {25845#(<= main_~b~0 2)} assume !false; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 05:52:54,245 INFO L290 TraceCheckUtils]: 39: Hoare triple {25845#(<= main_~b~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 05:52:54,245 INFO L290 TraceCheckUtils]: 40: Hoare triple {25845#(<= main_~b~0 2)} assume !false; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 05:52:54,245 INFO L272 TraceCheckUtils]: 41: Hoare triple {25845#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:52:54,245 INFO L290 TraceCheckUtils]: 42: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,245 INFO L290 TraceCheckUtils]: 43: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,245 INFO L290 TraceCheckUtils]: 44: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,246 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {25756#true} {25845#(<= main_~b~0 2)} #91#return; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 05:52:54,246 INFO L272 TraceCheckUtils]: 46: Hoare triple {25845#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:52:54,246 INFO L290 TraceCheckUtils]: 47: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,246 INFO L290 TraceCheckUtils]: 48: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,246 INFO L290 TraceCheckUtils]: 49: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,247 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {25756#true} {25845#(<= main_~b~0 2)} #93#return; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 05:52:54,247 INFO L272 TraceCheckUtils]: 51: Hoare triple {25845#(<= main_~b~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:52:54,247 INFO L290 TraceCheckUtils]: 52: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,247 INFO L290 TraceCheckUtils]: 53: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,247 INFO L290 TraceCheckUtils]: 54: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,247 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {25756#true} {25845#(<= main_~b~0 2)} #95#return; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 05:52:54,248 INFO L272 TraceCheckUtils]: 56: Hoare triple {25845#(<= main_~b~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)); {25756#true} is VALID [2022-04-28 05:52:54,248 INFO L290 TraceCheckUtils]: 57: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,248 INFO L290 TraceCheckUtils]: 58: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,248 INFO L290 TraceCheckUtils]: 59: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,248 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {25756#true} {25845#(<= main_~b~0 2)} #97#return; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 05:52:54,249 INFO L290 TraceCheckUtils]: 61: Hoare triple {25845#(<= main_~b~0 2)} assume !(~c~0 >= ~b~0); {25845#(<= main_~b~0 2)} is VALID [2022-04-28 05:52:54,249 INFO L290 TraceCheckUtils]: 62: Hoare triple {25845#(<= main_~b~0 2)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {25951#(<= main_~a~0 2)} is VALID [2022-04-28 05:52:54,249 INFO L290 TraceCheckUtils]: 63: Hoare triple {25951#(<= main_~a~0 2)} assume !false; {25951#(<= main_~a~0 2)} is VALID [2022-04-28 05:52:54,250 INFO L290 TraceCheckUtils]: 64: Hoare triple {25951#(<= main_~a~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {25958#(<= main_~c~0 2)} is VALID [2022-04-28 05:52:54,250 INFO L290 TraceCheckUtils]: 65: Hoare triple {25958#(<= main_~c~0 2)} assume !false; {25958#(<= main_~c~0 2)} is VALID [2022-04-28 05:52:54,250 INFO L272 TraceCheckUtils]: 66: Hoare triple {25958#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:52:54,250 INFO L290 TraceCheckUtils]: 67: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,250 INFO L290 TraceCheckUtils]: 68: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,250 INFO L290 TraceCheckUtils]: 69: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,251 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {25756#true} {25958#(<= main_~c~0 2)} #91#return; {25958#(<= main_~c~0 2)} is VALID [2022-04-28 05:52:54,251 INFO L272 TraceCheckUtils]: 71: Hoare triple {25958#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:52:54,251 INFO L290 TraceCheckUtils]: 72: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,251 INFO L290 TraceCheckUtils]: 73: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,251 INFO L290 TraceCheckUtils]: 74: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,251 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {25756#true} {25958#(<= main_~c~0 2)} #93#return; {25958#(<= main_~c~0 2)} is VALID [2022-04-28 05:52:54,252 INFO L272 TraceCheckUtils]: 76: Hoare triple {25958#(<= main_~c~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:52:54,252 INFO L290 TraceCheckUtils]: 77: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,252 INFO L290 TraceCheckUtils]: 78: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,252 INFO L290 TraceCheckUtils]: 79: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,252 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {25756#true} {25958#(<= main_~c~0 2)} #95#return; {25958#(<= main_~c~0 2)} is VALID [2022-04-28 05:52:54,252 INFO L272 TraceCheckUtils]: 81: Hoare triple {25958#(<= main_~c~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)); {25756#true} is VALID [2022-04-28 05:52:54,252 INFO L290 TraceCheckUtils]: 82: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,252 INFO L290 TraceCheckUtils]: 83: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,253 INFO L290 TraceCheckUtils]: 84: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,253 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {25756#true} {25958#(<= main_~c~0 2)} #97#return; {25958#(<= main_~c~0 2)} is VALID [2022-04-28 05:52:54,254 INFO L290 TraceCheckUtils]: 86: Hoare triple {25958#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {26025#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 05:52:54,255 INFO L290 TraceCheckUtils]: 87: Hoare triple {26025#(<= (+ main_~c~0 main_~b~0) 2)} assume !false; {26025#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 05:52:54,255 INFO L272 TraceCheckUtils]: 88: Hoare triple {26025#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:52:54,255 INFO L290 TraceCheckUtils]: 89: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,255 INFO L290 TraceCheckUtils]: 90: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,255 INFO L290 TraceCheckUtils]: 91: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,255 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {25756#true} {26025#(<= (+ main_~c~0 main_~b~0) 2)} #91#return; {26025#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 05:52:54,255 INFO L272 TraceCheckUtils]: 93: Hoare triple {26025#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:52:54,255 INFO L290 TraceCheckUtils]: 94: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,256 INFO L290 TraceCheckUtils]: 95: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,256 INFO L290 TraceCheckUtils]: 96: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,256 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {25756#true} {26025#(<= (+ main_~c~0 main_~b~0) 2)} #93#return; {26025#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 05:52:54,256 INFO L272 TraceCheckUtils]: 98: Hoare triple {26025#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:52:54,256 INFO L290 TraceCheckUtils]: 99: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,256 INFO L290 TraceCheckUtils]: 100: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,256 INFO L290 TraceCheckUtils]: 101: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,257 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {25756#true} {26025#(<= (+ main_~c~0 main_~b~0) 2)} #95#return; {26025#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 05:52:54,257 INFO L272 TraceCheckUtils]: 103: Hoare triple {26025#(<= (+ main_~c~0 main_~b~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)); {25756#true} is VALID [2022-04-28 05:52:54,257 INFO L290 TraceCheckUtils]: 104: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,257 INFO L290 TraceCheckUtils]: 105: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,257 INFO L290 TraceCheckUtils]: 106: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,258 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {25756#true} {26025#(<= (+ main_~c~0 main_~b~0) 2)} #97#return; {26025#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 05:52:54,259 INFO L290 TraceCheckUtils]: 108: Hoare triple {26025#(<= (+ main_~c~0 main_~b~0) 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} is VALID [2022-04-28 05:52:54,260 INFO L290 TraceCheckUtils]: 109: Hoare triple {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} assume !false; {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} is VALID [2022-04-28 05:52:54,260 INFO L272 TraceCheckUtils]: 110: Hoare triple {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:52:54,260 INFO L290 TraceCheckUtils]: 111: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,260 INFO L290 TraceCheckUtils]: 112: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,260 INFO L290 TraceCheckUtils]: 113: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,260 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {25756#true} {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} #91#return; {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} is VALID [2022-04-28 05:52:54,261 INFO L272 TraceCheckUtils]: 115: Hoare triple {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:52:54,261 INFO L290 TraceCheckUtils]: 116: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,261 INFO L290 TraceCheckUtils]: 117: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,261 INFO L290 TraceCheckUtils]: 118: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,262 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {25756#true} {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} #93#return; {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} is VALID [2022-04-28 05:52:54,262 INFO L272 TraceCheckUtils]: 120: Hoare triple {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:52:54,262 INFO L290 TraceCheckUtils]: 121: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,262 INFO L290 TraceCheckUtils]: 122: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,262 INFO L290 TraceCheckUtils]: 123: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,263 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {25756#true} {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} #95#return; {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} is VALID [2022-04-28 05:52:54,263 INFO L272 TraceCheckUtils]: 125: Hoare triple {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 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)); {25756#true} is VALID [2022-04-28 05:52:54,263 INFO L290 TraceCheckUtils]: 126: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:52:54,263 INFO L290 TraceCheckUtils]: 127: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:52:54,264 INFO L290 TraceCheckUtils]: 128: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:52:54,264 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {25756#true} {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} #97#return; {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} is VALID [2022-04-28 05:52:54,266 INFO L290 TraceCheckUtils]: 130: Hoare triple {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} assume !(~c~0 >= ~b~0); {26159#(and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0))} is VALID [2022-04-28 05:52:54,267 INFO L290 TraceCheckUtils]: 131: Hoare triple {26159#(and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 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; {26163#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:52:54,267 INFO L290 TraceCheckUtils]: 132: Hoare triple {26163#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} assume !false; {26163#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:52:54,268 INFO L290 TraceCheckUtils]: 133: Hoare triple {26163#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {25757#false} is VALID [2022-04-28 05:52:54,268 INFO L290 TraceCheckUtils]: 134: Hoare triple {25757#false} assume !false; {25757#false} is VALID [2022-04-28 05:52:54,268 INFO L272 TraceCheckUtils]: 135: Hoare triple {25757#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25757#false} is VALID [2022-04-28 05:52:54,268 INFO L290 TraceCheckUtils]: 136: Hoare triple {25757#false} ~cond := #in~cond; {25757#false} is VALID [2022-04-28 05:52:54,269 INFO L290 TraceCheckUtils]: 137: Hoare triple {25757#false} assume !(0 == ~cond); {25757#false} is VALID [2022-04-28 05:52:54,269 INFO L290 TraceCheckUtils]: 138: Hoare triple {25757#false} assume true; {25757#false} is VALID [2022-04-28 05:52:54,269 INFO L284 TraceCheckUtils]: 139: Hoare quadruple {25757#false} {25757#false} #91#return; {25757#false} is VALID [2022-04-28 05:52:54,269 INFO L272 TraceCheckUtils]: 140: Hoare triple {25757#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25757#false} is VALID [2022-04-28 05:52:54,269 INFO L290 TraceCheckUtils]: 141: Hoare triple {25757#false} ~cond := #in~cond; {25757#false} is VALID [2022-04-28 05:52:54,269 INFO L290 TraceCheckUtils]: 142: Hoare triple {25757#false} assume !(0 == ~cond); {25757#false} is VALID [2022-04-28 05:52:54,269 INFO L290 TraceCheckUtils]: 143: Hoare triple {25757#false} assume true; {25757#false} is VALID [2022-04-28 05:52:54,269 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {25757#false} {25757#false} #93#return; {25757#false} is VALID [2022-04-28 05:52:54,269 INFO L272 TraceCheckUtils]: 145: Hoare triple {25757#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25757#false} is VALID [2022-04-28 05:52:54,269 INFO L290 TraceCheckUtils]: 146: Hoare triple {25757#false} ~cond := #in~cond; {25757#false} is VALID [2022-04-28 05:52:54,269 INFO L290 TraceCheckUtils]: 147: Hoare triple {25757#false} assume 0 == ~cond; {25757#false} is VALID [2022-04-28 05:52:54,270 INFO L290 TraceCheckUtils]: 148: Hoare triple {25757#false} assume !false; {25757#false} is VALID [2022-04-28 05:52:54,270 INFO L134 CoverageAnalysis]: Checked inductivity of 767 backedges. 187 proven. 47 refuted. 0 times theorem prover too weak. 533 trivial. 0 not checked. [2022-04-28 05:52:54,270 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:53:28,565 INFO L290 TraceCheckUtils]: 148: Hoare triple {25757#false} assume !false; {25757#false} is VALID [2022-04-28 05:53:28,565 INFO L290 TraceCheckUtils]: 147: Hoare triple {25757#false} assume 0 == ~cond; {25757#false} is VALID [2022-04-28 05:53:28,565 INFO L290 TraceCheckUtils]: 146: Hoare triple {25757#false} ~cond := #in~cond; {25757#false} is VALID [2022-04-28 05:53:28,565 INFO L272 TraceCheckUtils]: 145: Hoare triple {25757#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25757#false} is VALID [2022-04-28 05:53:28,565 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {25756#true} {25757#false} #93#return; {25757#false} is VALID [2022-04-28 05:53:28,565 INFO L290 TraceCheckUtils]: 143: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,565 INFO L290 TraceCheckUtils]: 142: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,565 INFO L290 TraceCheckUtils]: 141: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,565 INFO L272 TraceCheckUtils]: 140: Hoare triple {25757#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,565 INFO L284 TraceCheckUtils]: 139: Hoare quadruple {25756#true} {25757#false} #91#return; {25757#false} is VALID [2022-04-28 05:53:28,566 INFO L290 TraceCheckUtils]: 138: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,566 INFO L290 TraceCheckUtils]: 137: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,566 INFO L290 TraceCheckUtils]: 136: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,566 INFO L272 TraceCheckUtils]: 135: Hoare triple {25757#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,566 INFO L290 TraceCheckUtils]: 134: Hoare triple {25757#false} assume !false; {25757#false} is VALID [2022-04-28 05:53:28,567 INFO L290 TraceCheckUtils]: 133: Hoare triple {26163#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {25757#false} is VALID [2022-04-28 05:53:28,567 INFO L290 TraceCheckUtils]: 132: Hoare triple {26163#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} assume !false; {26163#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:53:28,567 INFO L290 TraceCheckUtils]: 131: Hoare triple {26159#(and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 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; {26163#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:53:28,568 INFO L290 TraceCheckUtils]: 130: Hoare triple {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {26159#(and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0))} is VALID [2022-04-28 05:53:28,569 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {25756#true} {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #97#return; {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:53:28,569 INFO L290 TraceCheckUtils]: 128: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,569 INFO L290 TraceCheckUtils]: 127: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,569 INFO L290 TraceCheckUtils]: 126: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,569 INFO L272 TraceCheckUtils]: 125: Hoare triple {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,570 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {25756#true} {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #95#return; {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:53:28,570 INFO L290 TraceCheckUtils]: 123: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,570 INFO L290 TraceCheckUtils]: 122: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,570 INFO L290 TraceCheckUtils]: 121: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,570 INFO L272 TraceCheckUtils]: 120: Hoare triple {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,570 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {25756#true} {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #93#return; {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:53:28,570 INFO L290 TraceCheckUtils]: 118: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,571 INFO L290 TraceCheckUtils]: 117: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,571 INFO L290 TraceCheckUtils]: 116: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,571 INFO L272 TraceCheckUtils]: 115: Hoare triple {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,571 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {25756#true} {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #91#return; {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:53:28,571 INFO L290 TraceCheckUtils]: 113: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,571 INFO L290 TraceCheckUtils]: 112: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,571 INFO L290 TraceCheckUtils]: 111: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,571 INFO L272 TraceCheckUtils]: 110: Hoare triple {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,572 INFO L290 TraceCheckUtils]: 109: Hoare triple {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} assume !false; {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:53:28,574 INFO L290 TraceCheckUtils]: 108: Hoare triple {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:53:28,574 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {25756#true} {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} #97#return; {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} is VALID [2022-04-28 05:53:28,574 INFO L290 TraceCheckUtils]: 106: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,574 INFO L290 TraceCheckUtils]: 105: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,574 INFO L290 TraceCheckUtils]: 104: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,575 INFO L272 TraceCheckUtils]: 103: Hoare triple {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) 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)); {25756#true} is VALID [2022-04-28 05:53:28,575 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {25756#true} {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} #95#return; {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} is VALID [2022-04-28 05:53:28,575 INFO L290 TraceCheckUtils]: 101: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,575 INFO L290 TraceCheckUtils]: 100: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,575 INFO L290 TraceCheckUtils]: 99: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,575 INFO L272 TraceCheckUtils]: 98: Hoare triple {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,576 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {25756#true} {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} #93#return; {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} is VALID [2022-04-28 05:53:28,576 INFO L290 TraceCheckUtils]: 96: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,576 INFO L290 TraceCheckUtils]: 95: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,576 INFO L290 TraceCheckUtils]: 94: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,576 INFO L272 TraceCheckUtils]: 93: Hoare triple {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,577 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {25756#true} {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} #91#return; {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} is VALID [2022-04-28 05:53:28,577 INFO L290 TraceCheckUtils]: 91: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,577 INFO L290 TraceCheckUtils]: 90: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,577 INFO L290 TraceCheckUtils]: 89: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,577 INFO L272 TraceCheckUtils]: 88: Hoare triple {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,577 INFO L290 TraceCheckUtils]: 87: Hoare triple {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} assume !false; {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} is VALID [2022-04-28 05:53:28,580 INFO L290 TraceCheckUtils]: 86: Hoare triple {26403#(forall ((aux_div_v_main_~c~0_65_48 Int) (main_~b~0 Int)) (or (<= (+ main_~c~0 (* 2 aux_div_v_main_~c~0_65_48)) (* main_~b~0 2)) (< 2 (* 3 aux_div_v_main_~c~0_65_48)) (<= (+ main_~b~0 (* 2 aux_div_v_main_~c~0_65_48)) 1)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} is VALID [2022-04-28 05:53:28,581 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {25756#true} {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} #97#return; {26403#(forall ((aux_div_v_main_~c~0_65_48 Int) (main_~b~0 Int)) (or (<= (+ main_~c~0 (* 2 aux_div_v_main_~c~0_65_48)) (* main_~b~0 2)) (< 2 (* 3 aux_div_v_main_~c~0_65_48)) (<= (+ main_~b~0 (* 2 aux_div_v_main_~c~0_65_48)) 1)))} is VALID [2022-04-28 05:53:28,581 INFO L290 TraceCheckUtils]: 84: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,581 INFO L290 TraceCheckUtils]: 83: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,581 INFO L290 TraceCheckUtils]: 82: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,581 INFO L272 TraceCheckUtils]: 81: Hoare triple {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 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)); {25756#true} is VALID [2022-04-28 05:53:28,582 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {25756#true} {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} #95#return; {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} is VALID [2022-04-28 05:53:28,582 INFO L290 TraceCheckUtils]: 79: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,582 INFO L290 TraceCheckUtils]: 78: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,582 INFO L290 TraceCheckUtils]: 77: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,582 INFO L272 TraceCheckUtils]: 76: Hoare triple {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,583 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {25756#true} {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} #93#return; {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} is VALID [2022-04-28 05:53:28,583 INFO L290 TraceCheckUtils]: 74: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,583 INFO L290 TraceCheckUtils]: 73: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,583 INFO L290 TraceCheckUtils]: 72: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,583 INFO L272 TraceCheckUtils]: 71: Hoare triple {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,584 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {25756#true} {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} #91#return; {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} is VALID [2022-04-28 05:53:28,584 INFO L290 TraceCheckUtils]: 69: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,584 INFO L290 TraceCheckUtils]: 68: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,584 INFO L290 TraceCheckUtils]: 67: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,584 INFO L272 TraceCheckUtils]: 66: Hoare triple {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,584 INFO L290 TraceCheckUtils]: 65: Hoare triple {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} assume !false; {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} is VALID [2022-04-28 05:53:28,585 INFO L290 TraceCheckUtils]: 64: Hoare triple {26471#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~a~0) 2) 2) (- 2)) 3) 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} is VALID [2022-04-28 05:53:28,585 INFO L290 TraceCheckUtils]: 63: Hoare triple {26471#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~a~0) 2) 2) (- 2)) 3) 1))} assume !false; {26471#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~a~0) 2) 2) (- 2)) 3) 1))} is VALID [2022-04-28 05:53:28,586 INFO L290 TraceCheckUtils]: 62: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 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; {26471#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~a~0) 2) 2) (- 2)) 3) 1))} is VALID [2022-04-28 05:53:28,586 INFO L290 TraceCheckUtils]: 61: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} assume !(~c~0 >= ~b~0); {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 05:53:28,587 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {25756#true} {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} #97#return; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 05:53:28,587 INFO L290 TraceCheckUtils]: 59: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,587 INFO L290 TraceCheckUtils]: 58: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,587 INFO L290 TraceCheckUtils]: 57: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,587 INFO L272 TraceCheckUtils]: 56: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 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)); {25756#true} is VALID [2022-04-28 05:53:28,588 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {25756#true} {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} #95#return; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 05:53:28,588 INFO L290 TraceCheckUtils]: 54: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,588 INFO L290 TraceCheckUtils]: 53: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,588 INFO L290 TraceCheckUtils]: 52: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,588 INFO L272 TraceCheckUtils]: 51: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,589 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {25756#true} {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} #93#return; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 05:53:28,589 INFO L290 TraceCheckUtils]: 49: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,589 INFO L290 TraceCheckUtils]: 48: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,589 INFO L290 TraceCheckUtils]: 47: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,589 INFO L272 TraceCheckUtils]: 46: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,589 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {25756#true} {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} #91#return; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 05:53:28,590 INFO L290 TraceCheckUtils]: 44: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,590 INFO L290 TraceCheckUtils]: 43: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,590 INFO L290 TraceCheckUtils]: 42: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,590 INFO L272 TraceCheckUtils]: 41: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,590 INFO L290 TraceCheckUtils]: 40: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} assume !false; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 05:53:28,590 INFO L290 TraceCheckUtils]: 39: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 05:53:28,591 INFO L290 TraceCheckUtils]: 38: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} assume !false; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 05:53:28,591 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {25756#true} {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} #89#return; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 05:53:28,591 INFO L290 TraceCheckUtils]: 36: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,591 INFO L290 TraceCheckUtils]: 35: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,591 INFO L290 TraceCheckUtils]: 34: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,591 INFO L272 TraceCheckUtils]: 33: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,592 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {25756#true} {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} #87#return; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 05:53:28,592 INFO L290 TraceCheckUtils]: 31: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,592 INFO L290 TraceCheckUtils]: 30: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,592 INFO L290 TraceCheckUtils]: 29: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,592 INFO L272 TraceCheckUtils]: 28: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,593 INFO L290 TraceCheckUtils]: 27: Hoare triple {26584#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} ~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; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 05:53:28,593 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {25756#true} {26584#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} #85#return; {26584#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} is VALID [2022-04-28 05:53:28,594 INFO L290 TraceCheckUtils]: 25: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,594 INFO L290 TraceCheckUtils]: 24: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,594 INFO L290 TraceCheckUtils]: 23: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,594 INFO L272 TraceCheckUtils]: 22: Hoare triple {26584#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,594 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {25756#true} {26584#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} #83#return; {26584#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} is VALID [2022-04-28 05:53:28,594 INFO L290 TraceCheckUtils]: 20: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,594 INFO L290 TraceCheckUtils]: 19: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,594 INFO L290 TraceCheckUtils]: 18: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,594 INFO L272 TraceCheckUtils]: 17: Hoare triple {26584#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,595 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {25804#(not (= |assume_abort_if_not_#in~cond| 0))} {25756#true} #81#return; {26584#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} is VALID [2022-04-28 05:53:28,595 INFO L290 TraceCheckUtils]: 15: Hoare triple {25804#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {25804#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:53:28,596 INFO L290 TraceCheckUtils]: 14: Hoare triple {26627#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {25804#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:53:28,596 INFO L290 TraceCheckUtils]: 13: Hoare triple {25756#true} ~cond := #in~cond; {26627#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 05:53:28,596 INFO L272 TraceCheckUtils]: 12: Hoare triple {25756#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,596 INFO L290 TraceCheckUtils]: 11: Hoare triple {25756#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25756#true} is VALID [2022-04-28 05:53:28,596 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25756#true} {25756#true} #79#return; {25756#true} is VALID [2022-04-28 05:53:28,596 INFO L290 TraceCheckUtils]: 9: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,596 INFO L290 TraceCheckUtils]: 8: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 05:53:28,596 INFO L290 TraceCheckUtils]: 7: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 05:53:28,596 INFO L272 TraceCheckUtils]: 6: Hoare triple {25756#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {25756#true} is VALID [2022-04-28 05:53:28,597 INFO L290 TraceCheckUtils]: 5: Hoare triple {25756#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; {25756#true} is VALID [2022-04-28 05:53:28,597 INFO L272 TraceCheckUtils]: 4: Hoare triple {25756#true} call #t~ret6 := main(); {25756#true} is VALID [2022-04-28 05:53:28,597 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25756#true} {25756#true} #103#return; {25756#true} is VALID [2022-04-28 05:53:28,597 INFO L290 TraceCheckUtils]: 2: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 05:53:28,597 INFO L290 TraceCheckUtils]: 1: Hoare triple {25756#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); {25756#true} is VALID [2022-04-28 05:53:28,597 INFO L272 TraceCheckUtils]: 0: Hoare triple {25756#true} call ULTIMATE.init(); {25756#true} is VALID [2022-04-28 05:53:28,597 INFO L134 CoverageAnalysis]: Checked inductivity of 767 backedges. 57 proven. 53 refuted. 0 times theorem prover too weak. 657 trivial. 0 not checked. [2022-04-28 05:53:28,598 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:53:28,598 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [392546323] [2022-04-28 05:53:28,598 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:53:28,598 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1743108742] [2022-04-28 05:53:28,598 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1743108742] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:53:28,598 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:53:28,598 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 20 [2022-04-28 05:53:28,598 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:53:28,598 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [595105323] [2022-04-28 05:53:28,598 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [595105323] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:53:28,599 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:53:28,599 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 05:53:28,599 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [269670369] [2022-04-28 05:53:28,599 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:53:28,599 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 7 states have call successors, (27), 2 states have call predecessors, (27), 3 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) Word has length 149 [2022-04-28 05:53:28,600 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:53:28,600 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 7 states have call successors, (27), 2 states have call predecessors, (27), 3 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-28 05:53:28,690 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:53:28,690 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 05:53:28,690 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:53:28,691 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 05:53:28,691 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=320, Unknown=0, NotChecked=0, Total=380 [2022-04-28 05:53:28,691 INFO L87 Difference]: Start difference. First operand 163 states and 206 transitions. Second operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 7 states have call successors, (27), 2 states have call predecessors, (27), 3 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-28 05:53:30,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:53:30,899 INFO L93 Difference]: Finished difference Result 215 states and 280 transitions. [2022-04-28 05:53:30,899 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 05:53:30,899 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 7 states have call successors, (27), 2 states have call predecessors, (27), 3 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) Word has length 149 [2022-04-28 05:53:30,899 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:53:30,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 7 states have call successors, (27), 2 states have call predecessors, (27), 3 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-28 05:53:30,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 115 transitions. [2022-04-28 05:53:30,901 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 7 states have call successors, (27), 2 states have call predecessors, (27), 3 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-28 05:53:30,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 115 transitions. [2022-04-28 05:53:30,903 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 115 transitions. [2022-04-28 05:53:31,024 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:53:31,026 INFO L225 Difference]: With dead ends: 215 [2022-04-28 05:53:31,026 INFO L226 Difference]: Without dead ends: 151 [2022-04-28 05:53:31,027 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 308 GetRequests, 278 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 112 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=214, Invalid=716, Unknown=0, NotChecked=0, Total=930 [2022-04-28 05:53:31,028 INFO L413 NwaCegarLoop]: 64 mSDtfsCounter, 30 mSDsluCounter, 265 mSDsCounter, 0 mSdLazyCounter, 422 mSolverCounterSat, 60 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 329 SdHoareTripleChecker+Invalid, 482 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 60 IncrementalHoareTripleChecker+Valid, 422 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 05:53:31,028 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 329 Invalid, 482 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [60 Valid, 422 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 05:53:31,028 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2022-04-28 05:53:31,694 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 150. [2022-04-28 05:53:31,694 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:53:31,694 INFO L82 GeneralOperation]: Start isEquivalent. First operand 151 states. Second operand has 150 states, 81 states have (on average 1.0740740740740742) internal successors, (87), 82 states have internal predecessors, (87), 53 states have call successors, (53), 16 states have call predecessors, (53), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-28 05:53:31,694 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand has 150 states, 81 states have (on average 1.0740740740740742) internal successors, (87), 82 states have internal predecessors, (87), 53 states have call successors, (53), 16 states have call predecessors, (53), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-28 05:53:31,695 INFO L87 Difference]: Start difference. First operand 151 states. Second operand has 150 states, 81 states have (on average 1.0740740740740742) internal successors, (87), 82 states have internal predecessors, (87), 53 states have call successors, (53), 16 states have call predecessors, (53), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-28 05:53:31,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:53:31,698 INFO L93 Difference]: Finished difference Result 151 states and 192 transitions. [2022-04-28 05:53:31,698 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 192 transitions. [2022-04-28 05:53:31,699 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:53:31,699 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:53:31,699 INFO L74 IsIncluded]: Start isIncluded. First operand has 150 states, 81 states have (on average 1.0740740740740742) internal successors, (87), 82 states have internal predecessors, (87), 53 states have call successors, (53), 16 states have call predecessors, (53), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) Second operand 151 states. [2022-04-28 05:53:31,699 INFO L87 Difference]: Start difference. First operand has 150 states, 81 states have (on average 1.0740740740740742) internal successors, (87), 82 states have internal predecessors, (87), 53 states have call successors, (53), 16 states have call predecessors, (53), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) Second operand 151 states. [2022-04-28 05:53:31,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:53:31,702 INFO L93 Difference]: Finished difference Result 151 states and 192 transitions. [2022-04-28 05:53:31,702 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 192 transitions. [2022-04-28 05:53:31,703 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:53:31,703 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:53:31,703 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:53:31,703 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:53:31,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 150 states, 81 states have (on average 1.0740740740740742) internal successors, (87), 82 states have internal predecessors, (87), 53 states have call successors, (53), 16 states have call predecessors, (53), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-28 05:53:31,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 150 states to 150 states and 191 transitions. [2022-04-28 05:53:31,707 INFO L78 Accepts]: Start accepts. Automaton has 150 states and 191 transitions. Word has length 149 [2022-04-28 05:53:31,707 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:53:31,707 INFO L495 AbstractCegarLoop]: Abstraction has 150 states and 191 transitions. [2022-04-28 05:53:31,707 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 7 states have call successors, (27), 2 states have call predecessors, (27), 3 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-28 05:53:31,707 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 150 states and 191 transitions. [2022-04-28 05:53:32,145 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 191 edges. 191 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:53:32,145 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 191 transitions. [2022-04-28 05:53:32,146 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 183 [2022-04-28 05:53:32,146 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:53:32,146 INFO L195 NwaCegarLoop]: trace histogram [25, 24, 24, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:53:32,171 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:53:32,367 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:53:32,368 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:53:32,368 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:53:32,368 INFO L85 PathProgramCache]: Analyzing trace with hash -804600145, now seen corresponding path program 11 times [2022-04-28 05:53:32,368 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:53:32,368 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1109685059] [2022-04-28 05:53:32,369 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:53:32,369 INFO L85 PathProgramCache]: Analyzing trace with hash -804600145, now seen corresponding path program 12 times [2022-04-28 05:53:32,369 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:53:32,369 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1862045385] [2022-04-28 05:53:32,369 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:53:32,369 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:53:32,384 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:53:32,384 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1226557978] [2022-04-28 05:53:32,385 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:53:32,385 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:53:32,385 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:53:32,386 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:53:32,387 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:53:33,109 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 05:53:33,109 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:53:33,112 INFO L263 TraceCheckSpWp]: Trace formula consists of 344 conjuncts, 62 conjunts are in the unsatisfiable core [2022-04-28 05:53:33,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:53:33,145 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:53:47,161 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:53:59,903 WARN L232 SmtUtils]: Spent 6.37s on a formula simplification that was a NOOP. DAG size: 39 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 05:54:07,432 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:54:53,202 INFO L272 TraceCheckUtils]: 0: Hoare triple {27723#true} call ULTIMATE.init(); {27723#true} is VALID [2022-04-28 05:54:53,202 INFO L290 TraceCheckUtils]: 1: Hoare triple {27723#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); {27723#true} is VALID [2022-04-28 05:54:53,202 INFO L290 TraceCheckUtils]: 2: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,202 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27723#true} {27723#true} #103#return; {27723#true} is VALID [2022-04-28 05:54:53,203 INFO L272 TraceCheckUtils]: 4: Hoare triple {27723#true} call #t~ret6 := main(); {27723#true} is VALID [2022-04-28 05:54:53,203 INFO L290 TraceCheckUtils]: 5: Hoare triple {27723#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; {27723#true} is VALID [2022-04-28 05:54:53,203 INFO L272 TraceCheckUtils]: 6: Hoare triple {27723#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,203 INFO L290 TraceCheckUtils]: 7: Hoare triple {27723#true} ~cond := #in~cond; {27749#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:54:53,203 INFO L290 TraceCheckUtils]: 8: Hoare triple {27749#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {27753#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:54:53,204 INFO L290 TraceCheckUtils]: 9: Hoare triple {27753#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {27753#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:54:53,204 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27753#(not (= |assume_abort_if_not_#in~cond| 0))} {27723#true} #79#return; {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:53,204 INFO L290 TraceCheckUtils]: 11: Hoare triple {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:53,205 INFO L272 TraceCheckUtils]: 12: Hoare triple {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,205 INFO L290 TraceCheckUtils]: 13: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,205 INFO L290 TraceCheckUtils]: 14: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,205 INFO L290 TraceCheckUtils]: 15: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,205 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {27723#true} {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #81#return; {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:53,205 INFO L272 TraceCheckUtils]: 17: Hoare triple {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,205 INFO L290 TraceCheckUtils]: 18: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,205 INFO L290 TraceCheckUtils]: 19: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,205 INFO L290 TraceCheckUtils]: 20: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,206 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {27723#true} {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #83#return; {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:53,206 INFO L272 TraceCheckUtils]: 22: Hoare triple {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,206 INFO L290 TraceCheckUtils]: 23: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,206 INFO L290 TraceCheckUtils]: 24: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,206 INFO L290 TraceCheckUtils]: 25: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,206 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {27723#true} {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #85#return; {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:53,207 INFO L290 TraceCheckUtils]: 27: Hoare triple {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~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; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,207 INFO L272 TraceCheckUtils]: 28: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,207 INFO L290 TraceCheckUtils]: 29: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,207 INFO L290 TraceCheckUtils]: 30: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,207 INFO L290 TraceCheckUtils]: 31: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,208 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #87#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,208 INFO L272 TraceCheckUtils]: 33: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,208 INFO L290 TraceCheckUtils]: 34: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,208 INFO L290 TraceCheckUtils]: 35: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,208 INFO L290 TraceCheckUtils]: 36: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,209 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #89#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,209 INFO L290 TraceCheckUtils]: 38: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,209 INFO L290 TraceCheckUtils]: 39: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,210 INFO L290 TraceCheckUtils]: 40: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,210 INFO L272 TraceCheckUtils]: 41: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,210 INFO L290 TraceCheckUtils]: 42: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,210 INFO L290 TraceCheckUtils]: 43: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,210 INFO L290 TraceCheckUtils]: 44: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,211 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #91#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,211 INFO L272 TraceCheckUtils]: 46: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,211 INFO L290 TraceCheckUtils]: 47: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,211 INFO L290 TraceCheckUtils]: 48: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,211 INFO L290 TraceCheckUtils]: 49: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,212 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #93#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,212 INFO L272 TraceCheckUtils]: 51: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,212 INFO L290 TraceCheckUtils]: 52: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,212 INFO L290 TraceCheckUtils]: 53: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,212 INFO L290 TraceCheckUtils]: 54: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,213 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #95#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,213 INFO L272 TraceCheckUtils]: 56: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= 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)); {27723#true} is VALID [2022-04-28 05:54:53,213 INFO L290 TraceCheckUtils]: 57: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,213 INFO L290 TraceCheckUtils]: 58: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,213 INFO L290 TraceCheckUtils]: 59: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,214 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #97#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,214 INFO L290 TraceCheckUtils]: 61: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,214 INFO L290 TraceCheckUtils]: 62: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,215 INFO L272 TraceCheckUtils]: 63: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,215 INFO L290 TraceCheckUtils]: 64: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,215 INFO L290 TraceCheckUtils]: 65: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,215 INFO L290 TraceCheckUtils]: 66: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,215 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #91#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,216 INFO L272 TraceCheckUtils]: 68: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,216 INFO L290 TraceCheckUtils]: 69: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,216 INFO L290 TraceCheckUtils]: 70: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,216 INFO L290 TraceCheckUtils]: 71: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,216 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #93#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,217 INFO L272 TraceCheckUtils]: 73: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,217 INFO L290 TraceCheckUtils]: 74: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,217 INFO L290 TraceCheckUtils]: 75: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,217 INFO L290 TraceCheckUtils]: 76: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,217 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #95#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,217 INFO L272 TraceCheckUtils]: 78: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= 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)); {27723#true} is VALID [2022-04-28 05:54:53,217 INFO L290 TraceCheckUtils]: 79: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,218 INFO L290 TraceCheckUtils]: 80: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,218 INFO L290 TraceCheckUtils]: 81: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,219 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #97#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,219 INFO L290 TraceCheckUtils]: 83: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,220 INFO L290 TraceCheckUtils]: 84: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,220 INFO L272 TraceCheckUtils]: 85: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,220 INFO L290 TraceCheckUtils]: 86: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,220 INFO L290 TraceCheckUtils]: 87: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,220 INFO L290 TraceCheckUtils]: 88: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,221 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #91#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,221 INFO L272 TraceCheckUtils]: 90: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,221 INFO L290 TraceCheckUtils]: 91: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,222 INFO L290 TraceCheckUtils]: 92: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,222 INFO L290 TraceCheckUtils]: 93: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,223 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #93#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,223 INFO L272 TraceCheckUtils]: 95: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,223 INFO L290 TraceCheckUtils]: 96: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,223 INFO L290 TraceCheckUtils]: 97: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,223 INFO L290 TraceCheckUtils]: 98: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,224 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #95#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,224 INFO L272 TraceCheckUtils]: 100: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= 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)); {27723#true} is VALID [2022-04-28 05:54:53,224 INFO L290 TraceCheckUtils]: 101: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,224 INFO L290 TraceCheckUtils]: 102: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,224 INFO L290 TraceCheckUtils]: 103: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,225 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #97#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,226 INFO L290 TraceCheckUtils]: 105: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {28047#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 05:54:53,227 INFO L290 TraceCheckUtils]: 106: Hoare triple {28047#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= 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; {28051#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:53,227 INFO L290 TraceCheckUtils]: 107: Hoare triple {28051#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} assume !false; {28051#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:53,227 INFO L290 TraceCheckUtils]: 108: Hoare triple {28051#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:53,228 INFO L290 TraceCheckUtils]: 109: Hoare triple {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} assume !false; {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:53,228 INFO L272 TraceCheckUtils]: 110: Hoare triple {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,228 INFO L290 TraceCheckUtils]: 111: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,228 INFO L290 TraceCheckUtils]: 112: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,228 INFO L290 TraceCheckUtils]: 113: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,229 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {27723#true} {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} #91#return; {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:53,229 INFO L272 TraceCheckUtils]: 115: Hoare triple {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,229 INFO L290 TraceCheckUtils]: 116: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,229 INFO L290 TraceCheckUtils]: 117: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,229 INFO L290 TraceCheckUtils]: 118: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,230 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {27723#true} {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} #93#return; {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:53,230 INFO L272 TraceCheckUtils]: 120: Hoare triple {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,230 INFO L290 TraceCheckUtils]: 121: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,230 INFO L290 TraceCheckUtils]: 122: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,230 INFO L290 TraceCheckUtils]: 123: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,231 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {27723#true} {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} #95#return; {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:53,231 INFO L272 TraceCheckUtils]: 125: Hoare triple {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~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)); {27723#true} is VALID [2022-04-28 05:54:53,231 INFO L290 TraceCheckUtils]: 126: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,231 INFO L290 TraceCheckUtils]: 127: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,231 INFO L290 TraceCheckUtils]: 128: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,232 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {27723#true} {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} #97#return; {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:53,232 INFO L290 TraceCheckUtils]: 130: Hoare triple {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:54:53,233 INFO L290 TraceCheckUtils]: 131: Hoare triple {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !false; {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:54:53,233 INFO L272 TraceCheckUtils]: 132: Hoare triple {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,233 INFO L290 TraceCheckUtils]: 133: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,233 INFO L290 TraceCheckUtils]: 134: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,233 INFO L290 TraceCheckUtils]: 135: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,234 INFO L284 TraceCheckUtils]: 136: Hoare quadruple {27723#true} {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} #91#return; {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:54:53,234 INFO L272 TraceCheckUtils]: 137: Hoare triple {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,234 INFO L290 TraceCheckUtils]: 138: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,234 INFO L290 TraceCheckUtils]: 139: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,234 INFO L290 TraceCheckUtils]: 140: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,235 INFO L284 TraceCheckUtils]: 141: Hoare quadruple {27723#true} {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} #93#return; {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:54:53,235 INFO L272 TraceCheckUtils]: 142: Hoare triple {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= 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)); {27723#true} is VALID [2022-04-28 05:54:53,235 INFO L290 TraceCheckUtils]: 143: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,235 INFO L290 TraceCheckUtils]: 144: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,235 INFO L290 TraceCheckUtils]: 145: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,236 INFO L284 TraceCheckUtils]: 146: Hoare quadruple {27723#true} {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} #95#return; {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:54:53,236 INFO L272 TraceCheckUtils]: 147: Hoare triple {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,236 INFO L290 TraceCheckUtils]: 148: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,236 INFO L290 TraceCheckUtils]: 149: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,236 INFO L290 TraceCheckUtils]: 150: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,237 INFO L284 TraceCheckUtils]: 151: Hoare quadruple {27723#true} {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} #97#return; {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:54:53,239 INFO L290 TraceCheckUtils]: 152: Hoare triple {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:53,239 INFO L290 TraceCheckUtils]: 153: Hoare triple {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} assume !false; {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:53,239 INFO L272 TraceCheckUtils]: 154: Hoare triple {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,239 INFO L290 TraceCheckUtils]: 155: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,240 INFO L290 TraceCheckUtils]: 156: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,240 INFO L290 TraceCheckUtils]: 157: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,240 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {27723#true} {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} #91#return; {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:53,240 INFO L272 TraceCheckUtils]: 159: Hoare triple {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,241 INFO L290 TraceCheckUtils]: 160: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 05:54:53,241 INFO L290 TraceCheckUtils]: 161: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 05:54:53,241 INFO L290 TraceCheckUtils]: 162: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 05:54:53,241 INFO L284 TraceCheckUtils]: 163: Hoare quadruple {27723#true} {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} #93#return; {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:53,241 INFO L272 TraceCheckUtils]: 164: Hoare triple {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 05:54:53,242 INFO L290 TraceCheckUtils]: 165: Hoare triple {27723#true} ~cond := #in~cond; {28232#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:53,242 INFO L290 TraceCheckUtils]: 166: Hoare triple {28232#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {28236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:53,242 INFO L290 TraceCheckUtils]: 167: Hoare triple {28236#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {28236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:53,244 INFO L284 TraceCheckUtils]: 168: Hoare quadruple {28236#(not (= |__VERIFIER_assert_#in~cond| 0))} {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} #95#return; {28243#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:53,244 INFO L272 TraceCheckUtils]: 169: Hoare triple {28243#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~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)); {27723#true} is VALID [2022-04-28 05:54:53,244 INFO L290 TraceCheckUtils]: 170: Hoare triple {27723#true} ~cond := #in~cond; {28232#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:53,244 INFO L290 TraceCheckUtils]: 171: Hoare triple {28232#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {28236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:53,245 INFO L290 TraceCheckUtils]: 172: Hoare triple {28236#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {28236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:55,248 WARN L284 TraceCheckUtils]: 173: Hoare quadruple {28236#(not (= |__VERIFIER_assert_#in~cond| 0))} {28243#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} #97#return; {28259#(and (<= (* main_~b~0 2) main_~y~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~q~0 main_~y~0 main_~x~0) (* main_~y~0 main_~s~0)) 0) (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~q~0 main_~y~0 main_~x~0) (* main_~y~0 main_~s~0)) main_~s~0) 0)) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (<= main_~x~0 2))} is UNKNOWN [2022-04-28 05:54:55,250 INFO L290 TraceCheckUtils]: 174: Hoare triple {28259#(and (<= (* main_~b~0 2) main_~y~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~q~0 main_~y~0 main_~x~0) (* main_~y~0 main_~s~0)) 0) (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~q~0 main_~y~0 main_~x~0) (* main_~y~0 main_~s~0)) main_~s~0) 0)) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (<= main_~x~0 2))} assume !(~c~0 >= ~b~0); {28263#(and (< main_~c~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~c~0)) (= main_~p~0 0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~k~0 2) (= main_~q~0 1) (<= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) main_~y~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:55,255 INFO L290 TraceCheckUtils]: 175: Hoare triple {28263#(and (< main_~c~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~c~0)) (= main_~p~0 0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~k~0 2) (= main_~q~0 1) (<= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) main_~y~0) (<= main_~x~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; {28267#(and (= 2 (* (- 1) main_~q~0)) (<= 0 main_~x~0) (= (mod (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0)) 0) (< main_~b~0 (+ (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) main_~x~0)) (<= (+ (* main_~x~0 2) (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2)) main_~y~0) (<= main_~y~0 (+ (* main_~x~0 2) main_~b~0 (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2))) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:55,256 INFO L290 TraceCheckUtils]: 176: Hoare triple {28267#(and (= 2 (* (- 1) main_~q~0)) (<= 0 main_~x~0) (= (mod (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0)) 0) (< main_~b~0 (+ (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) main_~x~0)) (<= (+ (* main_~x~0 2) (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2)) main_~y~0) (<= main_~y~0 (+ (* main_~x~0 2) main_~b~0 (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2))) (<= main_~x~0 2))} assume !false; {28267#(and (= 2 (* (- 1) main_~q~0)) (<= 0 main_~x~0) (= (mod (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0)) 0) (< main_~b~0 (+ (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) main_~x~0)) (<= (+ (* main_~x~0 2) (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2)) main_~y~0) (<= main_~y~0 (+ (* main_~x~0 2) main_~b~0 (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2))) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:55,257 INFO L290 TraceCheckUtils]: 177: Hoare triple {28267#(and (= 2 (* (- 1) main_~q~0)) (<= 0 main_~x~0) (= (mod (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0)) 0) (< main_~b~0 (+ (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) main_~x~0)) (<= (+ (* main_~x~0 2) (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2)) main_~y~0) (<= main_~y~0 (+ (* main_~x~0 2) main_~b~0 (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2))) (<= main_~x~0 2))} assume !(0 != ~b~0); {28274#(and (<= main_~y~0 (+ (* main_~x~0 2) (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2))) (= 2 (* (- 1) main_~q~0)) (<= 0 main_~x~0) (< 0 (+ (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) main_~x~0)) (= (mod (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0)) 0) (<= (+ (* main_~x~0 2) (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2)) main_~y~0) (<= main_~x~0 2))} is VALID [2022-04-28 05:54:55,261 INFO L272 TraceCheckUtils]: 178: Hoare triple {28274#(and (<= main_~y~0 (+ (* main_~x~0 2) (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2))) (= 2 (* (- 1) main_~q~0)) (<= 0 main_~x~0) (< 0 (+ (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) main_~x~0)) (= (mod (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0)) 0) (<= (+ (* main_~x~0 2) (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2)) main_~y~0) (<= main_~x~0 2))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {28278#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:54:55,261 INFO L290 TraceCheckUtils]: 179: Hoare triple {28278#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {28282#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:55,262 INFO L290 TraceCheckUtils]: 180: Hoare triple {28282#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27724#false} is VALID [2022-04-28 05:54:55,262 INFO L290 TraceCheckUtils]: 181: Hoare triple {27724#false} assume !false; {27724#false} is VALID [2022-04-28 05:54:55,263 INFO L134 CoverageAnalysis]: Checked inductivity of 1309 backedges. 178 proven. 96 refuted. 0 times theorem prover too weak. 1035 trivial. 0 not checked. [2022-04-28 05:54:55,263 INFO L328 TraceCheckSpWp]: Computing backward predicates...