/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_unwindbound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:16:44,380 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:16:44,381 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:16:44,415 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:16:44,416 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:16:44,417 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:16:44,419 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:16:44,421 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:16:44,422 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:16:44,425 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:16:44,425 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:16:44,426 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:16:44,426 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:16:44,428 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:16:44,429 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:16:44,431 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:16:44,431 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:16:44,431 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:16:44,433 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:16:44,437 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:16:44,438 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:16:44,439 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:16:44,439 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:16:44,440 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:16:44,441 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:16:44,445 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:16:44,446 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:16:44,446 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:16:44,446 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:16:44,447 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:16:44,447 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:16:44,447 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:16:44,449 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:16:44,449 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:16:44,449 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:16:44,450 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:16:44,450 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:16:44,450 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:16:44,450 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:16:44,451 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:16:44,451 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:16:44,453 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:16:44,453 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 12:16:44,475 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:16:44,475 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:16:44,476 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:16:44,476 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:16:44,476 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:16:44,476 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:16:44,476 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:16:44,476 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:16:44,476 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:16:44,477 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:16:44,477 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:16:44,477 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:16:44,477 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:16:44,477 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:16:44,477 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:16:44,477 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:16:44,478 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:16:44,478 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:16:44,478 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:16:44,478 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:16:44,478 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:16:44,478 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:16:44,478 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 12:16:44,804 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:16:44,831 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:16:44,833 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:16:44,834 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:16:44,847 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:16:44,849 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_unwindbound20.c [2022-04-28 12:16:44,921 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/daa3aa605/91fa6487f6834827a99ec1eb190f7c1c/FLAG3af784d8c [2022-04-28 12:16:45,461 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:16:45,461 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_unwindbound20.c [2022-04-28 12:16:45,465 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/daa3aa605/91fa6487f6834827a99ec1eb190f7c1c/FLAG3af784d8c [2022-04-28 12:16:45,817 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/daa3aa605/91fa6487f6834827a99ec1eb190f7c1c [2022-04-28 12:16:45,819 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:16:45,820 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:16:45,824 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:16:45,824 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:16:45,828 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:16:45,828 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:16:45" (1/1) ... [2022-04-28 12:16:45,829 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2e28e5dc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:16:45, skipping insertion in model container [2022-04-28 12:16:45,829 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:16:45" (1/1) ... [2022-04-28 12:16:45,868 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:16:45,896 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:16:46,108 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_unwindbound20.c[490,503] [2022-04-28 12:16:46,153 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:16:46,184 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:16:46,198 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_unwindbound20.c[490,503] [2022-04-28 12:16:46,227 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:16:46,243 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:16:46,259 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:16:46 WrapperNode [2022-04-28 12:16:46,259 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:16:46,260 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:16:46,260 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:16:46,261 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:16:46,268 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:16:46" (1/1) ... [2022-04-28 12:16:46,269 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:16:46" (1/1) ... [2022-04-28 12:16:46,295 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:16:46" (1/1) ... [2022-04-28 12:16:46,295 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:16:46" (1/1) ... [2022-04-28 12:16:46,307 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:16:46" (1/1) ... [2022-04-28 12:16:46,313 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:16:46" (1/1) ... [2022-04-28 12:16:46,317 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:16:46" (1/1) ... [2022-04-28 12:16:46,319 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:16:46,320 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:16:46,320 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:16:46,320 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:16:46,324 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:16:46" (1/1) ... [2022-04-28 12:16:46,344 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:16:46,352 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:16:46,392 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 12:16:46,439 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 12:16:46,466 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:16:46,466 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:16:46,466 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:16:46,466 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:16:46,479 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:16:46,480 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:16:46,480 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:16:46,480 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:16:46,480 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:16:46,480 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:16:46,480 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 12:16:46,480 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:16:46,480 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:16:46,481 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:16:46,481 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:16:46,482 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:16:46,482 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:16:46,482 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:16:46,482 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:16:46,482 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:16:46,548 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:16:46,549 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:16:46,801 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:16:46,806 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:16:46,806 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 12:16:46,808 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:16:46 BoogieIcfgContainer [2022-04-28 12:16:46,809 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:16:46,823 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:16:46,823 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:16:46,841 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:16:46,841 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:16:45" (1/3) ... [2022-04-28 12:16:46,842 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@17b330e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:16:46, skipping insertion in model container [2022-04-28 12:16:46,842 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:16:46" (2/3) ... [2022-04-28 12:16:46,842 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@17b330e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:16:46, skipping insertion in model container [2022-04-28 12:16:46,842 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:16:46" (3/3) ... [2022-04-28 12:16:46,843 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll_unwindbound20.c [2022-04-28 12:16:46,862 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:16:46,862 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:16:46,916 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:16:46,921 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@43716d33, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@33b84c0c [2022-04-28 12:16:46,921 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:16:46,926 INFO L276 IsEmpty]: Start isEmpty. Operand has 39 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 23 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:16:46,930 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 12:16:46,931 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:16:46,931 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:16:46,931 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:16:46,935 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:16:46,946 INFO L85 PathProgramCache]: Analyzing trace with hash 1950618521, now seen corresponding path program 1 times [2022-04-28 12:16:46,966 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:16:46,967 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [455138890] [2022-04-28 12:16:46,974 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:16:46,974 INFO L85 PathProgramCache]: Analyzing trace with hash 1950618521, now seen corresponding path program 2 times [2022-04-28 12:16:46,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:16:46,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [132804563] [2022-04-28 12:16:46,992 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:16:46,993 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:16:47,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:16:47,225 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:16:47,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:16:47,253 INFO L290 TraceCheckUtils]: 0: Hoare triple {63#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {42#true} is VALID [2022-04-28 12:16:47,253 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-28 12:16:47,253 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42#true} {42#true} #98#return; {42#true} is VALID [2022-04-28 12:16:47,254 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:16:47,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:16:47,282 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 12:16:47,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 12:16:47,282 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 12:16:47,283 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {42#true} #78#return; {43#false} is VALID [2022-04-28 12:16:47,283 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 12:16:47,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:16:47,297 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 12:16:47,297 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 12:16:47,298 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 12:16:47,298 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {43#false} #80#return; {43#false} is VALID [2022-04-28 12:16:47,298 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 12:16:47,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:16:47,325 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 12:16:47,326 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 12:16:47,326 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 12:16:47,326 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {43#false} #82#return; {43#false} is VALID [2022-04-28 12:16:47,326 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 12:16:47,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:16:47,336 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 12:16:47,336 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 12:16:47,336 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 12:16:47,337 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {43#false} #84#return; {43#false} is VALID [2022-04-28 12:16:47,339 INFO L272 TraceCheckUtils]: 0: Hoare triple {42#true} call ULTIMATE.init(); {63#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:16:47,339 INFO L290 TraceCheckUtils]: 1: Hoare triple {63#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {42#true} is VALID [2022-04-28 12:16:47,339 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-28 12:16:47,340 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#true} {42#true} #98#return; {42#true} is VALID [2022-04-28 12:16:47,340 INFO L272 TraceCheckUtils]: 4: Hoare triple {42#true} call #t~ret8 := main(); {42#true} is VALID [2022-04-28 12:16:47,340 INFO L290 TraceCheckUtils]: 5: Hoare triple {42#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {42#true} is VALID [2022-04-28 12:16:47,340 INFO L272 TraceCheckUtils]: 6: Hoare triple {42#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {42#true} is VALID [2022-04-28 12:16:47,341 INFO L290 TraceCheckUtils]: 7: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 12:16:47,341 INFO L290 TraceCheckUtils]: 8: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 12:16:47,341 INFO L290 TraceCheckUtils]: 9: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 12:16:47,341 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {43#false} {42#true} #78#return; {43#false} is VALID [2022-04-28 12:16:47,342 INFO L272 TraceCheckUtils]: 11: Hoare triple {43#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {42#true} is VALID [2022-04-28 12:16:47,342 INFO L290 TraceCheckUtils]: 12: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 12:16:47,342 INFO L290 TraceCheckUtils]: 13: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 12:16:47,342 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 12:16:47,342 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {43#false} {43#false} #80#return; {43#false} is VALID [2022-04-28 12:16:47,343 INFO L290 TraceCheckUtils]: 16: Hoare triple {43#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {43#false} is VALID [2022-04-28 12:16:47,344 INFO L272 TraceCheckUtils]: 17: Hoare triple {43#false} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {42#true} is VALID [2022-04-28 12:16:47,344 INFO L290 TraceCheckUtils]: 18: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 12:16:47,349 INFO L290 TraceCheckUtils]: 19: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 12:16:47,349 INFO L290 TraceCheckUtils]: 20: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 12:16:47,349 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {43#false} {43#false} #82#return; {43#false} is VALID [2022-04-28 12:16:47,350 INFO L272 TraceCheckUtils]: 22: Hoare triple {43#false} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {42#true} is VALID [2022-04-28 12:16:47,350 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 12:16:47,350 INFO L290 TraceCheckUtils]: 24: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 12:16:47,351 INFO L290 TraceCheckUtils]: 25: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 12:16:47,352 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {43#false} {43#false} #84#return; {43#false} is VALID [2022-04-28 12:16:47,352 INFO L290 TraceCheckUtils]: 27: Hoare triple {43#false} assume !true; {43#false} is VALID [2022-04-28 12:16:47,355 INFO L272 TraceCheckUtils]: 28: Hoare triple {43#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {43#false} is VALID [2022-04-28 12:16:47,355 INFO L290 TraceCheckUtils]: 29: Hoare triple {43#false} ~cond := #in~cond; {43#false} is VALID [2022-04-28 12:16:47,355 INFO L290 TraceCheckUtils]: 30: Hoare triple {43#false} assume 0 == ~cond; {43#false} is VALID [2022-04-28 12:16:47,355 INFO L290 TraceCheckUtils]: 31: Hoare triple {43#false} assume !false; {43#false} is VALID [2022-04-28 12:16:47,356 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:16:47,357 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:16:47,357 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [132804563] [2022-04-28 12:16:47,357 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [132804563] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:16:47,358 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:16:47,358 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:16:47,366 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:16:47,366 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [455138890] [2022-04-28 12:16:47,367 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [455138890] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:16:47,367 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:16:47,367 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:16:47,367 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [754453421] [2022-04-28 12:16:47,368 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:16:47,386 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 32 [2022-04-28 12:16:47,388 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:16:47,390 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:47,446 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:16:47,446 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 12:16:47,446 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:16:47,478 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 12:16:47,479 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:16:47,482 INFO L87 Difference]: Start difference. First operand has 39 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 23 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:47,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:47,795 INFO L93 Difference]: Finished difference Result 72 states and 112 transitions. [2022-04-28 12:16:47,795 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 12:16:47,799 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 32 [2022-04-28 12:16:47,799 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:16:47,800 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:47,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 112 transitions. [2022-04-28 12:16:47,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:47,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 112 transitions. [2022-04-28 12:16:47,822 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 112 transitions. [2022-04-28 12:16:47,992 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:16:48,001 INFO L225 Difference]: With dead ends: 72 [2022-04-28 12:16:48,001 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 12:16:48,004 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:16:48,007 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 25 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:16:48,008 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 49 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:16:48,037 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 12:16:48,054 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-28 12:16:48,055 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:16:48,055 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:16:48,072 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:16:48,073 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:16:48,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:48,080 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-28 12:16:48,080 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-28 12:16:48,081 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:16:48,081 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:16:48,082 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 35 states. [2022-04-28 12:16:48,082 INFO L87 Difference]: Start difference. First operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 35 states. [2022-04-28 12:16:48,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:48,087 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-28 12:16:48,088 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-28 12:16:48,088 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:16:48,088 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:16:48,089 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:16:48,089 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:16:48,090 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:16:48,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 45 transitions. [2022-04-28 12:16:48,093 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 45 transitions. Word has length 32 [2022-04-28 12:16:48,093 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:16:48,094 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 45 transitions. [2022-04-28 12:16:48,094 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:48,094 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 45 transitions. [2022-04-28 12:16:48,162 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:16:48,162 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 45 transitions. [2022-04-28 12:16:48,164 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 12:16:48,164 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:16:48,164 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:16:48,165 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 12:16:48,165 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:16:48,166 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:16:48,166 INFO L85 PathProgramCache]: Analyzing trace with hash -1734391985, now seen corresponding path program 1 times [2022-04-28 12:16:48,166 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:16:48,166 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1783635105] [2022-04-28 12:16:48,167 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:16:48,168 INFO L85 PathProgramCache]: Analyzing trace with hash -1734391985, now seen corresponding path program 2 times [2022-04-28 12:16:48,168 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:16:48,170 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [465654741] [2022-04-28 12:16:48,170 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:16:48,171 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:16:48,215 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:16:48,235 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1768236242] [2022-04-28 12:16:48,235 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:16:48,236 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:16:48,236 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:16:48,239 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 12:16:48,304 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 12:16:48,325 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:16:48,326 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:16:48,327 INFO L263 TraceCheckSpWp]: Trace formula consists of 78 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 12:16:48,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:16:48,358 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:16:48,655 INFO L272 TraceCheckUtils]: 0: Hoare triple {348#true} call ULTIMATE.init(); {348#true} is VALID [2022-04-28 12:16:48,656 INFO L290 TraceCheckUtils]: 1: Hoare triple {348#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,671 INFO L290 TraceCheckUtils]: 2: Hoare triple {356#(<= ~counter~0 0)} assume true; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,672 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {356#(<= ~counter~0 0)} {348#true} #98#return; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,674 INFO L272 TraceCheckUtils]: 4: Hoare triple {356#(<= ~counter~0 0)} call #t~ret8 := main(); {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,674 INFO L290 TraceCheckUtils]: 5: Hoare triple {356#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,675 INFO L272 TraceCheckUtils]: 6: Hoare triple {356#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,676 INFO L290 TraceCheckUtils]: 7: Hoare triple {356#(<= ~counter~0 0)} ~cond := #in~cond; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,676 INFO L290 TraceCheckUtils]: 8: Hoare triple {356#(<= ~counter~0 0)} assume !(0 == ~cond); {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,677 INFO L290 TraceCheckUtils]: 9: Hoare triple {356#(<= ~counter~0 0)} assume true; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,677 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {356#(<= ~counter~0 0)} {356#(<= ~counter~0 0)} #78#return; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,678 INFO L272 TraceCheckUtils]: 11: Hoare triple {356#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,678 INFO L290 TraceCheckUtils]: 12: Hoare triple {356#(<= ~counter~0 0)} ~cond := #in~cond; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,679 INFO L290 TraceCheckUtils]: 13: Hoare triple {356#(<= ~counter~0 0)} assume !(0 == ~cond); {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,679 INFO L290 TraceCheckUtils]: 14: Hoare triple {356#(<= ~counter~0 0)} assume true; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,679 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {356#(<= ~counter~0 0)} {356#(<= ~counter~0 0)} #80#return; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,680 INFO L290 TraceCheckUtils]: 16: Hoare triple {356#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,680 INFO L272 TraceCheckUtils]: 17: Hoare triple {356#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,681 INFO L290 TraceCheckUtils]: 18: Hoare triple {356#(<= ~counter~0 0)} ~cond := #in~cond; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,681 INFO L290 TraceCheckUtils]: 19: Hoare triple {356#(<= ~counter~0 0)} assume !(0 == ~cond); {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,681 INFO L290 TraceCheckUtils]: 20: Hoare triple {356#(<= ~counter~0 0)} assume true; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,682 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {356#(<= ~counter~0 0)} {356#(<= ~counter~0 0)} #82#return; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,682 INFO L272 TraceCheckUtils]: 22: Hoare triple {356#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,683 INFO L290 TraceCheckUtils]: 23: Hoare triple {356#(<= ~counter~0 0)} ~cond := #in~cond; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,683 INFO L290 TraceCheckUtils]: 24: Hoare triple {356#(<= ~counter~0 0)} assume !(0 == ~cond); {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,683 INFO L290 TraceCheckUtils]: 25: Hoare triple {356#(<= ~counter~0 0)} assume true; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,684 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {356#(<= ~counter~0 0)} {356#(<= ~counter~0 0)} #84#return; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:48,685 INFO L290 TraceCheckUtils]: 27: Hoare triple {356#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {435#(<= |main_#t~post6| 0)} is VALID [2022-04-28 12:16:48,685 INFO L290 TraceCheckUtils]: 28: Hoare triple {435#(<= |main_#t~post6| 0)} assume !(#t~post6 < 20);havoc #t~post6; {349#false} is VALID [2022-04-28 12:16:48,686 INFO L272 TraceCheckUtils]: 29: Hoare triple {349#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {349#false} is VALID [2022-04-28 12:16:48,686 INFO L290 TraceCheckUtils]: 30: Hoare triple {349#false} ~cond := #in~cond; {349#false} is VALID [2022-04-28 12:16:48,686 INFO L290 TraceCheckUtils]: 31: Hoare triple {349#false} assume 0 == ~cond; {349#false} is VALID [2022-04-28 12:16:48,686 INFO L290 TraceCheckUtils]: 32: Hoare triple {349#false} assume !false; {349#false} is VALID [2022-04-28 12:16:48,687 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:16:48,687 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:16:48,687 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:16:48,687 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [465654741] [2022-04-28 12:16:48,687 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:16:48,687 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1768236242] [2022-04-28 12:16:48,688 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1768236242] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:16:48,688 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:16:48,688 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:16:48,689 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:16:48,689 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1783635105] [2022-04-28 12:16:48,689 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1783635105] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:16:48,689 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:16:48,689 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:16:48,689 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1562412912] [2022-04-28 12:16:48,689 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:16:48,690 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 12:16:48,690 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:16:48,690 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:48,717 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:16:48,717 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 12:16:48,717 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:16:48,718 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 12:16:48,721 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 12:16:48,721 INFO L87 Difference]: Start difference. First operand 34 states and 45 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:48,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:48,850 INFO L93 Difference]: Finished difference Result 44 states and 56 transitions. [2022-04-28 12:16:48,850 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 12:16:48,850 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 12:16:48,851 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:16:48,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:48,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2022-04-28 12:16:48,854 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:48,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2022-04-28 12:16:48,857 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 56 transitions. [2022-04-28 12:16:48,915 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 12:16:48,917 INFO L225 Difference]: With dead ends: 44 [2022-04-28 12:16:48,917 INFO L226 Difference]: Without dead ends: 36 [2022-04-28 12:16:48,918 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 12:16:48,919 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 0 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 110 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:16:48,922 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 110 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:16:48,924 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-28 12:16:48,949 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 36. [2022-04-28 12:16:48,955 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:16:48,956 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:16:48,957 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:16:48,958 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:16:48,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:48,965 INFO L93 Difference]: Finished difference Result 36 states and 47 transitions. [2022-04-28 12:16:48,965 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 47 transitions. [2022-04-28 12:16:48,970 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:16:48,970 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:16:48,971 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 36 states. [2022-04-28 12:16:48,971 INFO L87 Difference]: Start difference. First operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 36 states. [2022-04-28 12:16:48,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:48,980 INFO L93 Difference]: Finished difference Result 36 states and 47 transitions. [2022-04-28 12:16:48,981 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 47 transitions. [2022-04-28 12:16:48,981 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:16:48,981 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:16:48,981 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:16:48,981 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:16:48,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:16:48,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 47 transitions. [2022-04-28 12:16:48,996 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 47 transitions. Word has length 33 [2022-04-28 12:16:48,996 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:16:48,997 INFO L495 AbstractCegarLoop]: Abstraction has 36 states and 47 transitions. [2022-04-28 12:16:48,997 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:48,997 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 47 transitions. [2022-04-28 12:16:49,052 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:16:49,053 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 47 transitions. [2022-04-28 12:16:49,053 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 12:16:49,053 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:16:49,053 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:16:49,099 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 12:16:49,270 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 12:16:49,270 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:16:49,271 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:16:49,271 INFO L85 PathProgramCache]: Analyzing trace with hash 2066454233, now seen corresponding path program 1 times [2022-04-28 12:16:49,271 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:16:49,271 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1508055495] [2022-04-28 12:16:49,271 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:16:49,271 INFO L85 PathProgramCache]: Analyzing trace with hash 2066454233, now seen corresponding path program 2 times [2022-04-28 12:16:49,271 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:16:49,271 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1185757009] [2022-04-28 12:16:49,272 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:16:49,272 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:16:49,288 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:16:49,289 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [286526435] [2022-04-28 12:16:49,289 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:16:49,289 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:16:49,289 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:16:49,300 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 12:16:49,301 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 12:16:49,368 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:16:49,369 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:16:49,369 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:16:49,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:16:49,392 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:16:49,574 INFO L272 TraceCheckUtils]: 0: Hoare triple {682#true} call ULTIMATE.init(); {682#true} is VALID [2022-04-28 12:16:49,574 INFO L290 TraceCheckUtils]: 1: Hoare triple {682#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {682#true} is VALID [2022-04-28 12:16:49,575 INFO L290 TraceCheckUtils]: 2: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 12:16:49,575 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {682#true} {682#true} #98#return; {682#true} is VALID [2022-04-28 12:16:49,575 INFO L272 TraceCheckUtils]: 4: Hoare triple {682#true} call #t~ret8 := main(); {682#true} is VALID [2022-04-28 12:16:49,575 INFO L290 TraceCheckUtils]: 5: Hoare triple {682#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {682#true} is VALID [2022-04-28 12:16:49,575 INFO L272 TraceCheckUtils]: 6: Hoare triple {682#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {682#true} is VALID [2022-04-28 12:16:49,575 INFO L290 TraceCheckUtils]: 7: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-28 12:16:49,575 INFO L290 TraceCheckUtils]: 8: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-28 12:16:49,576 INFO L290 TraceCheckUtils]: 9: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 12:16:49,576 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {682#true} {682#true} #78#return; {682#true} is VALID [2022-04-28 12:16:49,576 INFO L272 TraceCheckUtils]: 11: Hoare triple {682#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {682#true} is VALID [2022-04-28 12:16:49,576 INFO L290 TraceCheckUtils]: 12: Hoare triple {682#true} ~cond := #in~cond; {723#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:16:49,577 INFO L290 TraceCheckUtils]: 13: Hoare triple {723#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:16:49,577 INFO L290 TraceCheckUtils]: 14: Hoare triple {727#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:16:49,577 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {727#(not (= |assume_abort_if_not_#in~cond| 0))} {682#true} #80#return; {734#(<= 1 main_~y~0)} is VALID [2022-04-28 12:16:49,580 INFO L290 TraceCheckUtils]: 16: Hoare triple {734#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:16:49,582 INFO L272 TraceCheckUtils]: 17: Hoare triple {738#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {682#true} is VALID [2022-04-28 12:16:49,582 INFO L290 TraceCheckUtils]: 18: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-28 12:16:49,582 INFO L290 TraceCheckUtils]: 19: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-28 12:16:49,582 INFO L290 TraceCheckUtils]: 20: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 12:16:49,583 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {682#true} {738#(<= 1 main_~b~0)} #82#return; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:16:49,583 INFO L272 TraceCheckUtils]: 22: Hoare triple {738#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {682#true} is VALID [2022-04-28 12:16:49,583 INFO L290 TraceCheckUtils]: 23: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-28 12:16:49,583 INFO L290 TraceCheckUtils]: 24: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-28 12:16:49,583 INFO L290 TraceCheckUtils]: 25: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 12:16:49,584 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {682#true} {738#(<= 1 main_~b~0)} #84#return; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:16:49,584 INFO L290 TraceCheckUtils]: 27: Hoare triple {738#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:16:49,584 INFO L290 TraceCheckUtils]: 28: Hoare triple {738#(<= 1 main_~b~0)} assume !!(#t~post6 < 20);havoc #t~post6; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:16:49,585 INFO L290 TraceCheckUtils]: 29: Hoare triple {738#(<= 1 main_~b~0)} assume !(0 != ~b~0); {683#false} is VALID [2022-04-28 12:16:49,586 INFO L272 TraceCheckUtils]: 30: Hoare triple {683#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {683#false} is VALID [2022-04-28 12:16:49,586 INFO L290 TraceCheckUtils]: 31: Hoare triple {683#false} ~cond := #in~cond; {683#false} is VALID [2022-04-28 12:16:49,586 INFO L290 TraceCheckUtils]: 32: Hoare triple {683#false} assume 0 == ~cond; {683#false} is VALID [2022-04-28 12:16:49,587 INFO L290 TraceCheckUtils]: 33: Hoare triple {683#false} assume !false; {683#false} is VALID [2022-04-28 12:16:49,587 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 12:16:49,587 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:16:49,878 INFO L290 TraceCheckUtils]: 33: Hoare triple {683#false} assume !false; {683#false} is VALID [2022-04-28 12:16:49,888 INFO L290 TraceCheckUtils]: 32: Hoare triple {683#false} assume 0 == ~cond; {683#false} is VALID [2022-04-28 12:16:49,888 INFO L290 TraceCheckUtils]: 31: Hoare triple {683#false} ~cond := #in~cond; {683#false} is VALID [2022-04-28 12:16:49,888 INFO L272 TraceCheckUtils]: 30: Hoare triple {683#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {683#false} is VALID [2022-04-28 12:16:49,894 INFO L290 TraceCheckUtils]: 29: Hoare triple {738#(<= 1 main_~b~0)} assume !(0 != ~b~0); {683#false} is VALID [2022-04-28 12:16:49,894 INFO L290 TraceCheckUtils]: 28: Hoare triple {738#(<= 1 main_~b~0)} assume !!(#t~post6 < 20);havoc #t~post6; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:16:49,895 INFO L290 TraceCheckUtils]: 27: Hoare triple {738#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:16:49,895 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {682#true} {738#(<= 1 main_~b~0)} #84#return; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:16:49,895 INFO L290 TraceCheckUtils]: 25: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 12:16:49,896 INFO L290 TraceCheckUtils]: 24: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-28 12:16:49,896 INFO L290 TraceCheckUtils]: 23: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-28 12:16:49,896 INFO L272 TraceCheckUtils]: 22: Hoare triple {738#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {682#true} is VALID [2022-04-28 12:16:49,896 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {682#true} {738#(<= 1 main_~b~0)} #82#return; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:16:49,896 INFO L290 TraceCheckUtils]: 20: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 12:16:49,896 INFO L290 TraceCheckUtils]: 19: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-28 12:16:49,897 INFO L290 TraceCheckUtils]: 18: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-28 12:16:49,897 INFO L272 TraceCheckUtils]: 17: Hoare triple {738#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {682#true} is VALID [2022-04-28 12:16:49,897 INFO L290 TraceCheckUtils]: 16: Hoare triple {734#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:16:49,898 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {727#(not (= |assume_abort_if_not_#in~cond| 0))} {682#true} #80#return; {734#(<= 1 main_~y~0)} is VALID [2022-04-28 12:16:49,898 INFO L290 TraceCheckUtils]: 14: Hoare triple {727#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:16:49,898 INFO L290 TraceCheckUtils]: 13: Hoare triple {853#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:16:49,899 INFO L290 TraceCheckUtils]: 12: Hoare triple {682#true} ~cond := #in~cond; {853#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:16:49,899 INFO L272 TraceCheckUtils]: 11: Hoare triple {682#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {682#true} is VALID [2022-04-28 12:16:49,899 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {682#true} {682#true} #78#return; {682#true} is VALID [2022-04-28 12:16:49,899 INFO L290 TraceCheckUtils]: 9: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 12:16:49,899 INFO L290 TraceCheckUtils]: 8: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-28 12:16:49,899 INFO L290 TraceCheckUtils]: 7: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-28 12:16:49,899 INFO L272 TraceCheckUtils]: 6: Hoare triple {682#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {682#true} is VALID [2022-04-28 12:16:49,900 INFO L290 TraceCheckUtils]: 5: Hoare triple {682#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {682#true} is VALID [2022-04-28 12:16:49,900 INFO L272 TraceCheckUtils]: 4: Hoare triple {682#true} call #t~ret8 := main(); {682#true} is VALID [2022-04-28 12:16:49,900 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {682#true} {682#true} #98#return; {682#true} is VALID [2022-04-28 12:16:49,900 INFO L290 TraceCheckUtils]: 2: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 12:16:49,900 INFO L290 TraceCheckUtils]: 1: Hoare triple {682#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {682#true} is VALID [2022-04-28 12:16:49,900 INFO L272 TraceCheckUtils]: 0: Hoare triple {682#true} call ULTIMATE.init(); {682#true} is VALID [2022-04-28 12:16:49,900 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 12:16:49,900 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:16:49,901 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1185757009] [2022-04-28 12:16:49,901 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:16:49,901 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [286526435] [2022-04-28 12:16:49,901 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [286526435] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:16:49,901 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:16:49,901 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-28 12:16:49,901 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:16:49,901 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1508055495] [2022-04-28 12:16:49,901 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1508055495] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:16:49,901 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:16:49,901 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:16:49,902 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [457371811] [2022-04-28 12:16:49,902 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:16:49,902 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 12:16:49,902 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:16:49,902 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:49,937 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 12:16:49,937 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:16:49,937 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:16:49,938 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:16:49,938 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 12:16:49,938 INFO L87 Difference]: Start difference. First operand 36 states and 47 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:50,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:50,376 INFO L93 Difference]: Finished difference Result 53 states and 71 transitions. [2022-04-28 12:16:50,376 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:16:50,377 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 12:16:50,377 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:16:50,377 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:50,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 71 transitions. [2022-04-28 12:16:50,380 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:50,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 71 transitions. [2022-04-28 12:16:50,384 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 71 transitions. [2022-04-28 12:16:50,436 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 12:16:50,437 INFO L225 Difference]: With dead ends: 53 [2022-04-28 12:16:50,438 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 12:16:50,451 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 61 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:16:50,452 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 28 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 74 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 135 SdHoareTripleChecker+Invalid, 85 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 74 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:16:50,452 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 135 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 74 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:16:50,453 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 12:16:50,475 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 37. [2022-04-28 12:16:50,475 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:16:50,475 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:16:50,476 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:16:50,476 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:16:50,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:50,484 INFO L93 Difference]: Finished difference Result 45 states and 62 transitions. [2022-04-28 12:16:50,485 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-28 12:16:50,485 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:16:50,485 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:16:50,485 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 45 states. [2022-04-28 12:16:50,486 INFO L87 Difference]: Start difference. First operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 45 states. [2022-04-28 12:16:50,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:50,487 INFO L93 Difference]: Finished difference Result 45 states and 62 transitions. [2022-04-28 12:16:50,487 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-28 12:16:50,487 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:16:50,488 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:16:50,488 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:16:50,488 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:16:50,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:16:50,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 48 transitions. [2022-04-28 12:16:50,489 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 48 transitions. Word has length 34 [2022-04-28 12:16:50,492 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:16:50,492 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 48 transitions. [2022-04-28 12:16:50,493 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:50,493 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 48 transitions. [2022-04-28 12:16:50,536 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 12:16:50,536 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-04-28 12:16:50,538 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-28 12:16:50,538 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:16:50,538 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:16:50,558 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 12:16:50,755 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 12:16:50,756 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:16:50,756 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:16:50,756 INFO L85 PathProgramCache]: Analyzing trace with hash 1678606280, now seen corresponding path program 1 times [2022-04-28 12:16:50,756 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:16:50,756 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2079983195] [2022-04-28 12:16:50,756 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:16:50,757 INFO L85 PathProgramCache]: Analyzing trace with hash 1678606280, now seen corresponding path program 2 times [2022-04-28 12:16:50,757 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:16:50,757 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [81807560] [2022-04-28 12:16:50,757 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:16:50,757 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:16:50,770 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:16:50,770 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1913519199] [2022-04-28 12:16:50,771 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:16:50,771 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:16:50,771 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:16:50,793 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 12:16:50,795 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 12:16:50,855 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:16:50,855 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:16:50,863 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 12:16:50,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:16:50,874 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:16:51,027 INFO L272 TraceCheckUtils]: 0: Hoare triple {1166#true} call ULTIMATE.init(); {1166#true} is VALID [2022-04-28 12:16:51,027 INFO L290 TraceCheckUtils]: 1: Hoare triple {1166#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1166#true} is VALID [2022-04-28 12:16:51,027 INFO L290 TraceCheckUtils]: 2: Hoare triple {1166#true} assume true; {1166#true} is VALID [2022-04-28 12:16:51,027 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1166#true} {1166#true} #98#return; {1166#true} is VALID [2022-04-28 12:16:51,027 INFO L272 TraceCheckUtils]: 4: Hoare triple {1166#true} call #t~ret8 := main(); {1166#true} is VALID [2022-04-28 12:16:51,028 INFO L290 TraceCheckUtils]: 5: Hoare triple {1166#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1166#true} is VALID [2022-04-28 12:16:51,028 INFO L272 TraceCheckUtils]: 6: Hoare triple {1166#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1166#true} is VALID [2022-04-28 12:16:51,028 INFO L290 TraceCheckUtils]: 7: Hoare triple {1166#true} ~cond := #in~cond; {1166#true} is VALID [2022-04-28 12:16:51,028 INFO L290 TraceCheckUtils]: 8: Hoare triple {1166#true} assume !(0 == ~cond); {1166#true} is VALID [2022-04-28 12:16:51,028 INFO L290 TraceCheckUtils]: 9: Hoare triple {1166#true} assume true; {1166#true} is VALID [2022-04-28 12:16:51,028 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1166#true} {1166#true} #78#return; {1166#true} is VALID [2022-04-28 12:16:51,029 INFO L272 TraceCheckUtils]: 11: Hoare triple {1166#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1166#true} is VALID [2022-04-28 12:16:51,029 INFO L290 TraceCheckUtils]: 12: Hoare triple {1166#true} ~cond := #in~cond; {1166#true} is VALID [2022-04-28 12:16:51,029 INFO L290 TraceCheckUtils]: 13: Hoare triple {1166#true} assume !(0 == ~cond); {1166#true} is VALID [2022-04-28 12:16:51,029 INFO L290 TraceCheckUtils]: 14: Hoare triple {1166#true} assume true; {1166#true} is VALID [2022-04-28 12:16:51,029 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1166#true} {1166#true} #80#return; {1166#true} is VALID [2022-04-28 12:16:51,029 INFO L290 TraceCheckUtils]: 16: Hoare triple {1166#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1166#true} is VALID [2022-04-28 12:16:51,029 INFO L272 TraceCheckUtils]: 17: Hoare triple {1166#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1166#true} is VALID [2022-04-28 12:16:51,029 INFO L290 TraceCheckUtils]: 18: Hoare triple {1166#true} ~cond := #in~cond; {1166#true} is VALID [2022-04-28 12:16:51,030 INFO L290 TraceCheckUtils]: 19: Hoare triple {1166#true} assume !(0 == ~cond); {1166#true} is VALID [2022-04-28 12:16:51,030 INFO L290 TraceCheckUtils]: 20: Hoare triple {1166#true} assume true; {1166#true} is VALID [2022-04-28 12:16:51,030 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1166#true} {1166#true} #82#return; {1166#true} is VALID [2022-04-28 12:16:51,030 INFO L272 TraceCheckUtils]: 22: Hoare triple {1166#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1166#true} is VALID [2022-04-28 12:16:51,030 INFO L290 TraceCheckUtils]: 23: Hoare triple {1166#true} ~cond := #in~cond; {1166#true} is VALID [2022-04-28 12:16:51,030 INFO L290 TraceCheckUtils]: 24: Hoare triple {1166#true} assume !(0 == ~cond); {1166#true} is VALID [2022-04-28 12:16:51,030 INFO L290 TraceCheckUtils]: 25: Hoare triple {1166#true} assume true; {1166#true} is VALID [2022-04-28 12:16:51,030 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1166#true} {1166#true} #84#return; {1166#true} is VALID [2022-04-28 12:16:51,031 INFO L290 TraceCheckUtils]: 27: Hoare triple {1166#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1166#true} is VALID [2022-04-28 12:16:51,031 INFO L290 TraceCheckUtils]: 28: Hoare triple {1166#true} assume !!(#t~post6 < 20);havoc #t~post6; {1166#true} is VALID [2022-04-28 12:16:51,031 INFO L290 TraceCheckUtils]: 29: Hoare triple {1166#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1258#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 12:16:51,032 INFO L290 TraceCheckUtils]: 30: Hoare triple {1258#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1258#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 12:16:51,032 INFO L290 TraceCheckUtils]: 31: Hoare triple {1258#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} assume !!(#t~post7 < 20);havoc #t~post7; {1258#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 12:16:51,035 INFO L272 TraceCheckUtils]: 32: Hoare triple {1258#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1268#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:16:51,035 INFO L290 TraceCheckUtils]: 33: Hoare triple {1268#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1272#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:16:51,036 INFO L290 TraceCheckUtils]: 34: Hoare triple {1272#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1167#false} is VALID [2022-04-28 12:16:51,036 INFO L290 TraceCheckUtils]: 35: Hoare triple {1167#false} assume !false; {1167#false} is VALID [2022-04-28 12:16:51,036 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:16:51,037 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:16:51,037 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:16:51,037 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [81807560] [2022-04-28 12:16:51,037 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:16:51,037 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1913519199] [2022-04-28 12:16:51,037 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1913519199] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:16:51,037 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:16:51,037 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:16:51,037 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:16:51,037 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2079983195] [2022-04-28 12:16:51,038 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2079983195] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:16:51,038 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:16:51,038 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:16:51,038 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [61741931] [2022-04-28 12:16:51,038 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:16:51,038 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 36 [2022-04-28 12:16:51,039 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:16:51,039 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:16:51,055 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:16:51,055 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:16:51,055 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:16:51,056 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:16:51,056 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:16:51,057 INFO L87 Difference]: Start difference. First operand 37 states and 48 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:16:51,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:51,240 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-28 12:16:51,240 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:16:51,240 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 36 [2022-04-28 12:16:51,240 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:16:51,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:16:51,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:16:51,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:16:51,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:16:51,242 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-28 12:16:51,304 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:16:51,305 INFO L225 Difference]: With dead ends: 51 [2022-04-28 12:16:51,305 INFO L226 Difference]: Without dead ends: 49 [2022-04-28 12:16:51,305 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:16:51,306 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 7 mSDsluCounter, 107 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:16:51,306 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 150 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:16:51,306 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-04-28 12:16:51,357 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 44. [2022-04-28 12:16:51,357 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:16:51,357 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 44 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 28 states have internal predecessors, (32), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:16:51,358 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 44 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 28 states have internal predecessors, (32), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:16:51,358 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 44 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 28 states have internal predecessors, (32), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:16:51,360 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:51,360 INFO L93 Difference]: Finished difference Result 49 states and 65 transitions. [2022-04-28 12:16:51,360 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-28 12:16:51,360 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:16:51,360 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:16:51,360 INFO L74 IsIncluded]: Start isIncluded. First operand has 44 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 28 states have internal predecessors, (32), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 49 states. [2022-04-28 12:16:51,360 INFO L87 Difference]: Start difference. First operand has 44 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 28 states have internal predecessors, (32), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 49 states. [2022-04-28 12:16:51,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:51,362 INFO L93 Difference]: Finished difference Result 49 states and 65 transitions. [2022-04-28 12:16:51,362 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-28 12:16:51,362 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:16:51,363 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:16:51,363 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:16:51,363 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:16:51,363 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 28 states have internal predecessors, (32), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:16:51,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 56 transitions. [2022-04-28 12:16:51,380 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 56 transitions. Word has length 36 [2022-04-28 12:16:51,381 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:16:51,381 INFO L495 AbstractCegarLoop]: Abstraction has 44 states and 56 transitions. [2022-04-28 12:16:51,381 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:16:51,381 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 44 states and 56 transitions. [2022-04-28 12:16:51,442 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 12:16:51,442 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 56 transitions. [2022-04-28 12:16:51,443 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 12:16:51,443 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:16:51,443 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:16:51,474 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 12:16:51,659 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 12:16:51,660 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:16:51,660 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:16:51,660 INFO L85 PathProgramCache]: Analyzing trace with hash -2124209112, now seen corresponding path program 1 times [2022-04-28 12:16:51,660 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:16:51,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [91377783] [2022-04-28 12:16:51,660 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:16:51,661 INFO L85 PathProgramCache]: Analyzing trace with hash -2124209112, now seen corresponding path program 2 times [2022-04-28 12:16:51,661 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:16:51,661 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [48176534] [2022-04-28 12:16:51,661 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:16:51,661 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:16:51,673 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:16:51,673 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1367929983] [2022-04-28 12:16:51,673 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:16:51,673 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:16:51,673 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:16:51,700 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 12:16:51,750 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 12:16:51,776 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:16:51,776 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:16:51,787 INFO L263 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:16:51,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:16:51,797 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:16:51,988 INFO L272 TraceCheckUtils]: 0: Hoare triple {1568#true} call ULTIMATE.init(); {1568#true} is VALID [2022-04-28 12:16:52,007 INFO L290 TraceCheckUtils]: 1: Hoare triple {1568#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#(<= ~counter~0 0)} assume true; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,008 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#(<= ~counter~0 0)} {1568#true} #98#return; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,009 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#(<= ~counter~0 0)} call #t~ret8 := main(); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,009 INFO L290 TraceCheckUtils]: 5: Hoare triple {1576#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,010 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,010 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#(<= ~counter~0 0)} ~cond := #in~cond; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,010 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#(<= ~counter~0 0)} assume !(0 == ~cond); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,014 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#(<= ~counter~0 0)} assume true; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,014 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#(<= ~counter~0 0)} {1576#(<= ~counter~0 0)} #78#return; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,015 INFO L272 TraceCheckUtils]: 11: Hoare triple {1576#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,015 INFO L290 TraceCheckUtils]: 12: Hoare triple {1576#(<= ~counter~0 0)} ~cond := #in~cond; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,015 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#(<= ~counter~0 0)} assume !(0 == ~cond); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,015 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#(<= ~counter~0 0)} assume true; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,016 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1576#(<= ~counter~0 0)} {1576#(<= ~counter~0 0)} #80#return; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,016 INFO L290 TraceCheckUtils]: 16: Hoare triple {1576#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,017 INFO L272 TraceCheckUtils]: 17: Hoare triple {1576#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,017 INFO L290 TraceCheckUtils]: 18: Hoare triple {1576#(<= ~counter~0 0)} ~cond := #in~cond; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,017 INFO L290 TraceCheckUtils]: 19: Hoare triple {1576#(<= ~counter~0 0)} assume !(0 == ~cond); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,017 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#(<= ~counter~0 0)} assume true; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,018 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1576#(<= ~counter~0 0)} {1576#(<= ~counter~0 0)} #82#return; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,018 INFO L272 TraceCheckUtils]: 22: Hoare triple {1576#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,018 INFO L290 TraceCheckUtils]: 23: Hoare triple {1576#(<= ~counter~0 0)} ~cond := #in~cond; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,019 INFO L290 TraceCheckUtils]: 24: Hoare triple {1576#(<= ~counter~0 0)} assume !(0 == ~cond); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,019 INFO L290 TraceCheckUtils]: 25: Hoare triple {1576#(<= ~counter~0 0)} assume true; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,019 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1576#(<= ~counter~0 0)} {1576#(<= ~counter~0 0)} #84#return; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:52,020 INFO L290 TraceCheckUtils]: 27: Hoare triple {1576#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1655#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:52,020 INFO L290 TraceCheckUtils]: 28: Hoare triple {1655#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {1655#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:52,020 INFO L290 TraceCheckUtils]: 29: Hoare triple {1655#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1655#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:52,021 INFO L290 TraceCheckUtils]: 30: Hoare triple {1655#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1665#(<= |main_#t~post7| 1)} is VALID [2022-04-28 12:16:52,021 INFO L290 TraceCheckUtils]: 31: Hoare triple {1665#(<= |main_#t~post7| 1)} assume !(#t~post7 < 20);havoc #t~post7; {1569#false} is VALID [2022-04-28 12:16:52,021 INFO L290 TraceCheckUtils]: 32: Hoare triple {1569#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1569#false} is VALID [2022-04-28 12:16:52,021 INFO L290 TraceCheckUtils]: 33: Hoare triple {1569#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1569#false} is VALID [2022-04-28 12:16:52,021 INFO L290 TraceCheckUtils]: 34: Hoare triple {1569#false} assume !(#t~post6 < 20);havoc #t~post6; {1569#false} is VALID [2022-04-28 12:16:52,021 INFO L272 TraceCheckUtils]: 35: Hoare triple {1569#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {1569#false} is VALID [2022-04-28 12:16:52,022 INFO L290 TraceCheckUtils]: 36: Hoare triple {1569#false} ~cond := #in~cond; {1569#false} is VALID [2022-04-28 12:16:52,022 INFO L290 TraceCheckUtils]: 37: Hoare triple {1569#false} assume 0 == ~cond; {1569#false} is VALID [2022-04-28 12:16:52,022 INFO L290 TraceCheckUtils]: 38: Hoare triple {1569#false} assume !false; {1569#false} is VALID [2022-04-28 12:16:52,040 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:16:52,040 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:16:52,041 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:16:52,042 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [48176534] [2022-04-28 12:16:52,042 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:16:52,042 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1367929983] [2022-04-28 12:16:52,042 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1367929983] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:16:52,042 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:16:52,043 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:16:52,043 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:16:52,043 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [91377783] [2022-04-28 12:16:52,043 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [91377783] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:16:52,043 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:16:52,043 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:16:52,043 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1834990928] [2022-04-28 12:16:52,043 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:16:52,043 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-28 12:16:52,045 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:16:52,045 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:52,073 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 12:16:52,073 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:16:52,073 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:16:52,073 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:16:52,074 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:16:52,074 INFO L87 Difference]: Start difference. First operand 44 states and 56 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:52,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:52,266 INFO L93 Difference]: Finished difference Result 72 states and 94 transitions. [2022-04-28 12:16:52,266 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:16:52,266 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-28 12:16:52,266 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:16:52,266 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:52,267 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-28 12:16:52,267 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:52,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-28 12:16:52,269 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-28 12:16:52,351 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 12:16:52,353 INFO L225 Difference]: With dead ends: 72 [2022-04-28 12:16:52,353 INFO L226 Difference]: Without dead ends: 46 [2022-04-28 12:16:52,354 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:16:52,357 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 6 mSDsluCounter, 91 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:16:52,357 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 133 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:16:52,359 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-28 12:16:52,412 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-04-28 12:16:52,413 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:16:52,413 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 46 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:16:52,414 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 46 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:16:52,414 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 46 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:16:52,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:52,416 INFO L93 Difference]: Finished difference Result 46 states and 58 transitions. [2022-04-28 12:16:52,416 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 58 transitions. [2022-04-28 12:16:52,416 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:16:52,416 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:16:52,416 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 46 states. [2022-04-28 12:16:52,417 INFO L87 Difference]: Start difference. First operand has 46 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 46 states. [2022-04-28 12:16:52,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:52,418 INFO L93 Difference]: Finished difference Result 46 states and 58 transitions. [2022-04-28 12:16:52,418 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 58 transitions. [2022-04-28 12:16:52,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:16:52,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:16:52,419 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:16:52,419 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:16:52,419 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:16:52,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 58 transitions. [2022-04-28 12:16:52,420 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 58 transitions. Word has length 39 [2022-04-28 12:16:52,420 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:16:52,420 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 58 transitions. [2022-04-28 12:16:52,420 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:16:52,421 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 58 transitions. [2022-04-28 12:16:52,470 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:16:52,470 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 58 transitions. [2022-04-28 12:16:52,471 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 12:16:52,471 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:16:52,471 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:16:52,490 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 12:16:52,687 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 12:16:52,688 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:16:52,688 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:16:52,688 INFO L85 PathProgramCache]: Analyzing trace with hash 1052701339, now seen corresponding path program 1 times [2022-04-28 12:16:52,688 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:16:52,688 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2078608864] [2022-04-28 12:16:52,689 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:16:52,689 INFO L85 PathProgramCache]: Analyzing trace with hash 1052701339, now seen corresponding path program 2 times [2022-04-28 12:16:52,689 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:16:52,689 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [114512765] [2022-04-28 12:16:52,689 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:16:52,689 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:16:52,700 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:16:52,700 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1993186642] [2022-04-28 12:16:52,700 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:16:52,700 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:16:52,701 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:16:52,718 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 12:16:52,784 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 12:16:52,793 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:16:52,793 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:16:52,793 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 12:16:52,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:16:52,806 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:16:53,035 INFO L272 TraceCheckUtils]: 0: Hoare triple {2017#true} call ULTIMATE.init(); {2017#true} is VALID [2022-04-28 12:16:53,035 INFO L290 TraceCheckUtils]: 1: Hoare triple {2017#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2017#true} is VALID [2022-04-28 12:16:53,035 INFO L290 TraceCheckUtils]: 2: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:16:53,035 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2017#true} {2017#true} #98#return; {2017#true} is VALID [2022-04-28 12:16:53,036 INFO L272 TraceCheckUtils]: 4: Hoare triple {2017#true} call #t~ret8 := main(); {2017#true} is VALID [2022-04-28 12:16:53,036 INFO L290 TraceCheckUtils]: 5: Hoare triple {2017#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2017#true} is VALID [2022-04-28 12:16:53,036 INFO L272 TraceCheckUtils]: 6: Hoare triple {2017#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:16:53,036 INFO L290 TraceCheckUtils]: 7: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 12:16:53,036 INFO L290 TraceCheckUtils]: 8: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 12:16:53,036 INFO L290 TraceCheckUtils]: 9: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:16:53,036 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2017#true} {2017#true} #78#return; {2017#true} is VALID [2022-04-28 12:16:53,037 INFO L272 TraceCheckUtils]: 11: Hoare triple {2017#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:16:53,037 INFO L290 TraceCheckUtils]: 12: Hoare triple {2017#true} ~cond := #in~cond; {2058#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:16:53,037 INFO L290 TraceCheckUtils]: 13: Hoare triple {2058#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2062#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:16:53,037 INFO L290 TraceCheckUtils]: 14: Hoare triple {2062#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2062#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:16:53,038 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2062#(not (= |assume_abort_if_not_#in~cond| 0))} {2017#true} #80#return; {2069#(<= 1 main_~y~0)} is VALID [2022-04-28 12:16:53,038 INFO L290 TraceCheckUtils]: 16: Hoare triple {2069#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:53,039 INFO L272 TraceCheckUtils]: 17: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:16:53,039 INFO L290 TraceCheckUtils]: 18: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 12:16:53,043 INFO L290 TraceCheckUtils]: 19: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 12:16:53,044 INFO L290 TraceCheckUtils]: 20: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:16:53,049 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2017#true} {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:53,050 INFO L272 TraceCheckUtils]: 22: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:16:53,050 INFO L290 TraceCheckUtils]: 23: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 12:16:53,050 INFO L290 TraceCheckUtils]: 24: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 12:16:53,050 INFO L290 TraceCheckUtils]: 25: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:16:53,052 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2017#true} {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:53,052 INFO L290 TraceCheckUtils]: 27: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:53,055 INFO L290 TraceCheckUtils]: 28: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:53,055 INFO L290 TraceCheckUtils]: 29: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:53,056 INFO L290 TraceCheckUtils]: 30: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:53,056 INFO L290 TraceCheckUtils]: 31: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:53,056 INFO L272 TraceCheckUtils]: 32: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:16:53,056 INFO L290 TraceCheckUtils]: 33: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 12:16:53,056 INFO L290 TraceCheckUtils]: 34: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 12:16:53,056 INFO L290 TraceCheckUtils]: 35: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:16:53,057 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2017#true} {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:53,058 INFO L272 TraceCheckUtils]: 37: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2137#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:16:53,058 INFO L290 TraceCheckUtils]: 38: Hoare triple {2137#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2141#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:16:53,058 INFO L290 TraceCheckUtils]: 39: Hoare triple {2141#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2018#false} is VALID [2022-04-28 12:16:53,058 INFO L290 TraceCheckUtils]: 40: Hoare triple {2018#false} assume !false; {2018#false} is VALID [2022-04-28 12:16:53,058 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 5 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 12:16:53,059 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:16:53,315 INFO L290 TraceCheckUtils]: 40: Hoare triple {2018#false} assume !false; {2018#false} is VALID [2022-04-28 12:16:53,315 INFO L290 TraceCheckUtils]: 39: Hoare triple {2141#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2018#false} is VALID [2022-04-28 12:16:53,315 INFO L290 TraceCheckUtils]: 38: Hoare triple {2137#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2141#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:16:53,317 INFO L272 TraceCheckUtils]: 37: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2137#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:16:53,317 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2017#true} {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #86#return; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:16:53,317 INFO L290 TraceCheckUtils]: 35: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:16:53,318 INFO L290 TraceCheckUtils]: 34: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 12:16:53,318 INFO L290 TraceCheckUtils]: 33: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 12:16:53,318 INFO L272 TraceCheckUtils]: 32: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:16:53,318 INFO L290 TraceCheckUtils]: 31: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post7 < 20);havoc #t~post7; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:16:53,318 INFO L290 TraceCheckUtils]: 30: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:16:53,319 INFO L290 TraceCheckUtils]: 29: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:16:53,319 INFO L290 TraceCheckUtils]: 28: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:16:53,319 INFO L290 TraceCheckUtils]: 27: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:16:53,320 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2017#true} {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #84#return; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:16:53,320 INFO L290 TraceCheckUtils]: 25: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:16:53,320 INFO L290 TraceCheckUtils]: 24: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 12:16:53,320 INFO L290 TraceCheckUtils]: 23: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 12:16:53,320 INFO L272 TraceCheckUtils]: 22: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:16:53,321 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2017#true} {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #82#return; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:16:53,321 INFO L290 TraceCheckUtils]: 20: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:16:53,321 INFO L290 TraceCheckUtils]: 19: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 12:16:53,321 INFO L290 TraceCheckUtils]: 18: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 12:16:53,321 INFO L272 TraceCheckUtils]: 17: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:16:53,321 INFO L290 TraceCheckUtils]: 16: Hoare triple {2017#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:16:53,321 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2017#true} {2017#true} #80#return; {2017#true} is VALID [2022-04-28 12:16:53,322 INFO L290 TraceCheckUtils]: 14: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:16:53,322 INFO L290 TraceCheckUtils]: 13: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 12:16:53,322 INFO L290 TraceCheckUtils]: 12: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 12:16:53,322 INFO L272 TraceCheckUtils]: 11: Hoare triple {2017#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:16:53,322 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2017#true} {2017#true} #78#return; {2017#true} is VALID [2022-04-28 12:16:53,322 INFO L290 TraceCheckUtils]: 9: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:16:53,322 INFO L290 TraceCheckUtils]: 8: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 12:16:53,322 INFO L290 TraceCheckUtils]: 7: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 12:16:53,323 INFO L272 TraceCheckUtils]: 6: Hoare triple {2017#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:16:53,323 INFO L290 TraceCheckUtils]: 5: Hoare triple {2017#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2017#true} is VALID [2022-04-28 12:16:53,323 INFO L272 TraceCheckUtils]: 4: Hoare triple {2017#true} call #t~ret8 := main(); {2017#true} is VALID [2022-04-28 12:16:53,323 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2017#true} {2017#true} #98#return; {2017#true} is VALID [2022-04-28 12:16:53,324 INFO L290 TraceCheckUtils]: 2: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:16:53,324 INFO L290 TraceCheckUtils]: 1: Hoare triple {2017#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2017#true} is VALID [2022-04-28 12:16:53,324 INFO L272 TraceCheckUtils]: 0: Hoare triple {2017#true} call ULTIMATE.init(); {2017#true} is VALID [2022-04-28 12:16:53,324 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:16:53,324 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:16:53,325 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [114512765] [2022-04-28 12:16:53,325 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:16:53,325 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1993186642] [2022-04-28 12:16:53,325 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1993186642] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:16:53,325 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:16:53,325 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-28 12:16:53,325 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:16:53,326 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2078608864] [2022-04-28 12:16:53,326 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2078608864] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:16:53,326 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:16:53,326 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:16:53,326 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1733049367] [2022-04-28 12:16:53,326 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:16:53,327 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 41 [2022-04-28 12:16:53,327 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:16:53,327 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:16:53,365 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 12:16:53,365 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:16:53,365 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:16:53,366 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:16:53,367 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:16:53,368 INFO L87 Difference]: Start difference. First operand 46 states and 58 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:16:53,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:53,627 INFO L93 Difference]: Finished difference Result 61 states and 79 transitions. [2022-04-28 12:16:53,627 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:16:53,627 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 41 [2022-04-28 12:16:53,627 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:16:53,627 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:16:53,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-28 12:16:53,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:16:53,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-28 12:16:53,630 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 67 transitions. [2022-04-28 12:16:53,710 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 12:16:53,712 INFO L225 Difference]: With dead ends: 61 [2022-04-28 12:16:53,712 INFO L226 Difference]: Without dead ends: 59 [2022-04-28 12:16:53,712 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:16:53,713 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 8 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 157 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:16:53,713 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 157 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:16:53,713 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-04-28 12:16:53,797 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 58. [2022-04-28 12:16:53,797 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:16:53,797 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 58 states, 34 states have (on average 1.2352941176470589) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:16:53,798 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 58 states, 34 states have (on average 1.2352941176470589) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:16:53,815 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 58 states, 34 states have (on average 1.2352941176470589) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:16:53,817 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:53,817 INFO L93 Difference]: Finished difference Result 59 states and 77 transitions. [2022-04-28 12:16:53,817 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 77 transitions. [2022-04-28 12:16:53,818 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:16:53,818 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:16:53,818 INFO L74 IsIncluded]: Start isIncluded. First operand has 58 states, 34 states have (on average 1.2352941176470589) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 59 states. [2022-04-28 12:16:53,818 INFO L87 Difference]: Start difference. First operand has 58 states, 34 states have (on average 1.2352941176470589) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 59 states. [2022-04-28 12:16:53,820 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:53,820 INFO L93 Difference]: Finished difference Result 59 states and 77 transitions. [2022-04-28 12:16:53,820 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 77 transitions. [2022-04-28 12:16:53,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:16:53,820 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:16:53,820 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:16:53,820 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:16:53,820 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 34 states have (on average 1.2352941176470589) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:16:53,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 76 transitions. [2022-04-28 12:16:53,822 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 76 transitions. Word has length 41 [2022-04-28 12:16:53,822 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:16:53,822 INFO L495 AbstractCegarLoop]: Abstraction has 58 states and 76 transitions. [2022-04-28 12:16:53,822 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:16:53,822 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 58 states and 76 transitions. [2022-04-28 12:16:53,927 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 12:16:53,927 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 76 transitions. [2022-04-28 12:16:53,928 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 12:16:53,928 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:16:53,928 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:16:53,961 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 12:16:54,143 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 12:16:54,143 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:16:54,144 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:16:54,144 INFO L85 PathProgramCache]: Analyzing trace with hash 1531994984, now seen corresponding path program 1 times [2022-04-28 12:16:54,144 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:16:54,144 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1681780193] [2022-04-28 12:16:54,144 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:16:54,144 INFO L85 PathProgramCache]: Analyzing trace with hash 1531994984, now seen corresponding path program 2 times [2022-04-28 12:16:54,144 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:16:54,144 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [758131532] [2022-04-28 12:16:54,144 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:16:54,145 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:16:54,156 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:16:54,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1449554516] [2022-04-28 12:16:54,156 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:16:54,156 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:16:54,156 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:16:54,180 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 12:16:54,214 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 12:16:54,258 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:16:54,259 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:16:54,259 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 12:16:54,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:16:54,276 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:16:54,627 INFO L272 TraceCheckUtils]: 0: Hoare triple {2629#true} call ULTIMATE.init(); {2629#true} is VALID [2022-04-28 12:16:54,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {2629#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2629#true} is VALID [2022-04-28 12:16:54,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:16:54,627 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2629#true} {2629#true} #98#return; {2629#true} is VALID [2022-04-28 12:16:54,627 INFO L272 TraceCheckUtils]: 4: Hoare triple {2629#true} call #t~ret8 := main(); {2629#true} is VALID [2022-04-28 12:16:54,627 INFO L290 TraceCheckUtils]: 5: Hoare triple {2629#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2629#true} is VALID [2022-04-28 12:16:54,627 INFO L272 TraceCheckUtils]: 6: Hoare triple {2629#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:16:54,628 INFO L290 TraceCheckUtils]: 7: Hoare triple {2629#true} ~cond := #in~cond; {2655#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:16:54,628 INFO L290 TraceCheckUtils]: 8: Hoare triple {2655#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2659#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:16:54,628 INFO L290 TraceCheckUtils]: 9: Hoare triple {2659#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2659#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:16:54,629 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2659#(not (= |assume_abort_if_not_#in~cond| 0))} {2629#true} #78#return; {2666#(<= 1 main_~x~0)} is VALID [2022-04-28 12:16:54,629 INFO L272 TraceCheckUtils]: 11: Hoare triple {2666#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:16:54,629 INFO L290 TraceCheckUtils]: 12: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:16:54,629 INFO L290 TraceCheckUtils]: 13: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:16:54,629 INFO L290 TraceCheckUtils]: 14: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:16:54,629 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2629#true} {2666#(<= 1 main_~x~0)} #80#return; {2666#(<= 1 main_~x~0)} is VALID [2022-04-28 12:16:54,630 INFO L290 TraceCheckUtils]: 16: Hoare triple {2666#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:16:54,634 INFO L272 TraceCheckUtils]: 17: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:16:54,634 INFO L290 TraceCheckUtils]: 18: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:16:54,634 INFO L290 TraceCheckUtils]: 19: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:16:54,634 INFO L290 TraceCheckUtils]: 20: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:16:54,635 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2629#true} {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #82#return; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:16:54,635 INFO L272 TraceCheckUtils]: 22: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:16:54,635 INFO L290 TraceCheckUtils]: 23: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:16:54,635 INFO L290 TraceCheckUtils]: 24: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:16:54,635 INFO L290 TraceCheckUtils]: 25: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:16:54,636 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2629#true} {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #84#return; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:16:54,636 INFO L290 TraceCheckUtils]: 27: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:16:54,637 INFO L290 TraceCheckUtils]: 28: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:16:54,637 INFO L290 TraceCheckUtils]: 29: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:16:54,638 INFO L290 TraceCheckUtils]: 30: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:16:54,638 INFO L290 TraceCheckUtils]: 31: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post7 < 20);havoc #t~post7; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:16:54,638 INFO L272 TraceCheckUtils]: 32: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:16:54,638 INFO L290 TraceCheckUtils]: 33: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:16:54,638 INFO L290 TraceCheckUtils]: 34: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:16:54,638 INFO L290 TraceCheckUtils]: 35: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:16:54,639 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2629#true} {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #86#return; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:16:54,639 INFO L272 TraceCheckUtils]: 37: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:16:54,639 INFO L290 TraceCheckUtils]: 38: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:16:54,639 INFO L290 TraceCheckUtils]: 39: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:16:54,639 INFO L290 TraceCheckUtils]: 40: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:16:54,640 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2629#true} {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #88#return; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:16:54,640 INFO L272 TraceCheckUtils]: 42: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2764#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:16:54,641 INFO L290 TraceCheckUtils]: 43: Hoare triple {2764#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2768#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:16:54,641 INFO L290 TraceCheckUtils]: 44: Hoare triple {2768#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2630#false} is VALID [2022-04-28 12:16:54,641 INFO L290 TraceCheckUtils]: 45: Hoare triple {2630#false} assume !false; {2630#false} is VALID [2022-04-28 12:16:54,641 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 12:16:54,641 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:16:54,898 INFO L290 TraceCheckUtils]: 45: Hoare triple {2630#false} assume !false; {2630#false} is VALID [2022-04-28 12:16:54,899 INFO L290 TraceCheckUtils]: 44: Hoare triple {2768#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2630#false} is VALID [2022-04-28 12:16:54,899 INFO L290 TraceCheckUtils]: 43: Hoare triple {2764#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2768#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:16:54,900 INFO L272 TraceCheckUtils]: 42: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2764#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:16:54,900 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2629#true} {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #88#return; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:16:54,900 INFO L290 TraceCheckUtils]: 40: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:16:54,900 INFO L290 TraceCheckUtils]: 39: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:16:54,901 INFO L290 TraceCheckUtils]: 38: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:16:54,901 INFO L272 TraceCheckUtils]: 37: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:16:54,901 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2629#true} {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #86#return; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:16:54,901 INFO L290 TraceCheckUtils]: 35: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:16:54,901 INFO L290 TraceCheckUtils]: 34: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:16:54,901 INFO L290 TraceCheckUtils]: 33: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:16:54,901 INFO L272 TraceCheckUtils]: 32: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:16:54,902 INFO L290 TraceCheckUtils]: 31: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post7 < 20);havoc #t~post7; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:16:54,902 INFO L290 TraceCheckUtils]: 30: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:16:54,902 INFO L290 TraceCheckUtils]: 29: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:16:54,903 INFO L290 TraceCheckUtils]: 28: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:16:54,915 INFO L290 TraceCheckUtils]: 27: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:16:54,916 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2629#true} {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #84#return; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:16:54,916 INFO L290 TraceCheckUtils]: 25: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:16:54,916 INFO L290 TraceCheckUtils]: 24: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:16:54,916 INFO L290 TraceCheckUtils]: 23: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:16:54,916 INFO L272 TraceCheckUtils]: 22: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:16:54,917 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2629#true} {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #82#return; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:16:54,917 INFO L290 TraceCheckUtils]: 20: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:16:54,917 INFO L290 TraceCheckUtils]: 19: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:16:54,917 INFO L290 TraceCheckUtils]: 18: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:16:54,917 INFO L272 TraceCheckUtils]: 17: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:16:54,917 INFO L290 TraceCheckUtils]: 16: Hoare triple {2629#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:16:54,917 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2629#true} {2629#true} #80#return; {2629#true} is VALID [2022-04-28 12:16:54,917 INFO L290 TraceCheckUtils]: 14: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:16:54,917 INFO L290 TraceCheckUtils]: 13: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:16:54,918 INFO L290 TraceCheckUtils]: 12: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:16:54,918 INFO L272 TraceCheckUtils]: 11: Hoare triple {2629#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:16:54,918 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2629#true} {2629#true} #78#return; {2629#true} is VALID [2022-04-28 12:16:54,918 INFO L290 TraceCheckUtils]: 9: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:16:54,918 INFO L290 TraceCheckUtils]: 8: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:16:54,918 INFO L290 TraceCheckUtils]: 7: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:16:54,918 INFO L272 TraceCheckUtils]: 6: Hoare triple {2629#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:16:54,918 INFO L290 TraceCheckUtils]: 5: Hoare triple {2629#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2629#true} is VALID [2022-04-28 12:16:54,918 INFO L272 TraceCheckUtils]: 4: Hoare triple {2629#true} call #t~ret8 := main(); {2629#true} is VALID [2022-04-28 12:16:54,918 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2629#true} {2629#true} #98#return; {2629#true} is VALID [2022-04-28 12:16:54,918 INFO L290 TraceCheckUtils]: 2: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:16:54,918 INFO L290 TraceCheckUtils]: 1: Hoare triple {2629#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2629#true} is VALID [2022-04-28 12:16:54,918 INFO L272 TraceCheckUtils]: 0: Hoare triple {2629#true} call ULTIMATE.init(); {2629#true} is VALID [2022-04-28 12:16:54,918 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 12:16:54,919 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:16:54,919 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [758131532] [2022-04-28 12:16:54,919 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:16:54,919 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1449554516] [2022-04-28 12:16:54,919 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1449554516] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:16:54,919 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:16:54,919 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-28 12:16:54,919 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:16:54,919 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1681780193] [2022-04-28 12:16:54,919 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1681780193] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:16:54,919 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:16:54,919 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:16:54,919 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1612211775] [2022-04-28 12:16:54,919 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:16:54,920 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 46 [2022-04-28 12:16:54,920 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:16:54,920 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:16:54,955 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:16:54,955 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:16:54,956 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:16:54,956 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:16:54,956 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:16:54,956 INFO L87 Difference]: Start difference. First operand 58 states and 76 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:16:55,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:55,281 INFO L93 Difference]: Finished difference Result 65 states and 82 transitions. [2022-04-28 12:16:55,281 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:16:55,281 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 46 [2022-04-28 12:16:55,281 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:16:55,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:16:55,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-28 12:16:55,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:16:55,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-28 12:16:55,284 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 67 transitions. [2022-04-28 12:16:55,352 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 12:16:55,354 INFO L225 Difference]: With dead ends: 65 [2022-04-28 12:16:55,354 INFO L226 Difference]: Without dead ends: 63 [2022-04-28 12:16:55,354 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 83 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:16:55,355 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 148 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:16:55,356 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 148 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:16:55,357 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-28 12:16:55,446 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 62. [2022-04-28 12:16:55,446 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:16:55,446 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 62 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 40 states have internal predecessors, (45), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:16:55,447 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 62 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 40 states have internal predecessors, (45), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:16:55,447 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 62 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 40 states have internal predecessors, (45), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:16:55,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:55,449 INFO L93 Difference]: Finished difference Result 63 states and 80 transitions. [2022-04-28 12:16:55,449 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 80 transitions. [2022-04-28 12:16:55,449 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:16:55,449 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:16:55,449 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 40 states have internal predecessors, (45), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 63 states. [2022-04-28 12:16:55,449 INFO L87 Difference]: Start difference. First operand has 62 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 40 states have internal predecessors, (45), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 63 states. [2022-04-28 12:16:55,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:55,452 INFO L93 Difference]: Finished difference Result 63 states and 80 transitions. [2022-04-28 12:16:55,452 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 80 transitions. [2022-04-28 12:16:55,452 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:16:55,452 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:16:55,452 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:16:55,452 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:16:55,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 40 states have internal predecessors, (45), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:16:55,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 79 transitions. [2022-04-28 12:16:55,469 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 79 transitions. Word has length 46 [2022-04-28 12:16:55,469 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:16:55,469 INFO L495 AbstractCegarLoop]: Abstraction has 62 states and 79 transitions. [2022-04-28 12:16:55,469 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:16:55,469 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 62 states and 79 transitions. [2022-04-28 12:16:55,591 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:16:55,592 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 79 transitions. [2022-04-28 12:16:55,592 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 12:16:55,592 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:16:55,592 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:16:55,625 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 12:16:55,809 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 12:16:55,809 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:16:55,809 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:16:55,809 INFO L85 PathProgramCache]: Analyzing trace with hash -300711301, now seen corresponding path program 1 times [2022-04-28 12:16:55,809 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:16:55,810 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1051791830] [2022-04-28 12:16:55,810 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:16:55,810 INFO L85 PathProgramCache]: Analyzing trace with hash -300711301, now seen corresponding path program 2 times [2022-04-28 12:16:55,810 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:16:55,810 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1037511392] [2022-04-28 12:16:55,810 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:16:55,810 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:16:55,822 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:16:55,822 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [281583402] [2022-04-28 12:16:55,822 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:16:55,822 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:16:55,822 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:16:55,848 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 12:16:55,879 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 12:16:55,932 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:16:55,932 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:16:55,933 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 12:16:55,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:16:55,952 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:16:59,189 INFO L272 TraceCheckUtils]: 0: Hoare triple {3295#true} call ULTIMATE.init(); {3295#true} is VALID [2022-04-28 12:16:59,189 INFO L290 TraceCheckUtils]: 1: Hoare triple {3295#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3295#true} is VALID [2022-04-28 12:16:59,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {3295#true} assume true; {3295#true} is VALID [2022-04-28 12:16:59,190 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3295#true} {3295#true} #98#return; {3295#true} is VALID [2022-04-28 12:16:59,190 INFO L272 TraceCheckUtils]: 4: Hoare triple {3295#true} call #t~ret8 := main(); {3295#true} is VALID [2022-04-28 12:16:59,190 INFO L290 TraceCheckUtils]: 5: Hoare triple {3295#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3295#true} is VALID [2022-04-28 12:16:59,190 INFO L272 TraceCheckUtils]: 6: Hoare triple {3295#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3295#true} is VALID [2022-04-28 12:16:59,190 INFO L290 TraceCheckUtils]: 7: Hoare triple {3295#true} ~cond := #in~cond; {3295#true} is VALID [2022-04-28 12:16:59,190 INFO L290 TraceCheckUtils]: 8: Hoare triple {3295#true} assume !(0 == ~cond); {3295#true} is VALID [2022-04-28 12:16:59,190 INFO L290 TraceCheckUtils]: 9: Hoare triple {3295#true} assume true; {3295#true} is VALID [2022-04-28 12:16:59,190 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3295#true} {3295#true} #78#return; {3295#true} is VALID [2022-04-28 12:16:59,190 INFO L272 TraceCheckUtils]: 11: Hoare triple {3295#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3295#true} is VALID [2022-04-28 12:16:59,190 INFO L290 TraceCheckUtils]: 12: Hoare triple {3295#true} ~cond := #in~cond; {3295#true} is VALID [2022-04-28 12:16:59,190 INFO L290 TraceCheckUtils]: 13: Hoare triple {3295#true} assume !(0 == ~cond); {3295#true} is VALID [2022-04-28 12:16:59,190 INFO L290 TraceCheckUtils]: 14: Hoare triple {3295#true} assume true; {3295#true} is VALID [2022-04-28 12:16:59,190 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3295#true} {3295#true} #80#return; {3295#true} is VALID [2022-04-28 12:16:59,191 INFO L290 TraceCheckUtils]: 16: Hoare triple {3295#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:16:59,191 INFO L272 TraceCheckUtils]: 17: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3295#true} is VALID [2022-04-28 12:16:59,191 INFO L290 TraceCheckUtils]: 18: Hoare triple {3295#true} ~cond := #in~cond; {3295#true} is VALID [2022-04-28 12:16:59,191 INFO L290 TraceCheckUtils]: 19: Hoare triple {3295#true} assume !(0 == ~cond); {3295#true} is VALID [2022-04-28 12:16:59,191 INFO L290 TraceCheckUtils]: 20: Hoare triple {3295#true} assume true; {3295#true} is VALID [2022-04-28 12:16:59,192 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3295#true} {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #82#return; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:16:59,192 INFO L272 TraceCheckUtils]: 22: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3295#true} is VALID [2022-04-28 12:16:59,192 INFO L290 TraceCheckUtils]: 23: Hoare triple {3295#true} ~cond := #in~cond; {3295#true} is VALID [2022-04-28 12:16:59,192 INFO L290 TraceCheckUtils]: 24: Hoare triple {3295#true} assume !(0 == ~cond); {3295#true} is VALID [2022-04-28 12:16:59,192 INFO L290 TraceCheckUtils]: 25: Hoare triple {3295#true} assume true; {3295#true} is VALID [2022-04-28 12:16:59,192 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3295#true} {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #84#return; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:16:59,193 INFO L290 TraceCheckUtils]: 27: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:16:59,193 INFO L290 TraceCheckUtils]: 28: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:16:59,194 INFO L290 TraceCheckUtils]: 29: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:16:59,194 INFO L290 TraceCheckUtils]: 30: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:16:59,203 INFO L290 TraceCheckUtils]: 31: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !!(#t~post7 < 20);havoc #t~post7; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:16:59,203 INFO L272 TraceCheckUtils]: 32: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3295#true} is VALID [2022-04-28 12:16:59,203 INFO L290 TraceCheckUtils]: 33: Hoare triple {3295#true} ~cond := #in~cond; {3295#true} is VALID [2022-04-28 12:16:59,203 INFO L290 TraceCheckUtils]: 34: Hoare triple {3295#true} assume !(0 == ~cond); {3295#true} is VALID [2022-04-28 12:16:59,204 INFO L290 TraceCheckUtils]: 35: Hoare triple {3295#true} assume true; {3295#true} is VALID [2022-04-28 12:16:59,204 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3295#true} {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #86#return; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:16:59,204 INFO L272 TraceCheckUtils]: 37: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3295#true} is VALID [2022-04-28 12:16:59,205 INFO L290 TraceCheckUtils]: 38: Hoare triple {3295#true} ~cond := #in~cond; {3415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:16:59,205 INFO L290 TraceCheckUtils]: 39: Hoare triple {3415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:16:59,205 INFO L290 TraceCheckUtils]: 40: Hoare triple {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:16:59,206 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #88#return; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:16:59,206 INFO L272 TraceCheckUtils]: 42: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3295#true} is VALID [2022-04-28 12:16:59,206 INFO L290 TraceCheckUtils]: 43: Hoare triple {3295#true} ~cond := #in~cond; {3415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:16:59,207 INFO L290 TraceCheckUtils]: 44: Hoare triple {3415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:16:59,207 INFO L290 TraceCheckUtils]: 45: Hoare triple {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:16:59,207 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #90#return; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:16:59,208 INFO L272 TraceCheckUtils]: 47: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3444#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:16:59,209 INFO L290 TraceCheckUtils]: 48: Hoare triple {3444#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3448#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:16:59,209 INFO L290 TraceCheckUtils]: 49: Hoare triple {3448#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3296#false} is VALID [2022-04-28 12:16:59,209 INFO L290 TraceCheckUtils]: 50: Hoare triple {3296#false} assume !false; {3296#false} is VALID [2022-04-28 12:16:59,209 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 10 proven. 2 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-28 12:16:59,209 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:17:37,046 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:17:37,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1037511392] [2022-04-28 12:17:37,046 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:17:37,047 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [281583402] [2022-04-28 12:17:37,047 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [281583402] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:17:37,047 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:17:37,047 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2022-04-28 12:17:37,048 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:17:37,048 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1051791830] [2022-04-28 12:17:37,048 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1051791830] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:17:37,048 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:17:37,048 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:17:37,048 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [665996742] [2022-04-28 12:17:37,048 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:17:37,048 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-28 12:17:37,049 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:17:37,049 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:17:37,091 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:17:37,091 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:17:37,091 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:17:37,092 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:17:37,092 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:17:37,092 INFO L87 Difference]: Start difference. First operand 62 states and 79 transitions. Second operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:17:37,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:17:37,506 INFO L93 Difference]: Finished difference Result 69 states and 85 transitions. [2022-04-28 12:17:37,506 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 12:17:37,506 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-28 12:17:37,506 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:17:37,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:17:37,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 67 transitions. [2022-04-28 12:17:37,507 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:17:37,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 67 transitions. [2022-04-28 12:17:37,508 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 67 transitions. [2022-04-28 12:17:37,571 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 12:17:37,575 INFO L225 Difference]: With dead ends: 69 [2022-04-28 12:17:37,575 INFO L226 Difference]: Without dead ends: 67 [2022-04-28 12:17:37,576 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 47 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:17:37,576 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 12 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 128 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:17:37,576 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 160 Invalid, 128 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:17:37,577 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-28 12:17:37,624 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 66. [2022-04-28 12:17:37,624 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:17:37,624 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 66 states, 40 states have (on average 1.2) internal successors, (48), 43 states have internal predecessors, (48), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:17:37,624 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 66 states, 40 states have (on average 1.2) internal successors, (48), 43 states have internal predecessors, (48), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:17:37,625 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 66 states, 40 states have (on average 1.2) internal successors, (48), 43 states have internal predecessors, (48), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:17:37,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:17:37,626 INFO L93 Difference]: Finished difference Result 67 states and 83 transitions. [2022-04-28 12:17:37,626 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 83 transitions. [2022-04-28 12:17:37,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:17:37,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:17:37,627 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 40 states have (on average 1.2) internal successors, (48), 43 states have internal predecessors, (48), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-28 12:17:37,627 INFO L87 Difference]: Start difference. First operand has 66 states, 40 states have (on average 1.2) internal successors, (48), 43 states have internal predecessors, (48), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-28 12:17:37,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:17:37,629 INFO L93 Difference]: Finished difference Result 67 states and 83 transitions. [2022-04-28 12:17:37,629 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 83 transitions. [2022-04-28 12:17:37,629 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:17:37,629 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:17:37,629 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:17:37,629 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:17:37,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 40 states have (on average 1.2) internal successors, (48), 43 states have internal predecessors, (48), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:17:37,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 82 transitions. [2022-04-28 12:17:37,631 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 82 transitions. Word has length 51 [2022-04-28 12:17:37,631 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:17:37,631 INFO L495 AbstractCegarLoop]: Abstraction has 66 states and 82 transitions. [2022-04-28 12:17:37,631 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:17:37,631 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 66 states and 82 transitions. [2022-04-28 12:17:37,709 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:17:37,709 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 82 transitions. [2022-04-28 12:17:37,710 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 12:17:37,710 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:17:37,710 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:17:37,732 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 12:17:37,926 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 12:17:37,927 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:17:37,927 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:17:37,927 INFO L85 PathProgramCache]: Analyzing trace with hash -2044027516, now seen corresponding path program 1 times [2022-04-28 12:17:37,927 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:17:37,927 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1452168550] [2022-04-28 12:17:37,928 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:17:37,928 INFO L85 PathProgramCache]: Analyzing trace with hash -2044027516, now seen corresponding path program 2 times [2022-04-28 12:17:37,928 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:17:37,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [795605638] [2022-04-28 12:17:37,928 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:17:37,928 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:17:37,985 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:17:37,985 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [897511633] [2022-04-28 12:17:37,986 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:17:37,986 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:17:37,986 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:17:37,993 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 12:17:37,994 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 12:17:38,056 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:17:38,058 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:17:38,059 INFO L263 TraceCheckSpWp]: Trace formula consists of 181 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:17:38,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:17:38,070 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:17:38,291 INFO L272 TraceCheckUtils]: 0: Hoare triple {3879#true} call ULTIMATE.init(); {3879#true} is VALID [2022-04-28 12:17:38,291 INFO L290 TraceCheckUtils]: 1: Hoare triple {3879#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3879#true} is VALID [2022-04-28 12:17:38,291 INFO L290 TraceCheckUtils]: 2: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:17:38,291 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3879#true} {3879#true} #98#return; {3879#true} is VALID [2022-04-28 12:17:38,291 INFO L272 TraceCheckUtils]: 4: Hoare triple {3879#true} call #t~ret8 := main(); {3879#true} is VALID [2022-04-28 12:17:38,291 INFO L290 TraceCheckUtils]: 5: Hoare triple {3879#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3879#true} is VALID [2022-04-28 12:17:38,291 INFO L272 TraceCheckUtils]: 6: Hoare triple {3879#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:17:38,292 INFO L290 TraceCheckUtils]: 7: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:17:38,292 INFO L290 TraceCheckUtils]: 8: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:17:38,292 INFO L290 TraceCheckUtils]: 9: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:17:38,292 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3879#true} {3879#true} #78#return; {3879#true} is VALID [2022-04-28 12:17:38,292 INFO L272 TraceCheckUtils]: 11: Hoare triple {3879#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:17:38,292 INFO L290 TraceCheckUtils]: 12: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:17:38,292 INFO L290 TraceCheckUtils]: 13: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:17:38,292 INFO L290 TraceCheckUtils]: 14: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:17:38,292 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3879#true} {3879#true} #80#return; {3879#true} is VALID [2022-04-28 12:17:38,292 INFO L290 TraceCheckUtils]: 16: Hoare triple {3879#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3879#true} is VALID [2022-04-28 12:17:38,292 INFO L272 TraceCheckUtils]: 17: Hoare triple {3879#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:17:38,292 INFO L290 TraceCheckUtils]: 18: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:17:38,292 INFO L290 TraceCheckUtils]: 19: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:17:38,292 INFO L290 TraceCheckUtils]: 20: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:17:38,292 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3879#true} {3879#true} #82#return; {3879#true} is VALID [2022-04-28 12:17:38,292 INFO L272 TraceCheckUtils]: 22: Hoare triple {3879#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:17:38,292 INFO L290 TraceCheckUtils]: 23: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:17:38,293 INFO L290 TraceCheckUtils]: 24: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:17:38,293 INFO L290 TraceCheckUtils]: 25: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:17:38,293 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3879#true} {3879#true} #84#return; {3879#true} is VALID [2022-04-28 12:17:38,293 INFO L290 TraceCheckUtils]: 27: Hoare triple {3879#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3879#true} is VALID [2022-04-28 12:17:38,293 INFO L290 TraceCheckUtils]: 28: Hoare triple {3879#true} assume !!(#t~post6 < 20);havoc #t~post6; {3879#true} is VALID [2022-04-28 12:17:38,293 INFO L290 TraceCheckUtils]: 29: Hoare triple {3879#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:17:38,294 INFO L290 TraceCheckUtils]: 30: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:17:38,294 INFO L290 TraceCheckUtils]: 31: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(#t~post7 < 20);havoc #t~post7; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:17:38,294 INFO L272 TraceCheckUtils]: 32: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:17:38,294 INFO L290 TraceCheckUtils]: 33: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:17:38,294 INFO L290 TraceCheckUtils]: 34: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:17:38,294 INFO L290 TraceCheckUtils]: 35: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:17:38,295 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #86#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:17:38,295 INFO L272 TraceCheckUtils]: 37: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:17:38,295 INFO L290 TraceCheckUtils]: 38: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:17:38,295 INFO L290 TraceCheckUtils]: 39: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:17:38,295 INFO L290 TraceCheckUtils]: 40: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:17:38,296 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #88#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:17:38,296 INFO L272 TraceCheckUtils]: 42: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:17:38,296 INFO L290 TraceCheckUtils]: 43: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:17:38,296 INFO L290 TraceCheckUtils]: 44: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:17:38,296 INFO L290 TraceCheckUtils]: 45: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:17:38,296 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #90#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:17:38,297 INFO L272 TraceCheckUtils]: 47: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:17:38,297 INFO L290 TraceCheckUtils]: 48: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:17:38,297 INFO L290 TraceCheckUtils]: 49: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:17:38,297 INFO L290 TraceCheckUtils]: 50: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:17:38,297 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #92#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:17:38,299 INFO L290 TraceCheckUtils]: 52: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {4041#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} is VALID [2022-04-28 12:17:38,300 INFO L290 TraceCheckUtils]: 53: Hoare triple {4041#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4041#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} is VALID [2022-04-28 12:17:38,300 INFO L290 TraceCheckUtils]: 54: Hoare triple {4041#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {4041#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} is VALID [2022-04-28 12:17:38,301 INFO L272 TraceCheckUtils]: 55: Hoare triple {4041#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4051#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:17:38,301 INFO L290 TraceCheckUtils]: 56: Hoare triple {4051#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4055#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:38,301 INFO L290 TraceCheckUtils]: 57: Hoare triple {4055#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3880#false} is VALID [2022-04-28 12:17:38,301 INFO L290 TraceCheckUtils]: 58: Hoare triple {3880#false} assume !false; {3880#false} is VALID [2022-04-28 12:17:38,302 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:17:38,302 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:17:58,608 INFO L290 TraceCheckUtils]: 58: Hoare triple {3880#false} assume !false; {3880#false} is VALID [2022-04-28 12:17:58,609 INFO L290 TraceCheckUtils]: 57: Hoare triple {4055#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3880#false} is VALID [2022-04-28 12:17:58,609 INFO L290 TraceCheckUtils]: 56: Hoare triple {4051#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4055#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:58,610 INFO L272 TraceCheckUtils]: 55: Hoare triple {4071#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4051#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:17:58,611 INFO L290 TraceCheckUtils]: 54: Hoare triple {4071#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(#t~post7 < 20);havoc #t~post7; {4071#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:17:58,611 INFO L290 TraceCheckUtils]: 53: Hoare triple {4071#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4071#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:17:58,612 INFO L290 TraceCheckUtils]: 52: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {4071#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:17:58,613 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #92#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:17:58,613 INFO L290 TraceCheckUtils]: 50: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:17:58,613 INFO L290 TraceCheckUtils]: 49: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:17:58,613 INFO L290 TraceCheckUtils]: 48: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:17:58,613 INFO L272 TraceCheckUtils]: 47: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:17:58,614 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #90#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:17:58,614 INFO L290 TraceCheckUtils]: 45: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:17:58,615 INFO L290 TraceCheckUtils]: 44: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:17:58,615 INFO L290 TraceCheckUtils]: 43: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:17:58,615 INFO L272 TraceCheckUtils]: 42: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:17:58,615 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #88#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:17:58,616 INFO L290 TraceCheckUtils]: 40: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:17:58,616 INFO L290 TraceCheckUtils]: 39: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:17:58,616 INFO L290 TraceCheckUtils]: 38: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:17:58,616 INFO L272 TraceCheckUtils]: 37: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:17:58,616 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #86#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:17:58,616 INFO L290 TraceCheckUtils]: 35: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:17:58,616 INFO L290 TraceCheckUtils]: 34: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:17:58,616 INFO L290 TraceCheckUtils]: 33: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:17:58,617 INFO L272 TraceCheckUtils]: 32: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:17:58,617 INFO L290 TraceCheckUtils]: 31: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(#t~post7 < 20);havoc #t~post7; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:17:58,617 INFO L290 TraceCheckUtils]: 30: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:17:58,618 INFO L290 TraceCheckUtils]: 29: Hoare triple {3879#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:17:58,618 INFO L290 TraceCheckUtils]: 28: Hoare triple {3879#true} assume !!(#t~post6 < 20);havoc #t~post6; {3879#true} is VALID [2022-04-28 12:17:58,618 INFO L290 TraceCheckUtils]: 27: Hoare triple {3879#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3879#true} is VALID [2022-04-28 12:17:58,618 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3879#true} {3879#true} #84#return; {3879#true} is VALID [2022-04-28 12:17:58,618 INFO L290 TraceCheckUtils]: 25: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:17:58,618 INFO L290 TraceCheckUtils]: 24: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:17:58,618 INFO L290 TraceCheckUtils]: 23: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:17:58,618 INFO L272 TraceCheckUtils]: 22: Hoare triple {3879#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:17:58,618 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3879#true} {3879#true} #82#return; {3879#true} is VALID [2022-04-28 12:17:58,618 INFO L290 TraceCheckUtils]: 20: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:17:58,618 INFO L290 TraceCheckUtils]: 19: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:17:58,618 INFO L290 TraceCheckUtils]: 18: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:17:58,618 INFO L272 TraceCheckUtils]: 17: Hoare triple {3879#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:17:58,618 INFO L290 TraceCheckUtils]: 16: Hoare triple {3879#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3879#true} is VALID [2022-04-28 12:17:58,618 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3879#true} {3879#true} #80#return; {3879#true} is VALID [2022-04-28 12:17:58,618 INFO L290 TraceCheckUtils]: 14: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:17:58,619 INFO L290 TraceCheckUtils]: 13: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:17:58,619 INFO L290 TraceCheckUtils]: 12: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:17:58,619 INFO L272 TraceCheckUtils]: 11: Hoare triple {3879#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:17:58,619 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3879#true} {3879#true} #78#return; {3879#true} is VALID [2022-04-28 12:17:58,619 INFO L290 TraceCheckUtils]: 9: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:17:58,619 INFO L290 TraceCheckUtils]: 8: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:17:58,619 INFO L290 TraceCheckUtils]: 7: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:17:58,619 INFO L272 TraceCheckUtils]: 6: Hoare triple {3879#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:17:58,619 INFO L290 TraceCheckUtils]: 5: Hoare triple {3879#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3879#true} is VALID [2022-04-28 12:17:58,619 INFO L272 TraceCheckUtils]: 4: Hoare triple {3879#true} call #t~ret8 := main(); {3879#true} is VALID [2022-04-28 12:17:58,619 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3879#true} {3879#true} #98#return; {3879#true} is VALID [2022-04-28 12:17:58,620 INFO L290 TraceCheckUtils]: 2: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:17:58,620 INFO L290 TraceCheckUtils]: 1: Hoare triple {3879#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3879#true} is VALID [2022-04-28 12:17:58,620 INFO L272 TraceCheckUtils]: 0: Hoare triple {3879#true} call ULTIMATE.init(); {3879#true} is VALID [2022-04-28 12:17:58,621 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:17:58,621 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:17:58,621 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [795605638] [2022-04-28 12:17:58,621 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:17:58,621 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [897511633] [2022-04-28 12:17:58,621 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [897511633] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:17:58,621 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:17:58,622 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-28 12:17:58,623 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:17:58,623 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1452168550] [2022-04-28 12:17:58,623 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1452168550] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:17:58,624 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:17:58,624 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:17:58,624 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [908559227] [2022-04-28 12:17:58,624 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:17:58,624 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 59 [2022-04-28 12:17:58,625 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:17:58,625 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:17:58,659 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:17:58,659 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:17:58,659 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:17:58,660 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:17:58,660 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 12:17:58,660 INFO L87 Difference]: Start difference. First operand 66 states and 82 transitions. Second operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:17:58,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:17:58,998 INFO L93 Difference]: Finished difference Result 96 states and 131 transitions. [2022-04-28 12:17:58,998 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:17:58,998 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 59 [2022-04-28 12:17:58,998 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:17:58,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:17:59,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 78 transitions. [2022-04-28 12:17:59,000 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:17:59,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 78 transitions. [2022-04-28 12:17:59,001 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 78 transitions. [2022-04-28 12:17:59,059 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 12:17:59,061 INFO L225 Difference]: With dead ends: 96 [2022-04-28 12:17:59,061 INFO L226 Difference]: Without dead ends: 94 [2022-04-28 12:17:59,061 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 118 GetRequests, 110 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:17:59,061 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 9 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 88 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 208 SdHoareTripleChecker+Invalid, 89 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 88 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:17:59,061 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 208 Invalid, 89 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 88 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:17:59,062 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-28 12:17:59,135 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 84. [2022-04-28 12:17:59,135 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:17:59,136 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand has 84 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 52 states have internal predecessors, (61), 26 states have call successors, (26), 9 states have call predecessors, (26), 8 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:17:59,136 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand has 84 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 52 states have internal predecessors, (61), 26 states have call successors, (26), 9 states have call predecessors, (26), 8 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:17:59,136 INFO L87 Difference]: Start difference. First operand 94 states. Second operand has 84 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 52 states have internal predecessors, (61), 26 states have call successors, (26), 9 states have call predecessors, (26), 8 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:17:59,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:17:59,139 INFO L93 Difference]: Finished difference Result 94 states and 129 transitions. [2022-04-28 12:17:59,139 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 129 transitions. [2022-04-28 12:17:59,139 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:17:59,139 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:17:59,139 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 52 states have internal predecessors, (61), 26 states have call successors, (26), 9 states have call predecessors, (26), 8 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 94 states. [2022-04-28 12:17:59,139 INFO L87 Difference]: Start difference. First operand has 84 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 52 states have internal predecessors, (61), 26 states have call successors, (26), 9 states have call predecessors, (26), 8 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 94 states. [2022-04-28 12:17:59,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:17:59,151 INFO L93 Difference]: Finished difference Result 94 states and 129 transitions. [2022-04-28 12:17:59,151 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 129 transitions. [2022-04-28 12:17:59,151 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:17:59,151 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:17:59,151 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:17:59,151 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:17:59,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 52 states have internal predecessors, (61), 26 states have call successors, (26), 9 states have call predecessors, (26), 8 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:17:59,154 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 111 transitions. [2022-04-28 12:17:59,154 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 111 transitions. Word has length 59 [2022-04-28 12:17:59,154 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:17:59,154 INFO L495 AbstractCegarLoop]: Abstraction has 84 states and 111 transitions. [2022-04-28 12:17:59,155 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:17:59,155 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 111 transitions. [2022-04-28 12:17:59,277 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 12:17:59,277 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 111 transitions. [2022-04-28 12:17:59,278 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-28 12:17:59,278 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:17:59,278 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:17:59,294 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 12:17:59,478 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 12:17:59,478 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:17:59,479 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:17:59,479 INFO L85 PathProgramCache]: Analyzing trace with hash 35160305, now seen corresponding path program 1 times [2022-04-28 12:17:59,479 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:17:59,479 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1026160343] [2022-04-28 12:17:59,479 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:17:59,479 INFO L85 PathProgramCache]: Analyzing trace with hash 35160305, now seen corresponding path program 2 times [2022-04-28 12:17:59,479 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:17:59,479 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [769235799] [2022-04-28 12:17:59,480 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:17:59,480 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:17:59,490 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:17:59,491 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [234468160] [2022-04-28 12:17:59,491 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:17:59,491 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:17:59,491 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:17:59,492 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 12:17:59,493 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 12:17:59,538 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:17:59,539 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:17:59,539 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:17:59,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:17:59,551 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:17:59,803 INFO L272 TraceCheckUtils]: 0: Hoare triple {4789#true} call ULTIMATE.init(); {4789#true} is VALID [2022-04-28 12:17:59,804 INFO L290 TraceCheckUtils]: 1: Hoare triple {4789#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,804 INFO L290 TraceCheckUtils]: 2: Hoare triple {4797#(<= ~counter~0 0)} assume true; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,804 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4797#(<= ~counter~0 0)} {4789#true} #98#return; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,805 INFO L272 TraceCheckUtils]: 4: Hoare triple {4797#(<= ~counter~0 0)} call #t~ret8 := main(); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,805 INFO L290 TraceCheckUtils]: 5: Hoare triple {4797#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,806 INFO L272 TraceCheckUtils]: 6: Hoare triple {4797#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,806 INFO L290 TraceCheckUtils]: 7: Hoare triple {4797#(<= ~counter~0 0)} ~cond := #in~cond; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,806 INFO L290 TraceCheckUtils]: 8: Hoare triple {4797#(<= ~counter~0 0)} assume !(0 == ~cond); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,807 INFO L290 TraceCheckUtils]: 9: Hoare triple {4797#(<= ~counter~0 0)} assume true; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,807 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4797#(<= ~counter~0 0)} {4797#(<= ~counter~0 0)} #78#return; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,808 INFO L272 TraceCheckUtils]: 11: Hoare triple {4797#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,808 INFO L290 TraceCheckUtils]: 12: Hoare triple {4797#(<= ~counter~0 0)} ~cond := #in~cond; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,808 INFO L290 TraceCheckUtils]: 13: Hoare triple {4797#(<= ~counter~0 0)} assume !(0 == ~cond); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,808 INFO L290 TraceCheckUtils]: 14: Hoare triple {4797#(<= ~counter~0 0)} assume true; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,809 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4797#(<= ~counter~0 0)} {4797#(<= ~counter~0 0)} #80#return; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,810 INFO L290 TraceCheckUtils]: 16: Hoare triple {4797#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,810 INFO L272 TraceCheckUtils]: 17: Hoare triple {4797#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,810 INFO L290 TraceCheckUtils]: 18: Hoare triple {4797#(<= ~counter~0 0)} ~cond := #in~cond; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,811 INFO L290 TraceCheckUtils]: 19: Hoare triple {4797#(<= ~counter~0 0)} assume !(0 == ~cond); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,811 INFO L290 TraceCheckUtils]: 20: Hoare triple {4797#(<= ~counter~0 0)} assume true; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,811 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4797#(<= ~counter~0 0)} {4797#(<= ~counter~0 0)} #82#return; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,812 INFO L272 TraceCheckUtils]: 22: Hoare triple {4797#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,812 INFO L290 TraceCheckUtils]: 23: Hoare triple {4797#(<= ~counter~0 0)} ~cond := #in~cond; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,812 INFO L290 TraceCheckUtils]: 24: Hoare triple {4797#(<= ~counter~0 0)} assume !(0 == ~cond); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,813 INFO L290 TraceCheckUtils]: 25: Hoare triple {4797#(<= ~counter~0 0)} assume true; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,813 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4797#(<= ~counter~0 0)} {4797#(<= ~counter~0 0)} #84#return; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:17:59,813 INFO L290 TraceCheckUtils]: 27: Hoare triple {4797#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4876#(<= ~counter~0 1)} is VALID [2022-04-28 12:17:59,814 INFO L290 TraceCheckUtils]: 28: Hoare triple {4876#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {4876#(<= ~counter~0 1)} is VALID [2022-04-28 12:17:59,814 INFO L290 TraceCheckUtils]: 29: Hoare triple {4876#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4876#(<= ~counter~0 1)} is VALID [2022-04-28 12:17:59,814 INFO L290 TraceCheckUtils]: 30: Hoare triple {4876#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,815 INFO L290 TraceCheckUtils]: 31: Hoare triple {4886#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,815 INFO L272 TraceCheckUtils]: 32: Hoare triple {4886#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,816 INFO L290 TraceCheckUtils]: 33: Hoare triple {4886#(<= ~counter~0 2)} ~cond := #in~cond; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,816 INFO L290 TraceCheckUtils]: 34: Hoare triple {4886#(<= ~counter~0 2)} assume !(0 == ~cond); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,816 INFO L290 TraceCheckUtils]: 35: Hoare triple {4886#(<= ~counter~0 2)} assume true; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,817 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4886#(<= ~counter~0 2)} {4886#(<= ~counter~0 2)} #86#return; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,817 INFO L272 TraceCheckUtils]: 37: Hoare triple {4886#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,817 INFO L290 TraceCheckUtils]: 38: Hoare triple {4886#(<= ~counter~0 2)} ~cond := #in~cond; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,818 INFO L290 TraceCheckUtils]: 39: Hoare triple {4886#(<= ~counter~0 2)} assume !(0 == ~cond); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,818 INFO L290 TraceCheckUtils]: 40: Hoare triple {4886#(<= ~counter~0 2)} assume true; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,819 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4886#(<= ~counter~0 2)} {4886#(<= ~counter~0 2)} #88#return; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,819 INFO L272 TraceCheckUtils]: 42: Hoare triple {4886#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,819 INFO L290 TraceCheckUtils]: 43: Hoare triple {4886#(<= ~counter~0 2)} ~cond := #in~cond; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,820 INFO L290 TraceCheckUtils]: 44: Hoare triple {4886#(<= ~counter~0 2)} assume !(0 == ~cond); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,820 INFO L290 TraceCheckUtils]: 45: Hoare triple {4886#(<= ~counter~0 2)} assume true; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,821 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4886#(<= ~counter~0 2)} {4886#(<= ~counter~0 2)} #90#return; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,821 INFO L272 TraceCheckUtils]: 47: Hoare triple {4886#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,821 INFO L290 TraceCheckUtils]: 48: Hoare triple {4886#(<= ~counter~0 2)} ~cond := #in~cond; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,822 INFO L290 TraceCheckUtils]: 49: Hoare triple {4886#(<= ~counter~0 2)} assume !(0 == ~cond); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,822 INFO L290 TraceCheckUtils]: 50: Hoare triple {4886#(<= ~counter~0 2)} assume true; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,823 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4886#(<= ~counter~0 2)} {4886#(<= ~counter~0 2)} #92#return; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,823 INFO L290 TraceCheckUtils]: 52: Hoare triple {4886#(<= ~counter~0 2)} assume !(~c~0 >= ~b~0); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,823 INFO L290 TraceCheckUtils]: 53: Hoare triple {4886#(<= ~counter~0 2)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:17:59,824 INFO L290 TraceCheckUtils]: 54: Hoare triple {4886#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4959#(<= |main_#t~post6| 2)} is VALID [2022-04-28 12:17:59,824 INFO L290 TraceCheckUtils]: 55: Hoare triple {4959#(<= |main_#t~post6| 2)} assume !(#t~post6 < 20);havoc #t~post6; {4790#false} is VALID [2022-04-28 12:17:59,824 INFO L272 TraceCheckUtils]: 56: Hoare triple {4790#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {4790#false} is VALID [2022-04-28 12:17:59,824 INFO L290 TraceCheckUtils]: 57: Hoare triple {4790#false} ~cond := #in~cond; {4790#false} is VALID [2022-04-28 12:17:59,824 INFO L290 TraceCheckUtils]: 58: Hoare triple {4790#false} assume 0 == ~cond; {4790#false} is VALID [2022-04-28 12:17:59,824 INFO L290 TraceCheckUtils]: 59: Hoare triple {4790#false} assume !false; {4790#false} is VALID [2022-04-28 12:17:59,824 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:17:59,824 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:18:00,091 INFO L290 TraceCheckUtils]: 59: Hoare triple {4790#false} assume !false; {4790#false} is VALID [2022-04-28 12:18:00,091 INFO L290 TraceCheckUtils]: 58: Hoare triple {4790#false} assume 0 == ~cond; {4790#false} is VALID [2022-04-28 12:18:00,091 INFO L290 TraceCheckUtils]: 57: Hoare triple {4790#false} ~cond := #in~cond; {4790#false} is VALID [2022-04-28 12:18:00,091 INFO L272 TraceCheckUtils]: 56: Hoare triple {4790#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {4790#false} is VALID [2022-04-28 12:18:00,092 INFO L290 TraceCheckUtils]: 55: Hoare triple {4987#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {4790#false} is VALID [2022-04-28 12:18:00,092 INFO L290 TraceCheckUtils]: 54: Hoare triple {4991#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4987#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:18:00,093 INFO L290 TraceCheckUtils]: 53: Hoare triple {4991#(< ~counter~0 20)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4991#(< ~counter~0 20)} is VALID [2022-04-28 12:18:00,093 INFO L290 TraceCheckUtils]: 52: Hoare triple {4991#(< ~counter~0 20)} assume !(~c~0 >= ~b~0); {4991#(< ~counter~0 20)} is VALID [2022-04-28 12:18:00,094 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4789#true} {4991#(< ~counter~0 20)} #92#return; {4991#(< ~counter~0 20)} is VALID [2022-04-28 12:18:00,094 INFO L290 TraceCheckUtils]: 50: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 12:18:00,094 INFO L290 TraceCheckUtils]: 49: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 12:18:00,094 INFO L290 TraceCheckUtils]: 48: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 12:18:00,094 INFO L272 TraceCheckUtils]: 47: Hoare triple {4991#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4789#true} is VALID [2022-04-28 12:18:00,096 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4789#true} {4991#(< ~counter~0 20)} #90#return; {4991#(< ~counter~0 20)} is VALID [2022-04-28 12:18:00,096 INFO L290 TraceCheckUtils]: 45: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 12:18:00,096 INFO L290 TraceCheckUtils]: 44: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 12:18:00,096 INFO L290 TraceCheckUtils]: 43: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 12:18:00,096 INFO L272 TraceCheckUtils]: 42: Hoare triple {4991#(< ~counter~0 20)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4789#true} is VALID [2022-04-28 12:18:00,097 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4789#true} {4991#(< ~counter~0 20)} #88#return; {4991#(< ~counter~0 20)} is VALID [2022-04-28 12:18:00,097 INFO L290 TraceCheckUtils]: 40: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 12:18:00,097 INFO L290 TraceCheckUtils]: 39: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 12:18:00,097 INFO L290 TraceCheckUtils]: 38: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 12:18:00,097 INFO L272 TraceCheckUtils]: 37: Hoare triple {4991#(< ~counter~0 20)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4789#true} is VALID [2022-04-28 12:18:00,098 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4789#true} {4991#(< ~counter~0 20)} #86#return; {4991#(< ~counter~0 20)} is VALID [2022-04-28 12:18:00,098 INFO L290 TraceCheckUtils]: 35: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 12:18:00,098 INFO L290 TraceCheckUtils]: 34: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 12:18:00,098 INFO L290 TraceCheckUtils]: 33: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 12:18:00,098 INFO L272 TraceCheckUtils]: 32: Hoare triple {4991#(< ~counter~0 20)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4789#true} is VALID [2022-04-28 12:18:00,099 INFO L290 TraceCheckUtils]: 31: Hoare triple {4991#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {4991#(< ~counter~0 20)} is VALID [2022-04-28 12:18:00,099 INFO L290 TraceCheckUtils]: 30: Hoare triple {5064#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4991#(< ~counter~0 20)} is VALID [2022-04-28 12:18:00,100 INFO L290 TraceCheckUtils]: 29: Hoare triple {5064#(< ~counter~0 19)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5064#(< ~counter~0 19)} is VALID [2022-04-28 12:18:00,100 INFO L290 TraceCheckUtils]: 28: Hoare triple {5064#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {5064#(< ~counter~0 19)} is VALID [2022-04-28 12:18:00,101 INFO L290 TraceCheckUtils]: 27: Hoare triple {5074#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5064#(< ~counter~0 19)} is VALID [2022-04-28 12:18:00,101 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4789#true} {5074#(< ~counter~0 18)} #84#return; {5074#(< ~counter~0 18)} is VALID [2022-04-28 12:18:00,101 INFO L290 TraceCheckUtils]: 25: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 12:18:00,101 INFO L290 TraceCheckUtils]: 24: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 12:18:00,101 INFO L290 TraceCheckUtils]: 23: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 12:18:00,101 INFO L272 TraceCheckUtils]: 22: Hoare triple {5074#(< ~counter~0 18)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4789#true} is VALID [2022-04-28 12:18:00,102 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4789#true} {5074#(< ~counter~0 18)} #82#return; {5074#(< ~counter~0 18)} is VALID [2022-04-28 12:18:00,102 INFO L290 TraceCheckUtils]: 20: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 12:18:00,102 INFO L290 TraceCheckUtils]: 19: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 12:18:00,102 INFO L290 TraceCheckUtils]: 18: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 12:18:00,102 INFO L272 TraceCheckUtils]: 17: Hoare triple {5074#(< ~counter~0 18)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4789#true} is VALID [2022-04-28 12:18:00,103 INFO L290 TraceCheckUtils]: 16: Hoare triple {5074#(< ~counter~0 18)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {5074#(< ~counter~0 18)} is VALID [2022-04-28 12:18:00,103 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4789#true} {5074#(< ~counter~0 18)} #80#return; {5074#(< ~counter~0 18)} is VALID [2022-04-28 12:18:00,103 INFO L290 TraceCheckUtils]: 14: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 12:18:00,103 INFO L290 TraceCheckUtils]: 13: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 12:18:00,103 INFO L290 TraceCheckUtils]: 12: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 12:18:00,103 INFO L272 TraceCheckUtils]: 11: Hoare triple {5074#(< ~counter~0 18)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4789#true} is VALID [2022-04-28 12:18:00,104 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4789#true} {5074#(< ~counter~0 18)} #78#return; {5074#(< ~counter~0 18)} is VALID [2022-04-28 12:18:00,104 INFO L290 TraceCheckUtils]: 9: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 12:18:00,104 INFO L290 TraceCheckUtils]: 8: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 12:18:00,104 INFO L290 TraceCheckUtils]: 7: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 12:18:00,104 INFO L272 TraceCheckUtils]: 6: Hoare triple {5074#(< ~counter~0 18)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4789#true} is VALID [2022-04-28 12:18:00,104 INFO L290 TraceCheckUtils]: 5: Hoare triple {5074#(< ~counter~0 18)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5074#(< ~counter~0 18)} is VALID [2022-04-28 12:18:00,105 INFO L272 TraceCheckUtils]: 4: Hoare triple {5074#(< ~counter~0 18)} call #t~ret8 := main(); {5074#(< ~counter~0 18)} is VALID [2022-04-28 12:18:00,105 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5074#(< ~counter~0 18)} {4789#true} #98#return; {5074#(< ~counter~0 18)} is VALID [2022-04-28 12:18:00,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {5074#(< ~counter~0 18)} assume true; {5074#(< ~counter~0 18)} is VALID [2022-04-28 12:18:00,106 INFO L290 TraceCheckUtils]: 1: Hoare triple {4789#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5074#(< ~counter~0 18)} is VALID [2022-04-28 12:18:00,106 INFO L272 TraceCheckUtils]: 0: Hoare triple {4789#true} call ULTIMATE.init(); {4789#true} is VALID [2022-04-28 12:18:00,106 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:18:00,106 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:18:00,106 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [769235799] [2022-04-28 12:18:00,106 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:18:00,106 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [234468160] [2022-04-28 12:18:00,106 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [234468160] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:18:00,107 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:18:00,107 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 12:18:00,107 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:18:00,107 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1026160343] [2022-04-28 12:18:00,107 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1026160343] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:00,107 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:00,107 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:18:00,107 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [312481034] [2022-04-28 12:18:00,107 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:18:00,107 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 60 [2022-04-28 12:18:00,108 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:18:00,108 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:18:00,140 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 12:18:00,140 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:18:00,140 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:00,140 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:18:00,140 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:18:00,140 INFO L87 Difference]: Start difference. First operand 84 states and 111 transitions. Second operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:18:00,356 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:00,356 INFO L93 Difference]: Finished difference Result 111 states and 135 transitions. [2022-04-28 12:18:00,356 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 12:18:00,357 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 60 [2022-04-28 12:18:00,357 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:18:00,357 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:18:00,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 76 transitions. [2022-04-28 12:18:00,358 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:18:00,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 76 transitions. [2022-04-28 12:18:00,359 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 76 transitions. [2022-04-28 12:18:00,415 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 12:18:00,416 INFO L225 Difference]: With dead ends: 111 [2022-04-28 12:18:00,417 INFO L226 Difference]: Without dead ends: 103 [2022-04-28 12:18:00,417 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 111 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=42, Invalid=68, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:18:00,417 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 8 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:18:00,417 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 138 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:18:00,418 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-28 12:18:00,517 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-28 12:18:00,517 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:18:00,518 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 103 states, 64 states have (on average 1.1875) internal successors, (76), 67 states have internal predecessors, (76), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:18:00,518 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 103 states, 64 states have (on average 1.1875) internal successors, (76), 67 states have internal predecessors, (76), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:18:00,518 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 103 states, 64 states have (on average 1.1875) internal successors, (76), 67 states have internal predecessors, (76), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:18:00,524 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:00,524 INFO L93 Difference]: Finished difference Result 103 states and 126 transitions. [2022-04-28 12:18:00,524 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 126 transitions. [2022-04-28 12:18:00,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:00,524 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:00,524 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 64 states have (on average 1.1875) internal successors, (76), 67 states have internal predecessors, (76), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 103 states. [2022-04-28 12:18:00,525 INFO L87 Difference]: Start difference. First operand has 103 states, 64 states have (on average 1.1875) internal successors, (76), 67 states have internal predecessors, (76), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 103 states. [2022-04-28 12:18:00,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:00,526 INFO L93 Difference]: Finished difference Result 103 states and 126 transitions. [2022-04-28 12:18:00,526 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 126 transitions. [2022-04-28 12:18:00,527 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:00,527 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:00,527 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:18:00,527 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:18:00,527 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 64 states have (on average 1.1875) internal successors, (76), 67 states have internal predecessors, (76), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:18:00,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 126 transitions. [2022-04-28 12:18:00,529 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 126 transitions. Word has length 60 [2022-04-28 12:18:00,529 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:18:00,529 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 126 transitions. [2022-04-28 12:18:00,529 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:18:00,529 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 126 transitions. [2022-04-28 12:18:00,659 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 12:18:00,659 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 126 transitions. [2022-04-28 12:18:00,659 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 12:18:00,660 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:00,660 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:18:00,678 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 12:18:00,872 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 12:18:00,872 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:00,872 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:00,872 INFO L85 PathProgramCache]: Analyzing trace with hash 1088000375, now seen corresponding path program 1 times [2022-04-28 12:18:00,872 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:00,872 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1689487162] [2022-04-28 12:18:00,873 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:00,873 INFO L85 PathProgramCache]: Analyzing trace with hash 1088000375, now seen corresponding path program 2 times [2022-04-28 12:18:00,873 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:00,873 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1750083516] [2022-04-28 12:18:00,873 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:00,873 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:00,882 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:18:00,882 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1784782879] [2022-04-28 12:18:00,882 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:18:00,882 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:00,882 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:00,883 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 12:18:00,891 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 12:18:00,927 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:18:00,927 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:18:00,928 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:18:00,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:00,939 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:18:01,105 INFO L272 TraceCheckUtils]: 0: Hoare triple {5794#true} call ULTIMATE.init(); {5794#true} is VALID [2022-04-28 12:18:01,105 INFO L290 TraceCheckUtils]: 1: Hoare triple {5794#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5794#true} is VALID [2022-04-28 12:18:01,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:18:01,105 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5794#true} {5794#true} #98#return; {5794#true} is VALID [2022-04-28 12:18:01,105 INFO L272 TraceCheckUtils]: 4: Hoare triple {5794#true} call #t~ret8 := main(); {5794#true} is VALID [2022-04-28 12:18:01,105 INFO L290 TraceCheckUtils]: 5: Hoare triple {5794#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5794#true} is VALID [2022-04-28 12:18:01,105 INFO L272 TraceCheckUtils]: 6: Hoare triple {5794#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:18:01,106 INFO L290 TraceCheckUtils]: 7: Hoare triple {5794#true} ~cond := #in~cond; {5820#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:18:01,106 INFO L290 TraceCheckUtils]: 8: Hoare triple {5820#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:01,106 INFO L290 TraceCheckUtils]: 9: Hoare triple {5824#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:01,107 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5824#(not (= |assume_abort_if_not_#in~cond| 0))} {5794#true} #78#return; {5831#(<= 1 main_~x~0)} is VALID [2022-04-28 12:18:01,107 INFO L272 TraceCheckUtils]: 11: Hoare triple {5831#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:18:01,107 INFO L290 TraceCheckUtils]: 12: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:18:01,107 INFO L290 TraceCheckUtils]: 13: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:18:01,107 INFO L290 TraceCheckUtils]: 14: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:18:01,107 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5794#true} {5831#(<= 1 main_~x~0)} #80#return; {5831#(<= 1 main_~x~0)} is VALID [2022-04-28 12:18:01,108 INFO L290 TraceCheckUtils]: 16: Hoare triple {5831#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:18:01,108 INFO L272 TraceCheckUtils]: 17: Hoare triple {5850#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:18:01,108 INFO L290 TraceCheckUtils]: 18: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:18:01,108 INFO L290 TraceCheckUtils]: 19: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:18:01,108 INFO L290 TraceCheckUtils]: 20: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:18:01,113 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5794#true} {5850#(<= 1 main_~a~0)} #82#return; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:18:01,113 INFO L272 TraceCheckUtils]: 22: Hoare triple {5850#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:18:01,113 INFO L290 TraceCheckUtils]: 23: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:18:01,113 INFO L290 TraceCheckUtils]: 24: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:18:01,113 INFO L290 TraceCheckUtils]: 25: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:18:01,113 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5794#true} {5850#(<= 1 main_~a~0)} #84#return; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:18:01,114 INFO L290 TraceCheckUtils]: 27: Hoare triple {5850#(<= 1 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:18:01,114 INFO L290 TraceCheckUtils]: 28: Hoare triple {5850#(<= 1 main_~a~0)} assume !!(#t~post6 < 20);havoc #t~post6; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:18:01,114 INFO L290 TraceCheckUtils]: 29: Hoare triple {5850#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:18:01,115 INFO L290 TraceCheckUtils]: 30: Hoare triple {5890#(<= 1 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:18:01,115 INFO L290 TraceCheckUtils]: 31: Hoare triple {5890#(<= 1 main_~c~0)} assume !!(#t~post7 < 20);havoc #t~post7; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:18:01,115 INFO L272 TraceCheckUtils]: 32: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:18:01,115 INFO L290 TraceCheckUtils]: 33: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:18:01,115 INFO L290 TraceCheckUtils]: 34: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:18:01,115 INFO L290 TraceCheckUtils]: 35: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:18:01,116 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #86#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:18:01,116 INFO L272 TraceCheckUtils]: 37: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:18:01,116 INFO L290 TraceCheckUtils]: 38: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:18:01,116 INFO L290 TraceCheckUtils]: 39: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:18:01,116 INFO L290 TraceCheckUtils]: 40: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:18:01,116 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #88#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:18:01,116 INFO L272 TraceCheckUtils]: 42: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:18:01,117 INFO L290 TraceCheckUtils]: 43: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:18:01,117 INFO L290 TraceCheckUtils]: 44: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:18:01,117 INFO L290 TraceCheckUtils]: 45: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:18:01,117 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #90#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:18:01,117 INFO L272 TraceCheckUtils]: 47: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:18:01,117 INFO L290 TraceCheckUtils]: 48: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:18:01,118 INFO L290 TraceCheckUtils]: 49: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:18:01,118 INFO L290 TraceCheckUtils]: 50: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:18:01,122 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #92#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:18:01,122 INFO L290 TraceCheckUtils]: 52: Hoare triple {5890#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:18:01,122 INFO L290 TraceCheckUtils]: 53: Hoare triple {5890#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {5963#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:01,139 INFO L290 TraceCheckUtils]: 54: Hoare triple {5963#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5963#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:01,139 INFO L290 TraceCheckUtils]: 55: Hoare triple {5963#(<= 1 main_~b~0)} assume !!(#t~post6 < 20);havoc #t~post6; {5963#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:01,139 INFO L290 TraceCheckUtils]: 56: Hoare triple {5963#(<= 1 main_~b~0)} assume !(0 != ~b~0); {5795#false} is VALID [2022-04-28 12:18:01,139 INFO L272 TraceCheckUtils]: 57: Hoare triple {5795#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {5795#false} is VALID [2022-04-28 12:18:01,139 INFO L290 TraceCheckUtils]: 58: Hoare triple {5795#false} ~cond := #in~cond; {5795#false} is VALID [2022-04-28 12:18:01,140 INFO L290 TraceCheckUtils]: 59: Hoare triple {5795#false} assume 0 == ~cond; {5795#false} is VALID [2022-04-28 12:18:01,140 INFO L290 TraceCheckUtils]: 60: Hoare triple {5795#false} assume !false; {5795#false} is VALID [2022-04-28 12:18:01,140 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 12 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 12:18:01,140 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:18:01,415 INFO L290 TraceCheckUtils]: 60: Hoare triple {5795#false} assume !false; {5795#false} is VALID [2022-04-28 12:18:01,415 INFO L290 TraceCheckUtils]: 59: Hoare triple {5795#false} assume 0 == ~cond; {5795#false} is VALID [2022-04-28 12:18:01,415 INFO L290 TraceCheckUtils]: 58: Hoare triple {5795#false} ~cond := #in~cond; {5795#false} is VALID [2022-04-28 12:18:01,415 INFO L272 TraceCheckUtils]: 57: Hoare triple {5795#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {5795#false} is VALID [2022-04-28 12:18:01,415 INFO L290 TraceCheckUtils]: 56: Hoare triple {5963#(<= 1 main_~b~0)} assume !(0 != ~b~0); {5795#false} is VALID [2022-04-28 12:18:01,416 INFO L290 TraceCheckUtils]: 55: Hoare triple {5963#(<= 1 main_~b~0)} assume !!(#t~post6 < 20);havoc #t~post6; {5963#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:01,416 INFO L290 TraceCheckUtils]: 54: Hoare triple {5963#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5963#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:01,416 INFO L290 TraceCheckUtils]: 53: Hoare triple {5890#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {5963#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:01,417 INFO L290 TraceCheckUtils]: 52: Hoare triple {5890#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:18:01,417 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #92#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:18:01,417 INFO L290 TraceCheckUtils]: 50: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:18:01,418 INFO L290 TraceCheckUtils]: 49: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:18:01,418 INFO L290 TraceCheckUtils]: 48: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:18:01,418 INFO L272 TraceCheckUtils]: 47: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:18:01,418 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #90#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:18:01,418 INFO L290 TraceCheckUtils]: 45: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:18:01,418 INFO L290 TraceCheckUtils]: 44: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:18:01,419 INFO L290 TraceCheckUtils]: 43: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:18:01,419 INFO L272 TraceCheckUtils]: 42: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:18:01,419 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #88#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:18:01,419 INFO L290 TraceCheckUtils]: 40: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:18:01,419 INFO L290 TraceCheckUtils]: 39: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:18:01,419 INFO L290 TraceCheckUtils]: 38: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:18:01,420 INFO L272 TraceCheckUtils]: 37: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:18:01,420 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #86#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:18:01,420 INFO L290 TraceCheckUtils]: 35: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:18:01,420 INFO L290 TraceCheckUtils]: 34: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:18:01,420 INFO L290 TraceCheckUtils]: 33: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:18:01,420 INFO L272 TraceCheckUtils]: 32: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:18:01,421 INFO L290 TraceCheckUtils]: 31: Hoare triple {5890#(<= 1 main_~c~0)} assume !!(#t~post7 < 20);havoc #t~post7; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:18:01,421 INFO L290 TraceCheckUtils]: 30: Hoare triple {5890#(<= 1 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:18:01,421 INFO L290 TraceCheckUtils]: 29: Hoare triple {5850#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:18:01,422 INFO L290 TraceCheckUtils]: 28: Hoare triple {5850#(<= 1 main_~a~0)} assume !!(#t~post6 < 20);havoc #t~post6; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:18:01,422 INFO L290 TraceCheckUtils]: 27: Hoare triple {5850#(<= 1 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:18:01,422 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5794#true} {5850#(<= 1 main_~a~0)} #84#return; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:18:01,422 INFO L290 TraceCheckUtils]: 25: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:18:01,422 INFO L290 TraceCheckUtils]: 24: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:18:01,423 INFO L290 TraceCheckUtils]: 23: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:18:01,423 INFO L272 TraceCheckUtils]: 22: Hoare triple {5850#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:18:01,423 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5794#true} {5850#(<= 1 main_~a~0)} #82#return; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:18:01,423 INFO L290 TraceCheckUtils]: 20: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:18:01,423 INFO L290 TraceCheckUtils]: 19: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:18:01,423 INFO L290 TraceCheckUtils]: 18: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:18:01,423 INFO L272 TraceCheckUtils]: 17: Hoare triple {5850#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:18:01,424 INFO L290 TraceCheckUtils]: 16: Hoare triple {5831#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:18:01,424 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5794#true} {5831#(<= 1 main_~x~0)} #80#return; {5831#(<= 1 main_~x~0)} is VALID [2022-04-28 12:18:01,424 INFO L290 TraceCheckUtils]: 14: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:18:01,424 INFO L290 TraceCheckUtils]: 13: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:18:01,424 INFO L290 TraceCheckUtils]: 12: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:18:01,424 INFO L272 TraceCheckUtils]: 11: Hoare triple {5831#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:18:01,425 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5824#(not (= |assume_abort_if_not_#in~cond| 0))} {5794#true} #78#return; {5831#(<= 1 main_~x~0)} is VALID [2022-04-28 12:18:01,425 INFO L290 TraceCheckUtils]: 9: Hoare triple {5824#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:01,425 INFO L290 TraceCheckUtils]: 8: Hoare triple {6144#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {5824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:01,426 INFO L290 TraceCheckUtils]: 7: Hoare triple {5794#true} ~cond := #in~cond; {6144#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:18:01,426 INFO L272 TraceCheckUtils]: 6: Hoare triple {5794#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:18:01,426 INFO L290 TraceCheckUtils]: 5: Hoare triple {5794#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5794#true} is VALID [2022-04-28 12:18:01,426 INFO L272 TraceCheckUtils]: 4: Hoare triple {5794#true} call #t~ret8 := main(); {5794#true} is VALID [2022-04-28 12:18:01,426 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5794#true} {5794#true} #98#return; {5794#true} is VALID [2022-04-28 12:18:01,426 INFO L290 TraceCheckUtils]: 2: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:18:01,426 INFO L290 TraceCheckUtils]: 1: Hoare triple {5794#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5794#true} is VALID [2022-04-28 12:18:01,426 INFO L272 TraceCheckUtils]: 0: Hoare triple {5794#true} call ULTIMATE.init(); {5794#true} is VALID [2022-04-28 12:18:01,426 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 12 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 12:18:01,426 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:18:01,426 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1750083516] [2022-04-28 12:18:01,427 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:18:01,427 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1784782879] [2022-04-28 12:18:01,427 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1784782879] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:18:01,427 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:18:01,427 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 12:18:01,427 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:18:01,427 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1689487162] [2022-04-28 12:18:01,427 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1689487162] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:01,427 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:01,427 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:18:01,427 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1505527580] [2022-04-28 12:18:01,427 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:18:01,428 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 61 [2022-04-28 12:18:01,428 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:18:01,428 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:18:01,456 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 12:18:01,456 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:18:01,456 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:01,456 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:18:01,456 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:18:01,457 INFO L87 Difference]: Start difference. First operand 103 states and 126 transitions. Second operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:18:02,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:02,335 INFO L93 Difference]: Finished difference Result 182 states and 256 transitions. [2022-04-28 12:18:02,335 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:18:02,335 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 61 [2022-04-28 12:18:02,336 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:18:02,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:18:02,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 147 transitions. [2022-04-28 12:18:02,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:18:02,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 147 transitions. [2022-04-28 12:18:02,340 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 147 transitions. [2022-04-28 12:18:02,448 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 147 edges. 147 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:02,453 INFO L225 Difference]: With dead ends: 182 [2022-04-28 12:18:02,453 INFO L226 Difference]: Without dead ends: 174 [2022-04-28 12:18:02,454 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 128 GetRequests, 113 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=60, Invalid=180, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:18:02,454 INFO L413 NwaCegarLoop]: 71 mSDtfsCounter, 59 mSDsluCounter, 246 mSDsCounter, 0 mSdLazyCounter, 161 mSolverCounterSat, 71 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 64 SdHoareTripleChecker+Valid, 317 SdHoareTripleChecker+Invalid, 232 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 71 IncrementalHoareTripleChecker+Valid, 161 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:18:02,454 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [64 Valid, 317 Invalid, 232 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [71 Valid, 161 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:18:02,455 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states. [2022-04-28 12:18:02,674 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 146. [2022-04-28 12:18:02,675 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:18:02,675 INFO L82 GeneralOperation]: Start isEquivalent. First operand 174 states. Second operand has 146 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 94 states have internal predecessors, (115), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:18:02,675 INFO L74 IsIncluded]: Start isIncluded. First operand 174 states. Second operand has 146 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 94 states have internal predecessors, (115), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:18:02,675 INFO L87 Difference]: Start difference. First operand 174 states. Second operand has 146 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 94 states have internal predecessors, (115), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:18:02,679 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:02,679 INFO L93 Difference]: Finished difference Result 174 states and 246 transitions. [2022-04-28 12:18:02,679 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 246 transitions. [2022-04-28 12:18:02,680 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:02,680 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:02,680 INFO L74 IsIncluded]: Start isIncluded. First operand has 146 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 94 states have internal predecessors, (115), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) Second operand 174 states. [2022-04-28 12:18:02,681 INFO L87 Difference]: Start difference. First operand has 146 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 94 states have internal predecessors, (115), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) Second operand 174 states. [2022-04-28 12:18:02,684 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:02,685 INFO L93 Difference]: Finished difference Result 174 states and 246 transitions. [2022-04-28 12:18:02,685 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 246 transitions. [2022-04-28 12:18:02,685 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:02,685 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:02,685 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:18:02,685 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:18:02,686 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 146 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 94 states have internal predecessors, (115), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:18:02,688 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 146 states to 146 states and 199 transitions. [2022-04-28 12:18:02,688 INFO L78 Accepts]: Start accepts. Automaton has 146 states and 199 transitions. Word has length 61 [2022-04-28 12:18:02,689 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:18:02,689 INFO L495 AbstractCegarLoop]: Abstraction has 146 states and 199 transitions. [2022-04-28 12:18:02,689 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:18:02,689 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 146 states and 199 transitions. [2022-04-28 12:18:02,883 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 199 edges. 199 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:02,883 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 199 transitions. [2022-04-28 12:18:02,883 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-28 12:18:02,883 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:02,884 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:18:02,901 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 12:18:03,091 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 12:18:03,092 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:03,092 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:03,092 INFO L85 PathProgramCache]: Analyzing trace with hash 1537891564, now seen corresponding path program 1 times [2022-04-28 12:18:03,092 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:03,092 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [767875422] [2022-04-28 12:18:03,093 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:03,093 INFO L85 PathProgramCache]: Analyzing trace with hash 1537891564, now seen corresponding path program 2 times [2022-04-28 12:18:03,093 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:03,093 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [572631110] [2022-04-28 12:18:03,093 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:03,093 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:03,102 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:18:03,103 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [417665288] [2022-04-28 12:18:03,103 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:18:03,103 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:03,103 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:03,104 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 12:18:03,104 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 12:18:03,153 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:18:03,153 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:18:03,153 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:18:03,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:03,169 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:18:03,373 INFO L272 TraceCheckUtils]: 0: Hoare triple {7186#true} call ULTIMATE.init(); {7186#true} is VALID [2022-04-28 12:18:03,374 INFO L290 TraceCheckUtils]: 1: Hoare triple {7186#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,374 INFO L290 TraceCheckUtils]: 2: Hoare triple {7194#(<= ~counter~0 0)} assume true; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,374 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7194#(<= ~counter~0 0)} {7186#true} #98#return; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,374 INFO L272 TraceCheckUtils]: 4: Hoare triple {7194#(<= ~counter~0 0)} call #t~ret8 := main(); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,375 INFO L290 TraceCheckUtils]: 5: Hoare triple {7194#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,375 INFO L272 TraceCheckUtils]: 6: Hoare triple {7194#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,375 INFO L290 TraceCheckUtils]: 7: Hoare triple {7194#(<= ~counter~0 0)} ~cond := #in~cond; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,375 INFO L290 TraceCheckUtils]: 8: Hoare triple {7194#(<= ~counter~0 0)} assume !(0 == ~cond); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,376 INFO L290 TraceCheckUtils]: 9: Hoare triple {7194#(<= ~counter~0 0)} assume true; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,376 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7194#(<= ~counter~0 0)} {7194#(<= ~counter~0 0)} #78#return; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,376 INFO L272 TraceCheckUtils]: 11: Hoare triple {7194#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,377 INFO L290 TraceCheckUtils]: 12: Hoare triple {7194#(<= ~counter~0 0)} ~cond := #in~cond; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,377 INFO L290 TraceCheckUtils]: 13: Hoare triple {7194#(<= ~counter~0 0)} assume !(0 == ~cond); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,377 INFO L290 TraceCheckUtils]: 14: Hoare triple {7194#(<= ~counter~0 0)} assume true; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,378 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7194#(<= ~counter~0 0)} {7194#(<= ~counter~0 0)} #80#return; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,378 INFO L290 TraceCheckUtils]: 16: Hoare triple {7194#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,378 INFO L272 TraceCheckUtils]: 17: Hoare triple {7194#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,378 INFO L290 TraceCheckUtils]: 18: Hoare triple {7194#(<= ~counter~0 0)} ~cond := #in~cond; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,379 INFO L290 TraceCheckUtils]: 19: Hoare triple {7194#(<= ~counter~0 0)} assume !(0 == ~cond); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,383 INFO L290 TraceCheckUtils]: 20: Hoare triple {7194#(<= ~counter~0 0)} assume true; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,383 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7194#(<= ~counter~0 0)} {7194#(<= ~counter~0 0)} #82#return; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,384 INFO L272 TraceCheckUtils]: 22: Hoare triple {7194#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,384 INFO L290 TraceCheckUtils]: 23: Hoare triple {7194#(<= ~counter~0 0)} ~cond := #in~cond; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,384 INFO L290 TraceCheckUtils]: 24: Hoare triple {7194#(<= ~counter~0 0)} assume !(0 == ~cond); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,385 INFO L290 TraceCheckUtils]: 25: Hoare triple {7194#(<= ~counter~0 0)} assume true; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,385 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7194#(<= ~counter~0 0)} {7194#(<= ~counter~0 0)} #84#return; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,386 INFO L290 TraceCheckUtils]: 27: Hoare triple {7194#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7273#(<= ~counter~0 1)} is VALID [2022-04-28 12:18:03,386 INFO L290 TraceCheckUtils]: 28: Hoare triple {7273#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {7273#(<= ~counter~0 1)} is VALID [2022-04-28 12:18:03,386 INFO L290 TraceCheckUtils]: 29: Hoare triple {7273#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7273#(<= ~counter~0 1)} is VALID [2022-04-28 12:18:03,387 INFO L290 TraceCheckUtils]: 30: Hoare triple {7273#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,387 INFO L290 TraceCheckUtils]: 31: Hoare triple {7283#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,388 INFO L272 TraceCheckUtils]: 32: Hoare triple {7283#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,388 INFO L290 TraceCheckUtils]: 33: Hoare triple {7283#(<= ~counter~0 2)} ~cond := #in~cond; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,388 INFO L290 TraceCheckUtils]: 34: Hoare triple {7283#(<= ~counter~0 2)} assume !(0 == ~cond); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,388 INFO L290 TraceCheckUtils]: 35: Hoare triple {7283#(<= ~counter~0 2)} assume true; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,389 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7283#(<= ~counter~0 2)} {7283#(<= ~counter~0 2)} #86#return; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,389 INFO L272 TraceCheckUtils]: 37: Hoare triple {7283#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,390 INFO L290 TraceCheckUtils]: 38: Hoare triple {7283#(<= ~counter~0 2)} ~cond := #in~cond; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,390 INFO L290 TraceCheckUtils]: 39: Hoare triple {7283#(<= ~counter~0 2)} assume !(0 == ~cond); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,390 INFO L290 TraceCheckUtils]: 40: Hoare triple {7283#(<= ~counter~0 2)} assume true; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,391 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7283#(<= ~counter~0 2)} {7283#(<= ~counter~0 2)} #88#return; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,391 INFO L272 TraceCheckUtils]: 42: Hoare triple {7283#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,392 INFO L290 TraceCheckUtils]: 43: Hoare triple {7283#(<= ~counter~0 2)} ~cond := #in~cond; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,392 INFO L290 TraceCheckUtils]: 44: Hoare triple {7283#(<= ~counter~0 2)} assume !(0 == ~cond); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,392 INFO L290 TraceCheckUtils]: 45: Hoare triple {7283#(<= ~counter~0 2)} assume true; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,393 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7283#(<= ~counter~0 2)} {7283#(<= ~counter~0 2)} #90#return; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,394 INFO L272 TraceCheckUtils]: 47: Hoare triple {7283#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,394 INFO L290 TraceCheckUtils]: 48: Hoare triple {7283#(<= ~counter~0 2)} ~cond := #in~cond; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,394 INFO L290 TraceCheckUtils]: 49: Hoare triple {7283#(<= ~counter~0 2)} assume !(0 == ~cond); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,394 INFO L290 TraceCheckUtils]: 50: Hoare triple {7283#(<= ~counter~0 2)} assume true; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,395 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7283#(<= ~counter~0 2)} {7283#(<= ~counter~0 2)} #92#return; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,395 INFO L290 TraceCheckUtils]: 52: Hoare triple {7283#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:03,396 INFO L290 TraceCheckUtils]: 53: Hoare triple {7283#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7353#(<= |main_#t~post7| 2)} is VALID [2022-04-28 12:18:03,396 INFO L290 TraceCheckUtils]: 54: Hoare triple {7353#(<= |main_#t~post7| 2)} assume !(#t~post7 < 20);havoc #t~post7; {7187#false} is VALID [2022-04-28 12:18:03,396 INFO L290 TraceCheckUtils]: 55: Hoare triple {7187#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7187#false} is VALID [2022-04-28 12:18:03,396 INFO L290 TraceCheckUtils]: 56: Hoare triple {7187#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7187#false} is VALID [2022-04-28 12:18:03,396 INFO L290 TraceCheckUtils]: 57: Hoare triple {7187#false} assume !(#t~post6 < 20);havoc #t~post6; {7187#false} is VALID [2022-04-28 12:18:03,396 INFO L272 TraceCheckUtils]: 58: Hoare triple {7187#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {7187#false} is VALID [2022-04-28 12:18:03,396 INFO L290 TraceCheckUtils]: 59: Hoare triple {7187#false} ~cond := #in~cond; {7187#false} is VALID [2022-04-28 12:18:03,396 INFO L290 TraceCheckUtils]: 60: Hoare triple {7187#false} assume 0 == ~cond; {7187#false} is VALID [2022-04-28 12:18:03,396 INFO L290 TraceCheckUtils]: 61: Hoare triple {7187#false} assume !false; {7187#false} is VALID [2022-04-28 12:18:03,397 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:18:03,397 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:18:03,624 INFO L290 TraceCheckUtils]: 61: Hoare triple {7187#false} assume !false; {7187#false} is VALID [2022-04-28 12:18:03,624 INFO L290 TraceCheckUtils]: 60: Hoare triple {7187#false} assume 0 == ~cond; {7187#false} is VALID [2022-04-28 12:18:03,624 INFO L290 TraceCheckUtils]: 59: Hoare triple {7187#false} ~cond := #in~cond; {7187#false} is VALID [2022-04-28 12:18:03,625 INFO L272 TraceCheckUtils]: 58: Hoare triple {7187#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {7187#false} is VALID [2022-04-28 12:18:03,625 INFO L290 TraceCheckUtils]: 57: Hoare triple {7187#false} assume !(#t~post6 < 20);havoc #t~post6; {7187#false} is VALID [2022-04-28 12:18:03,625 INFO L290 TraceCheckUtils]: 56: Hoare triple {7187#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7187#false} is VALID [2022-04-28 12:18:03,625 INFO L290 TraceCheckUtils]: 55: Hoare triple {7187#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7187#false} is VALID [2022-04-28 12:18:03,625 INFO L290 TraceCheckUtils]: 54: Hoare triple {7399#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {7187#false} is VALID [2022-04-28 12:18:03,625 INFO L290 TraceCheckUtils]: 53: Hoare triple {7403#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7399#(< |main_#t~post7| 20)} is VALID [2022-04-28 12:18:03,626 INFO L290 TraceCheckUtils]: 52: Hoare triple {7403#(< ~counter~0 20)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {7403#(< ~counter~0 20)} is VALID [2022-04-28 12:18:03,626 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7186#true} {7403#(< ~counter~0 20)} #92#return; {7403#(< ~counter~0 20)} is VALID [2022-04-28 12:18:03,626 INFO L290 TraceCheckUtils]: 50: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 12:18:03,626 INFO L290 TraceCheckUtils]: 49: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 12:18:03,626 INFO L290 TraceCheckUtils]: 48: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 12:18:03,626 INFO L272 TraceCheckUtils]: 47: Hoare triple {7403#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {7186#true} is VALID [2022-04-28 12:18:03,627 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7186#true} {7403#(< ~counter~0 20)} #90#return; {7403#(< ~counter~0 20)} is VALID [2022-04-28 12:18:03,627 INFO L290 TraceCheckUtils]: 45: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 12:18:03,627 INFO L290 TraceCheckUtils]: 44: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 12:18:03,627 INFO L290 TraceCheckUtils]: 43: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 12:18:03,627 INFO L272 TraceCheckUtils]: 42: Hoare triple {7403#(< ~counter~0 20)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7186#true} is VALID [2022-04-28 12:18:03,628 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7186#true} {7403#(< ~counter~0 20)} #88#return; {7403#(< ~counter~0 20)} is VALID [2022-04-28 12:18:03,628 INFO L290 TraceCheckUtils]: 40: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 12:18:03,628 INFO L290 TraceCheckUtils]: 39: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 12:18:03,628 INFO L290 TraceCheckUtils]: 38: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 12:18:03,628 INFO L272 TraceCheckUtils]: 37: Hoare triple {7403#(< ~counter~0 20)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7186#true} is VALID [2022-04-28 12:18:03,628 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7186#true} {7403#(< ~counter~0 20)} #86#return; {7403#(< ~counter~0 20)} is VALID [2022-04-28 12:18:03,628 INFO L290 TraceCheckUtils]: 35: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 12:18:03,628 INFO L290 TraceCheckUtils]: 34: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 12:18:03,629 INFO L290 TraceCheckUtils]: 33: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 12:18:03,629 INFO L272 TraceCheckUtils]: 32: Hoare triple {7403#(< ~counter~0 20)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7186#true} is VALID [2022-04-28 12:18:03,629 INFO L290 TraceCheckUtils]: 31: Hoare triple {7403#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {7403#(< ~counter~0 20)} is VALID [2022-04-28 12:18:03,629 INFO L290 TraceCheckUtils]: 30: Hoare triple {7473#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7403#(< ~counter~0 20)} is VALID [2022-04-28 12:18:03,629 INFO L290 TraceCheckUtils]: 29: Hoare triple {7473#(< ~counter~0 19)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7473#(< ~counter~0 19)} is VALID [2022-04-28 12:18:03,630 INFO L290 TraceCheckUtils]: 28: Hoare triple {7473#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {7473#(< ~counter~0 19)} is VALID [2022-04-28 12:18:03,630 INFO L290 TraceCheckUtils]: 27: Hoare triple {7483#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7473#(< ~counter~0 19)} is VALID [2022-04-28 12:18:03,630 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7186#true} {7483#(< ~counter~0 18)} #84#return; {7483#(< ~counter~0 18)} is VALID [2022-04-28 12:18:03,631 INFO L290 TraceCheckUtils]: 25: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 12:18:03,631 INFO L290 TraceCheckUtils]: 24: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 12:18:03,631 INFO L290 TraceCheckUtils]: 23: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 12:18:03,632 INFO L272 TraceCheckUtils]: 22: Hoare triple {7483#(< ~counter~0 18)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {7186#true} is VALID [2022-04-28 12:18:03,635 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7186#true} {7483#(< ~counter~0 18)} #82#return; {7483#(< ~counter~0 18)} is VALID [2022-04-28 12:18:03,635 INFO L290 TraceCheckUtils]: 20: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 12:18:03,635 INFO L290 TraceCheckUtils]: 19: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 12:18:03,635 INFO L290 TraceCheckUtils]: 18: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 12:18:03,635 INFO L272 TraceCheckUtils]: 17: Hoare triple {7483#(< ~counter~0 18)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {7186#true} is VALID [2022-04-28 12:18:03,636 INFO L290 TraceCheckUtils]: 16: Hoare triple {7483#(< ~counter~0 18)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {7483#(< ~counter~0 18)} is VALID [2022-04-28 12:18:03,636 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7186#true} {7483#(< ~counter~0 18)} #80#return; {7483#(< ~counter~0 18)} is VALID [2022-04-28 12:18:03,636 INFO L290 TraceCheckUtils]: 14: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 12:18:03,636 INFO L290 TraceCheckUtils]: 13: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 12:18:03,636 INFO L290 TraceCheckUtils]: 12: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 12:18:03,636 INFO L272 TraceCheckUtils]: 11: Hoare triple {7483#(< ~counter~0 18)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7186#true} is VALID [2022-04-28 12:18:03,637 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7186#true} {7483#(< ~counter~0 18)} #78#return; {7483#(< ~counter~0 18)} is VALID [2022-04-28 12:18:03,637 INFO L290 TraceCheckUtils]: 9: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 12:18:03,637 INFO L290 TraceCheckUtils]: 8: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 12:18:03,637 INFO L290 TraceCheckUtils]: 7: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 12:18:03,637 INFO L272 TraceCheckUtils]: 6: Hoare triple {7483#(< ~counter~0 18)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7186#true} is VALID [2022-04-28 12:18:03,637 INFO L290 TraceCheckUtils]: 5: Hoare triple {7483#(< ~counter~0 18)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7483#(< ~counter~0 18)} is VALID [2022-04-28 12:18:03,637 INFO L272 TraceCheckUtils]: 4: Hoare triple {7483#(< ~counter~0 18)} call #t~ret8 := main(); {7483#(< ~counter~0 18)} is VALID [2022-04-28 12:18:03,638 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7483#(< ~counter~0 18)} {7186#true} #98#return; {7483#(< ~counter~0 18)} is VALID [2022-04-28 12:18:03,638 INFO L290 TraceCheckUtils]: 2: Hoare triple {7483#(< ~counter~0 18)} assume true; {7483#(< ~counter~0 18)} is VALID [2022-04-28 12:18:03,638 INFO L290 TraceCheckUtils]: 1: Hoare triple {7186#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7483#(< ~counter~0 18)} is VALID [2022-04-28 12:18:03,638 INFO L272 TraceCheckUtils]: 0: Hoare triple {7186#true} call ULTIMATE.init(); {7186#true} is VALID [2022-04-28 12:18:03,639 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:18:03,639 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:18:03,639 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [572631110] [2022-04-28 12:18:03,639 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:18:03,639 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [417665288] [2022-04-28 12:18:03,639 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [417665288] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:18:03,639 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:18:03,639 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 12:18:03,639 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:18:03,639 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [767875422] [2022-04-28 12:18:03,639 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [767875422] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:03,639 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:03,639 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:18:03,639 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1388697858] [2022-04-28 12:18:03,639 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:18:03,640 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 62 [2022-04-28 12:18:03,640 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:18:03,640 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:18:03,668 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:03,668 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:18:03,668 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:03,669 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:18:03,669 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:18:03,669 INFO L87 Difference]: Start difference. First operand 146 states and 199 transitions. Second operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:18:04,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:04,038 INFO L93 Difference]: Finished difference Result 183 states and 250 transitions. [2022-04-28 12:18:04,038 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 12:18:04,038 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 62 [2022-04-28 12:18:04,039 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:18:04,039 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:18:04,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 95 transitions. [2022-04-28 12:18:04,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:18:04,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 95 transitions. [2022-04-28 12:18:04,041 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 95 transitions. [2022-04-28 12:18:04,109 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:04,111 INFO L225 Difference]: With dead ends: 183 [2022-04-28 12:18:04,111 INFO L226 Difference]: Without dead ends: 146 [2022-04-28 12:18:04,111 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 115 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:18:04,112 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 16 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 31 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 31 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:18:04,112 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 143 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 31 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:18:04,112 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 146 states. [2022-04-28 12:18:04,313 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 146 to 146. [2022-04-28 12:18:04,313 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:18:04,313 INFO L82 GeneralOperation]: Start isEquivalent. First operand 146 states. Second operand has 146 states, 90 states have (on average 1.2666666666666666) internal successors, (114), 94 states have internal predecessors, (114), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:18:04,313 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand has 146 states, 90 states have (on average 1.2666666666666666) internal successors, (114), 94 states have internal predecessors, (114), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:18:04,314 INFO L87 Difference]: Start difference. First operand 146 states. Second operand has 146 states, 90 states have (on average 1.2666666666666666) internal successors, (114), 94 states have internal predecessors, (114), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:18:04,317 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:04,317 INFO L93 Difference]: Finished difference Result 146 states and 198 transitions. [2022-04-28 12:18:04,317 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 198 transitions. [2022-04-28 12:18:04,317 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:04,317 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:04,317 INFO L74 IsIncluded]: Start isIncluded. First operand has 146 states, 90 states have (on average 1.2666666666666666) internal successors, (114), 94 states have internal predecessors, (114), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) Second operand 146 states. [2022-04-28 12:18:04,318 INFO L87 Difference]: Start difference. First operand has 146 states, 90 states have (on average 1.2666666666666666) internal successors, (114), 94 states have internal predecessors, (114), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) Second operand 146 states. [2022-04-28 12:18:04,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:04,320 INFO L93 Difference]: Finished difference Result 146 states and 198 transitions. [2022-04-28 12:18:04,320 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 198 transitions. [2022-04-28 12:18:04,321 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:04,321 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:04,321 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:18:04,321 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:18:04,321 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 146 states, 90 states have (on average 1.2666666666666666) internal successors, (114), 94 states have internal predecessors, (114), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:18:04,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 146 states to 146 states and 198 transitions. [2022-04-28 12:18:04,324 INFO L78 Accepts]: Start accepts. Automaton has 146 states and 198 transitions. Word has length 62 [2022-04-28 12:18:04,324 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:18:04,324 INFO L495 AbstractCegarLoop]: Abstraction has 146 states and 198 transitions. [2022-04-28 12:18:04,324 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:18:04,325 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 146 states and 198 transitions. [2022-04-28 12:18:04,529 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 12:18:04,529 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 198 transitions. [2022-04-28 12:18:04,530 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-28 12:18:04,530 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:04,530 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:18:04,547 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-28 12:18:04,743 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 12:18:04,743 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:04,744 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:04,744 INFO L85 PathProgramCache]: Analyzing trace with hash -385934262, now seen corresponding path program 1 times [2022-04-28 12:18:04,744 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:04,744 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2022088356] [2022-04-28 12:18:04,744 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:04,744 INFO L85 PathProgramCache]: Analyzing trace with hash -385934262, now seen corresponding path program 2 times [2022-04-28 12:18:04,744 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:04,744 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [342086224] [2022-04-28 12:18:04,744 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:04,744 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:04,759 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:18:04,759 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1615001297] [2022-04-28 12:18:04,759 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:18:04,759 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:04,759 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:04,760 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 12:18:04,761 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 12:18:04,801 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:18:04,802 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:18:04,802 INFO L263 TraceCheckSpWp]: Trace formula consists of 220 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:18:04,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:04,820 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:18:05,057 INFO L272 TraceCheckUtils]: 0: Hoare triple {8519#true} call ULTIMATE.init(); {8519#true} is VALID [2022-04-28 12:18:05,057 INFO L290 TraceCheckUtils]: 1: Hoare triple {8519#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,057 INFO L290 TraceCheckUtils]: 2: Hoare triple {8527#(<= ~counter~0 0)} assume true; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,058 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8527#(<= ~counter~0 0)} {8519#true} #98#return; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,058 INFO L272 TraceCheckUtils]: 4: Hoare triple {8527#(<= ~counter~0 0)} call #t~ret8 := main(); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,058 INFO L290 TraceCheckUtils]: 5: Hoare triple {8527#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,059 INFO L272 TraceCheckUtils]: 6: Hoare triple {8527#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,059 INFO L290 TraceCheckUtils]: 7: Hoare triple {8527#(<= ~counter~0 0)} ~cond := #in~cond; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,059 INFO L290 TraceCheckUtils]: 8: Hoare triple {8527#(<= ~counter~0 0)} assume !(0 == ~cond); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,059 INFO L290 TraceCheckUtils]: 9: Hoare triple {8527#(<= ~counter~0 0)} assume true; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,060 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8527#(<= ~counter~0 0)} {8527#(<= ~counter~0 0)} #78#return; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,060 INFO L272 TraceCheckUtils]: 11: Hoare triple {8527#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,060 INFO L290 TraceCheckUtils]: 12: Hoare triple {8527#(<= ~counter~0 0)} ~cond := #in~cond; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,061 INFO L290 TraceCheckUtils]: 13: Hoare triple {8527#(<= ~counter~0 0)} assume !(0 == ~cond); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,061 INFO L290 TraceCheckUtils]: 14: Hoare triple {8527#(<= ~counter~0 0)} assume true; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,061 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8527#(<= ~counter~0 0)} {8527#(<= ~counter~0 0)} #80#return; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,062 INFO L290 TraceCheckUtils]: 16: Hoare triple {8527#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,062 INFO L272 TraceCheckUtils]: 17: Hoare triple {8527#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,063 INFO L290 TraceCheckUtils]: 18: Hoare triple {8527#(<= ~counter~0 0)} ~cond := #in~cond; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,063 INFO L290 TraceCheckUtils]: 19: Hoare triple {8527#(<= ~counter~0 0)} assume !(0 == ~cond); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,063 INFO L290 TraceCheckUtils]: 20: Hoare triple {8527#(<= ~counter~0 0)} assume true; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,063 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8527#(<= ~counter~0 0)} {8527#(<= ~counter~0 0)} #82#return; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,064 INFO L272 TraceCheckUtils]: 22: Hoare triple {8527#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,064 INFO L290 TraceCheckUtils]: 23: Hoare triple {8527#(<= ~counter~0 0)} ~cond := #in~cond; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,064 INFO L290 TraceCheckUtils]: 24: Hoare triple {8527#(<= ~counter~0 0)} assume !(0 == ~cond); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,065 INFO L290 TraceCheckUtils]: 25: Hoare triple {8527#(<= ~counter~0 0)} assume true; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,065 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8527#(<= ~counter~0 0)} {8527#(<= ~counter~0 0)} #84#return; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,065 INFO L290 TraceCheckUtils]: 27: Hoare triple {8527#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8606#(<= ~counter~0 1)} is VALID [2022-04-28 12:18:05,066 INFO L290 TraceCheckUtils]: 28: Hoare triple {8606#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {8606#(<= ~counter~0 1)} is VALID [2022-04-28 12:18:05,066 INFO L290 TraceCheckUtils]: 29: Hoare triple {8606#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8606#(<= ~counter~0 1)} is VALID [2022-04-28 12:18:05,066 INFO L290 TraceCheckUtils]: 30: Hoare triple {8606#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,067 INFO L290 TraceCheckUtils]: 31: Hoare triple {8616#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,067 INFO L272 TraceCheckUtils]: 32: Hoare triple {8616#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,067 INFO L290 TraceCheckUtils]: 33: Hoare triple {8616#(<= ~counter~0 2)} ~cond := #in~cond; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,068 INFO L290 TraceCheckUtils]: 34: Hoare triple {8616#(<= ~counter~0 2)} assume !(0 == ~cond); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,068 INFO L290 TraceCheckUtils]: 35: Hoare triple {8616#(<= ~counter~0 2)} assume true; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,068 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8616#(<= ~counter~0 2)} {8616#(<= ~counter~0 2)} #86#return; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,069 INFO L272 TraceCheckUtils]: 37: Hoare triple {8616#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,069 INFO L290 TraceCheckUtils]: 38: Hoare triple {8616#(<= ~counter~0 2)} ~cond := #in~cond; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,069 INFO L290 TraceCheckUtils]: 39: Hoare triple {8616#(<= ~counter~0 2)} assume !(0 == ~cond); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,069 INFO L290 TraceCheckUtils]: 40: Hoare triple {8616#(<= ~counter~0 2)} assume true; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,070 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8616#(<= ~counter~0 2)} {8616#(<= ~counter~0 2)} #88#return; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,070 INFO L272 TraceCheckUtils]: 42: Hoare triple {8616#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,071 INFO L290 TraceCheckUtils]: 43: Hoare triple {8616#(<= ~counter~0 2)} ~cond := #in~cond; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,071 INFO L290 TraceCheckUtils]: 44: Hoare triple {8616#(<= ~counter~0 2)} assume !(0 == ~cond); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,071 INFO L290 TraceCheckUtils]: 45: Hoare triple {8616#(<= ~counter~0 2)} assume true; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,072 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8616#(<= ~counter~0 2)} {8616#(<= ~counter~0 2)} #90#return; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,080 INFO L272 TraceCheckUtils]: 47: Hoare triple {8616#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,080 INFO L290 TraceCheckUtils]: 48: Hoare triple {8616#(<= ~counter~0 2)} ~cond := #in~cond; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,080 INFO L290 TraceCheckUtils]: 49: Hoare triple {8616#(<= ~counter~0 2)} assume !(0 == ~cond); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,081 INFO L290 TraceCheckUtils]: 50: Hoare triple {8616#(<= ~counter~0 2)} assume true; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,081 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8616#(<= ~counter~0 2)} {8616#(<= ~counter~0 2)} #92#return; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,082 INFO L290 TraceCheckUtils]: 52: Hoare triple {8616#(<= ~counter~0 2)} assume !(~c~0 >= ~b~0); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,082 INFO L290 TraceCheckUtils]: 53: Hoare triple {8616#(<= ~counter~0 2)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:18:05,082 INFO L290 TraceCheckUtils]: 54: Hoare triple {8616#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8689#(<= ~counter~0 3)} is VALID [2022-04-28 12:18:05,083 INFO L290 TraceCheckUtils]: 55: Hoare triple {8689#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {8689#(<= ~counter~0 3)} is VALID [2022-04-28 12:18:05,083 INFO L290 TraceCheckUtils]: 56: Hoare triple {8689#(<= ~counter~0 3)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8689#(<= ~counter~0 3)} is VALID [2022-04-28 12:18:05,083 INFO L290 TraceCheckUtils]: 57: Hoare triple {8689#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8699#(<= |main_#t~post7| 3)} is VALID [2022-04-28 12:18:05,084 INFO L290 TraceCheckUtils]: 58: Hoare triple {8699#(<= |main_#t~post7| 3)} assume !(#t~post7 < 20);havoc #t~post7; {8520#false} is VALID [2022-04-28 12:18:05,084 INFO L290 TraceCheckUtils]: 59: Hoare triple {8520#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8520#false} is VALID [2022-04-28 12:18:05,084 INFO L290 TraceCheckUtils]: 60: Hoare triple {8520#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8520#false} is VALID [2022-04-28 12:18:05,084 INFO L290 TraceCheckUtils]: 61: Hoare triple {8520#false} assume !(#t~post6 < 20);havoc #t~post6; {8520#false} is VALID [2022-04-28 12:18:05,084 INFO L272 TraceCheckUtils]: 62: Hoare triple {8520#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {8520#false} is VALID [2022-04-28 12:18:05,084 INFO L290 TraceCheckUtils]: 63: Hoare triple {8520#false} ~cond := #in~cond; {8520#false} is VALID [2022-04-28 12:18:05,084 INFO L290 TraceCheckUtils]: 64: Hoare triple {8520#false} assume 0 == ~cond; {8520#false} is VALID [2022-04-28 12:18:05,084 INFO L290 TraceCheckUtils]: 65: Hoare triple {8520#false} assume !false; {8520#false} is VALID [2022-04-28 12:18:05,084 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 13 proven. 5 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:18:05,084 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:18:05,376 INFO L290 TraceCheckUtils]: 65: Hoare triple {8520#false} assume !false; {8520#false} is VALID [2022-04-28 12:18:05,376 INFO L290 TraceCheckUtils]: 64: Hoare triple {8520#false} assume 0 == ~cond; {8520#false} is VALID [2022-04-28 12:18:05,376 INFO L290 TraceCheckUtils]: 63: Hoare triple {8520#false} ~cond := #in~cond; {8520#false} is VALID [2022-04-28 12:18:05,376 INFO L272 TraceCheckUtils]: 62: Hoare triple {8520#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {8520#false} is VALID [2022-04-28 12:18:05,376 INFO L290 TraceCheckUtils]: 61: Hoare triple {8520#false} assume !(#t~post6 < 20);havoc #t~post6; {8520#false} is VALID [2022-04-28 12:18:05,376 INFO L290 TraceCheckUtils]: 60: Hoare triple {8520#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8520#false} is VALID [2022-04-28 12:18:05,376 INFO L290 TraceCheckUtils]: 59: Hoare triple {8520#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8520#false} is VALID [2022-04-28 12:18:05,377 INFO L290 TraceCheckUtils]: 58: Hoare triple {8745#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {8520#false} is VALID [2022-04-28 12:18:05,377 INFO L290 TraceCheckUtils]: 57: Hoare triple {8749#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8745#(< |main_#t~post7| 20)} is VALID [2022-04-28 12:18:05,377 INFO L290 TraceCheckUtils]: 56: Hoare triple {8749#(< ~counter~0 20)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8749#(< ~counter~0 20)} is VALID [2022-04-28 12:18:05,378 INFO L290 TraceCheckUtils]: 55: Hoare triple {8749#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {8749#(< ~counter~0 20)} is VALID [2022-04-28 12:18:05,378 INFO L290 TraceCheckUtils]: 54: Hoare triple {8759#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8749#(< ~counter~0 20)} is VALID [2022-04-28 12:18:05,378 INFO L290 TraceCheckUtils]: 53: Hoare triple {8759#(< ~counter~0 19)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8759#(< ~counter~0 19)} is VALID [2022-04-28 12:18:05,379 INFO L290 TraceCheckUtils]: 52: Hoare triple {8759#(< ~counter~0 19)} assume !(~c~0 >= ~b~0); {8759#(< ~counter~0 19)} is VALID [2022-04-28 12:18:05,379 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8519#true} {8759#(< ~counter~0 19)} #92#return; {8759#(< ~counter~0 19)} is VALID [2022-04-28 12:18:05,380 INFO L290 TraceCheckUtils]: 50: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 12:18:05,380 INFO L290 TraceCheckUtils]: 49: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 12:18:05,380 INFO L290 TraceCheckUtils]: 48: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 12:18:05,380 INFO L272 TraceCheckUtils]: 47: Hoare triple {8759#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8519#true} is VALID [2022-04-28 12:18:05,380 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8519#true} {8759#(< ~counter~0 19)} #90#return; {8759#(< ~counter~0 19)} is VALID [2022-04-28 12:18:05,380 INFO L290 TraceCheckUtils]: 45: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 12:18:05,380 INFO L290 TraceCheckUtils]: 44: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 12:18:05,380 INFO L290 TraceCheckUtils]: 43: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 12:18:05,380 INFO L272 TraceCheckUtils]: 42: Hoare triple {8759#(< ~counter~0 19)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8519#true} is VALID [2022-04-28 12:18:05,381 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8519#true} {8759#(< ~counter~0 19)} #88#return; {8759#(< ~counter~0 19)} is VALID [2022-04-28 12:18:05,381 INFO L290 TraceCheckUtils]: 40: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 12:18:05,381 INFO L290 TraceCheckUtils]: 39: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 12:18:05,381 INFO L290 TraceCheckUtils]: 38: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 12:18:05,381 INFO L272 TraceCheckUtils]: 37: Hoare triple {8759#(< ~counter~0 19)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8519#true} is VALID [2022-04-28 12:18:05,382 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8519#true} {8759#(< ~counter~0 19)} #86#return; {8759#(< ~counter~0 19)} is VALID [2022-04-28 12:18:05,382 INFO L290 TraceCheckUtils]: 35: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 12:18:05,382 INFO L290 TraceCheckUtils]: 34: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 12:18:05,382 INFO L290 TraceCheckUtils]: 33: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 12:18:05,382 INFO L272 TraceCheckUtils]: 32: Hoare triple {8759#(< ~counter~0 19)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8519#true} is VALID [2022-04-28 12:18:05,382 INFO L290 TraceCheckUtils]: 31: Hoare triple {8759#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {8759#(< ~counter~0 19)} is VALID [2022-04-28 12:18:05,383 INFO L290 TraceCheckUtils]: 30: Hoare triple {8832#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8759#(< ~counter~0 19)} is VALID [2022-04-28 12:18:05,383 INFO L290 TraceCheckUtils]: 29: Hoare triple {8832#(< ~counter~0 18)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8832#(< ~counter~0 18)} is VALID [2022-04-28 12:18:05,383 INFO L290 TraceCheckUtils]: 28: Hoare triple {8832#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {8832#(< ~counter~0 18)} is VALID [2022-04-28 12:18:05,384 INFO L290 TraceCheckUtils]: 27: Hoare triple {8842#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8832#(< ~counter~0 18)} is VALID [2022-04-28 12:18:05,384 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8519#true} {8842#(< ~counter~0 17)} #84#return; {8842#(< ~counter~0 17)} is VALID [2022-04-28 12:18:05,384 INFO L290 TraceCheckUtils]: 25: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 12:18:05,384 INFO L290 TraceCheckUtils]: 24: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 12:18:05,384 INFO L290 TraceCheckUtils]: 23: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 12:18:05,384 INFO L272 TraceCheckUtils]: 22: Hoare triple {8842#(< ~counter~0 17)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8519#true} is VALID [2022-04-28 12:18:05,385 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8519#true} {8842#(< ~counter~0 17)} #82#return; {8842#(< ~counter~0 17)} is VALID [2022-04-28 12:18:05,385 INFO L290 TraceCheckUtils]: 20: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 12:18:05,385 INFO L290 TraceCheckUtils]: 19: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 12:18:05,385 INFO L290 TraceCheckUtils]: 18: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 12:18:05,385 INFO L272 TraceCheckUtils]: 17: Hoare triple {8842#(< ~counter~0 17)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8519#true} is VALID [2022-04-28 12:18:05,385 INFO L290 TraceCheckUtils]: 16: Hoare triple {8842#(< ~counter~0 17)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {8842#(< ~counter~0 17)} is VALID [2022-04-28 12:18:05,386 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8519#true} {8842#(< ~counter~0 17)} #80#return; {8842#(< ~counter~0 17)} is VALID [2022-04-28 12:18:05,386 INFO L290 TraceCheckUtils]: 14: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 12:18:05,386 INFO L290 TraceCheckUtils]: 13: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 12:18:05,386 INFO L290 TraceCheckUtils]: 12: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 12:18:05,386 INFO L272 TraceCheckUtils]: 11: Hoare triple {8842#(< ~counter~0 17)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8519#true} is VALID [2022-04-28 12:18:05,386 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8519#true} {8842#(< ~counter~0 17)} #78#return; {8842#(< ~counter~0 17)} is VALID [2022-04-28 12:18:05,386 INFO L290 TraceCheckUtils]: 9: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 12:18:05,386 INFO L290 TraceCheckUtils]: 8: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 12:18:05,387 INFO L290 TraceCheckUtils]: 7: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 12:18:05,387 INFO L272 TraceCheckUtils]: 6: Hoare triple {8842#(< ~counter~0 17)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8519#true} is VALID [2022-04-28 12:18:05,387 INFO L290 TraceCheckUtils]: 5: Hoare triple {8842#(< ~counter~0 17)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8842#(< ~counter~0 17)} is VALID [2022-04-28 12:18:05,387 INFO L272 TraceCheckUtils]: 4: Hoare triple {8842#(< ~counter~0 17)} call #t~ret8 := main(); {8842#(< ~counter~0 17)} is VALID [2022-04-28 12:18:05,387 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8842#(< ~counter~0 17)} {8519#true} #98#return; {8842#(< ~counter~0 17)} is VALID [2022-04-28 12:18:05,388 INFO L290 TraceCheckUtils]: 2: Hoare triple {8842#(< ~counter~0 17)} assume true; {8842#(< ~counter~0 17)} is VALID [2022-04-28 12:18:05,388 INFO L290 TraceCheckUtils]: 1: Hoare triple {8519#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8842#(< ~counter~0 17)} is VALID [2022-04-28 12:18:05,388 INFO L272 TraceCheckUtils]: 0: Hoare triple {8519#true} call ULTIMATE.init(); {8519#true} is VALID [2022-04-28 12:18:05,388 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 13 proven. 5 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:18:05,389 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:18:05,389 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [342086224] [2022-04-28 12:18:05,389 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:18:05,389 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1615001297] [2022-04-28 12:18:05,389 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1615001297] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:18:05,389 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:18:05,389 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 12:18:05,389 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:18:05,389 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2022088356] [2022-04-28 12:18:05,389 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2022088356] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:05,389 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:05,389 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:18:05,389 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1716183788] [2022-04-28 12:18:05,389 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:18:05,390 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 66 [2022-04-28 12:18:05,390 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:18:05,390 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:18:05,421 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 12:18:05,422 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:18:05,422 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:05,422 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:18:05,422 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:18:05,422 INFO L87 Difference]: Start difference. First operand 146 states and 198 transitions. Second operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:18:05,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:05,860 INFO L93 Difference]: Finished difference Result 253 states and 351 transitions. [2022-04-28 12:18:05,860 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:18:05,861 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 66 [2022-04-28 12:18:05,861 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:18:05,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:18:05,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 114 transitions. [2022-04-28 12:18:05,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:18:05,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 114 transitions. [2022-04-28 12:18:05,863 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 114 transitions. [2022-04-28 12:18:05,942 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:05,944 INFO L225 Difference]: With dead ends: 253 [2022-04-28 12:18:05,944 INFO L226 Difference]: Without dead ends: 173 [2022-04-28 12:18:05,945 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 121 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=70, Invalid=112, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:18:05,946 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 29 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 37 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 61 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 37 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:18:05,946 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 155 Invalid, 61 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 37 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:18:05,946 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-28 12:18:06,198 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 171. [2022-04-28 12:18:06,198 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:18:06,198 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 171 states, 108 states have (on average 1.2314814814814814) internal successors, (133), 111 states have internal predecessors, (133), 46 states have call successors, (46), 17 states have call predecessors, (46), 16 states have return successors, (44), 42 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:18:06,199 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 171 states, 108 states have (on average 1.2314814814814814) internal successors, (133), 111 states have internal predecessors, (133), 46 states have call successors, (46), 17 states have call predecessors, (46), 16 states have return successors, (44), 42 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:18:06,199 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 171 states, 108 states have (on average 1.2314814814814814) internal successors, (133), 111 states have internal predecessors, (133), 46 states have call successors, (46), 17 states have call predecessors, (46), 16 states have return successors, (44), 42 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:18:06,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:06,202 INFO L93 Difference]: Finished difference Result 173 states and 225 transitions. [2022-04-28 12:18:06,202 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 225 transitions. [2022-04-28 12:18:06,203 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:06,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:06,203 INFO L74 IsIncluded]: Start isIncluded. First operand has 171 states, 108 states have (on average 1.2314814814814814) internal successors, (133), 111 states have internal predecessors, (133), 46 states have call successors, (46), 17 states have call predecessors, (46), 16 states have return successors, (44), 42 states have call predecessors, (44), 44 states have call successors, (44) Second operand 173 states. [2022-04-28 12:18:06,203 INFO L87 Difference]: Start difference. First operand has 171 states, 108 states have (on average 1.2314814814814814) internal successors, (133), 111 states have internal predecessors, (133), 46 states have call successors, (46), 17 states have call predecessors, (46), 16 states have return successors, (44), 42 states have call predecessors, (44), 44 states have call successors, (44) Second operand 173 states. [2022-04-28 12:18:06,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:06,206 INFO L93 Difference]: Finished difference Result 173 states and 225 transitions. [2022-04-28 12:18:06,206 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 225 transitions. [2022-04-28 12:18:06,207 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:06,207 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:06,207 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:18:06,208 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:18:06,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 171 states, 108 states have (on average 1.2314814814814814) internal successors, (133), 111 states have internal predecessors, (133), 46 states have call successors, (46), 17 states have call predecessors, (46), 16 states have return successors, (44), 42 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:18:06,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 171 states to 171 states and 223 transitions. [2022-04-28 12:18:06,212 INFO L78 Accepts]: Start accepts. Automaton has 171 states and 223 transitions. Word has length 66 [2022-04-28 12:18:06,212 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:18:06,212 INFO L495 AbstractCegarLoop]: Abstraction has 171 states and 223 transitions. [2022-04-28 12:18:06,212 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:18:06,212 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 171 states and 223 transitions. [2022-04-28 12:18:06,453 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 223 edges. 223 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:06,453 INFO L276 IsEmpty]: Start isEmpty. Operand 171 states and 223 transitions. [2022-04-28 12:18:06,455 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-28 12:18:06,455 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:06,455 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:18:06,471 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 12:18:06,665 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 12:18:06,665 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:06,665 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:06,666 INFO L85 PathProgramCache]: Analyzing trace with hash 792554045, now seen corresponding path program 1 times [2022-04-28 12:18:06,666 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:06,666 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [867783142] [2022-04-28 12:18:06,666 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:06,666 INFO L85 PathProgramCache]: Analyzing trace with hash 792554045, now seen corresponding path program 2 times [2022-04-28 12:18:06,666 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:06,666 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [80289980] [2022-04-28 12:18:06,666 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:06,666 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:06,676 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:18:06,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [471996870] [2022-04-28 12:18:06,676 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:18:06,676 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:06,676 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:06,677 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 12:18:06,678 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 12:18:06,732 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:18:06,732 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:18:06,733 INFO L263 TraceCheckSpWp]: Trace formula consists of 210 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 12:18:06,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:06,744 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:18:07,038 INFO L272 TraceCheckUtils]: 0: Hoare triple {10124#true} call ULTIMATE.init(); {10124#true} is VALID [2022-04-28 12:18:07,038 INFO L290 TraceCheckUtils]: 1: Hoare triple {10124#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10124#true} is VALID [2022-04-28 12:18:07,038 INFO L290 TraceCheckUtils]: 2: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:18:07,038 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10124#true} {10124#true} #98#return; {10124#true} is VALID [2022-04-28 12:18:07,038 INFO L272 TraceCheckUtils]: 4: Hoare triple {10124#true} call #t~ret8 := main(); {10124#true} is VALID [2022-04-28 12:18:07,038 INFO L290 TraceCheckUtils]: 5: Hoare triple {10124#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10124#true} is VALID [2022-04-28 12:18:07,038 INFO L272 TraceCheckUtils]: 6: Hoare triple {10124#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:18:07,038 INFO L290 TraceCheckUtils]: 7: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:18:07,039 INFO L290 TraceCheckUtils]: 8: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:18:07,039 INFO L290 TraceCheckUtils]: 9: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:18:07,039 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10124#true} {10124#true} #78#return; {10124#true} is VALID [2022-04-28 12:18:07,039 INFO L272 TraceCheckUtils]: 11: Hoare triple {10124#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:18:07,039 INFO L290 TraceCheckUtils]: 12: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:18:07,039 INFO L290 TraceCheckUtils]: 13: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:18:07,039 INFO L290 TraceCheckUtils]: 14: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:18:07,039 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10124#true} {10124#true} #80#return; {10124#true} is VALID [2022-04-28 12:18:07,048 INFO L290 TraceCheckUtils]: 16: Hoare triple {10124#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:18:07,049 INFO L272 TraceCheckUtils]: 17: Hoare triple {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:18:07,049 INFO L290 TraceCheckUtils]: 18: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:18:07,049 INFO L290 TraceCheckUtils]: 19: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:18:07,049 INFO L290 TraceCheckUtils]: 20: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:18:07,050 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10124#true} {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} #82#return; {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:18:07,050 INFO L272 TraceCheckUtils]: 22: Hoare triple {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:18:07,050 INFO L290 TraceCheckUtils]: 23: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:18:07,050 INFO L290 TraceCheckUtils]: 24: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:18:07,050 INFO L290 TraceCheckUtils]: 25: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:18:07,050 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10124#true} {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} #84#return; {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:18:07,051 INFO L290 TraceCheckUtils]: 27: Hoare triple {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:18:07,051 INFO L290 TraceCheckUtils]: 28: Hoare triple {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 20);havoc #t~post6; {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:18:07,052 INFO L290 TraceCheckUtils]: 29: Hoare triple {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:18:07,052 INFO L290 TraceCheckUtils]: 30: Hoare triple {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:18:07,052 INFO L290 TraceCheckUtils]: 31: Hoare triple {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !!(#t~post7 < 20);havoc #t~post7; {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:18:07,052 INFO L272 TraceCheckUtils]: 32: Hoare triple {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:18:07,052 INFO L290 TraceCheckUtils]: 33: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:18:07,052 INFO L290 TraceCheckUtils]: 34: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:18:07,052 INFO L290 TraceCheckUtils]: 35: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:18:07,053 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10124#true} {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} #86#return; {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:18:07,053 INFO L272 TraceCheckUtils]: 37: Hoare triple {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:18:07,053 INFO L290 TraceCheckUtils]: 38: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:18:07,053 INFO L290 TraceCheckUtils]: 39: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:18:07,053 INFO L290 TraceCheckUtils]: 40: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:18:07,054 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10124#true} {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} #88#return; {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:18:07,054 INFO L272 TraceCheckUtils]: 42: Hoare triple {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:18:07,054 INFO L290 TraceCheckUtils]: 43: Hoare triple {10124#true} ~cond := #in~cond; {10260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:07,054 INFO L290 TraceCheckUtils]: 44: Hoare triple {10260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:07,055 INFO L290 TraceCheckUtils]: 45: Hoare triple {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:07,056 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} #90#return; {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:18:07,056 INFO L272 TraceCheckUtils]: 47: Hoare triple {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:18:07,056 INFO L290 TraceCheckUtils]: 48: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:18:07,056 INFO L290 TraceCheckUtils]: 49: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:18:07,056 INFO L290 TraceCheckUtils]: 50: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:18:07,056 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10124#true} {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #92#return; {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:18:07,057 INFO L290 TraceCheckUtils]: 52: Hoare triple {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:18:07,057 INFO L290 TraceCheckUtils]: 53: Hoare triple {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:18:07,058 INFO L290 TraceCheckUtils]: 54: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:18:07,058 INFO L290 TraceCheckUtils]: 55: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(#t~post6 < 20);havoc #t~post6; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:18:07,058 INFO L290 TraceCheckUtils]: 56: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:18:07,059 INFO L290 TraceCheckUtils]: 57: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:18:07,059 INFO L290 TraceCheckUtils]: 58: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(#t~post7 < 20);havoc #t~post7; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:18:07,059 INFO L272 TraceCheckUtils]: 59: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:18:07,059 INFO L290 TraceCheckUtils]: 60: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:18:07,059 INFO L290 TraceCheckUtils]: 61: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:18:07,059 INFO L290 TraceCheckUtils]: 62: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:18:07,060 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {10124#true} {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #86#return; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:18:07,060 INFO L272 TraceCheckUtils]: 64: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10327#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:18:07,061 INFO L290 TraceCheckUtils]: 65: Hoare triple {10327#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10331#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:07,061 INFO L290 TraceCheckUtils]: 66: Hoare triple {10331#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10125#false} is VALID [2022-04-28 12:18:07,061 INFO L290 TraceCheckUtils]: 67: Hoare triple {10125#false} assume !false; {10125#false} is VALID [2022-04-28 12:18:07,061 INFO L134 CoverageAnalysis]: Checked inductivity of 81 backedges. 15 proven. 14 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-28 12:18:07,061 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:18:21,995 INFO L290 TraceCheckUtils]: 67: Hoare triple {10125#false} assume !false; {10125#false} is VALID [2022-04-28 12:18:21,995 INFO L290 TraceCheckUtils]: 66: Hoare triple {10331#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10125#false} is VALID [2022-04-28 12:18:21,996 INFO L290 TraceCheckUtils]: 65: Hoare triple {10327#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10331#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:21,996 INFO L272 TraceCheckUtils]: 64: Hoare triple {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10327#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:18:21,997 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {10124#true} {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #86#return; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:21,997 INFO L290 TraceCheckUtils]: 62: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:18:21,997 INFO L290 TraceCheckUtils]: 61: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:18:21,997 INFO L290 TraceCheckUtils]: 60: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:18:21,997 INFO L272 TraceCheckUtils]: 59: Hoare triple {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:18:21,997 INFO L290 TraceCheckUtils]: 58: Hoare triple {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post7 < 20);havoc #t~post7; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:21,998 INFO L290 TraceCheckUtils]: 57: Hoare triple {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:21,998 INFO L290 TraceCheckUtils]: 56: Hoare triple {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:21,998 INFO L290 TraceCheckUtils]: 55: Hoare triple {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:21,999 INFO L290 TraceCheckUtils]: 54: Hoare triple {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:21,999 INFO L290 TraceCheckUtils]: 53: Hoare triple {10381#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:21,999 INFO L290 TraceCheckUtils]: 52: Hoare triple {10381#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {10381#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:18:22,000 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10124#true} {10381#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #92#return; {10381#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:18:22,000 INFO L290 TraceCheckUtils]: 50: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:18:22,000 INFO L290 TraceCheckUtils]: 49: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:18:22,000 INFO L290 TraceCheckUtils]: 48: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:18:22,000 INFO L272 TraceCheckUtils]: 47: Hoare triple {10381#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:18:22,001 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} {10124#true} #90#return; {10381#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:18:22,001 INFO L290 TraceCheckUtils]: 45: Hoare triple {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:22,001 INFO L290 TraceCheckUtils]: 44: Hoare triple {10412#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:22,002 INFO L290 TraceCheckUtils]: 43: Hoare triple {10124#true} ~cond := #in~cond; {10412#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:18:22,002 INFO L272 TraceCheckUtils]: 42: Hoare triple {10124#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:18:22,002 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10124#true} {10124#true} #88#return; {10124#true} is VALID [2022-04-28 12:18:22,002 INFO L290 TraceCheckUtils]: 40: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:18:22,002 INFO L290 TraceCheckUtils]: 39: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:18:22,002 INFO L290 TraceCheckUtils]: 38: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:18:22,002 INFO L272 TraceCheckUtils]: 37: Hoare triple {10124#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:18:22,002 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10124#true} {10124#true} #86#return; {10124#true} is VALID [2022-04-28 12:18:22,002 INFO L290 TraceCheckUtils]: 35: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:18:22,002 INFO L290 TraceCheckUtils]: 34: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:18:22,002 INFO L290 TraceCheckUtils]: 33: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:18:22,002 INFO L272 TraceCheckUtils]: 32: Hoare triple {10124#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:18:22,002 INFO L290 TraceCheckUtils]: 31: Hoare triple {10124#true} assume !!(#t~post7 < 20);havoc #t~post7; {10124#true} is VALID [2022-04-28 12:18:22,002 INFO L290 TraceCheckUtils]: 30: Hoare triple {10124#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10124#true} is VALID [2022-04-28 12:18:22,003 INFO L290 TraceCheckUtils]: 29: Hoare triple {10124#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10124#true} is VALID [2022-04-28 12:18:22,003 INFO L290 TraceCheckUtils]: 28: Hoare triple {10124#true} assume !!(#t~post6 < 20);havoc #t~post6; {10124#true} is VALID [2022-04-28 12:18:22,003 INFO L290 TraceCheckUtils]: 27: Hoare triple {10124#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10124#true} is VALID [2022-04-28 12:18:22,003 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10124#true} {10124#true} #84#return; {10124#true} is VALID [2022-04-28 12:18:22,003 INFO L290 TraceCheckUtils]: 25: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:18:22,003 INFO L290 TraceCheckUtils]: 24: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:18:22,003 INFO L290 TraceCheckUtils]: 23: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:18:22,003 INFO L272 TraceCheckUtils]: 22: Hoare triple {10124#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:18:22,003 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10124#true} {10124#true} #82#return; {10124#true} is VALID [2022-04-28 12:18:22,003 INFO L290 TraceCheckUtils]: 20: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:18:22,003 INFO L290 TraceCheckUtils]: 19: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:18:22,003 INFO L290 TraceCheckUtils]: 18: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:18:22,003 INFO L272 TraceCheckUtils]: 17: Hoare triple {10124#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:18:22,003 INFO L290 TraceCheckUtils]: 16: Hoare triple {10124#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {10124#true} is VALID [2022-04-28 12:18:22,003 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10124#true} {10124#true} #80#return; {10124#true} is VALID [2022-04-28 12:18:22,003 INFO L290 TraceCheckUtils]: 14: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:18:22,003 INFO L290 TraceCheckUtils]: 13: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:18:22,003 INFO L290 TraceCheckUtils]: 12: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:18:22,003 INFO L272 TraceCheckUtils]: 11: Hoare triple {10124#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:18:22,004 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10124#true} {10124#true} #78#return; {10124#true} is VALID [2022-04-28 12:18:22,004 INFO L290 TraceCheckUtils]: 9: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:18:22,004 INFO L290 TraceCheckUtils]: 8: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:18:22,004 INFO L290 TraceCheckUtils]: 7: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:18:22,004 INFO L272 TraceCheckUtils]: 6: Hoare triple {10124#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:18:22,004 INFO L290 TraceCheckUtils]: 5: Hoare triple {10124#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10124#true} is VALID [2022-04-28 12:18:22,004 INFO L272 TraceCheckUtils]: 4: Hoare triple {10124#true} call #t~ret8 := main(); {10124#true} is VALID [2022-04-28 12:18:22,004 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10124#true} {10124#true} #98#return; {10124#true} is VALID [2022-04-28 12:18:22,004 INFO L290 TraceCheckUtils]: 2: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:18:22,004 INFO L290 TraceCheckUtils]: 1: Hoare triple {10124#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10124#true} is VALID [2022-04-28 12:18:22,004 INFO L272 TraceCheckUtils]: 0: Hoare triple {10124#true} call ULTIMATE.init(); {10124#true} is VALID [2022-04-28 12:18:22,004 INFO L134 CoverageAnalysis]: Checked inductivity of 81 backedges. 22 proven. 7 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-28 12:18:22,004 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:18:22,004 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [80289980] [2022-04-28 12:18:22,004 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:18:22,005 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [471996870] [2022-04-28 12:18:22,005 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [471996870] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:18:22,005 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:18:22,005 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 13 [2022-04-28 12:18:22,005 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:18:22,005 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [867783142] [2022-04-28 12:18:22,005 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [867783142] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:22,005 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:22,005 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:18:22,005 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1855611730] [2022-04-28 12:18:22,005 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:18:22,005 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Word has length 68 [2022-04-28 12:18:22,006 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:18:22,006 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 12:18:22,048 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:22,048 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:18:22,048 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:22,048 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:18:22,048 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=126, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:18:22,049 INFO L87 Difference]: Start difference. First operand 171 states and 223 transitions. Second operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 12:18:23,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:23,354 INFO L93 Difference]: Finished difference Result 195 states and 259 transitions. [2022-04-28 12:18:23,354 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:18:23,354 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Word has length 68 [2022-04-28 12:18:23,354 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:18:23,355 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 12:18:23,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-28 12:18:23,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 12:18:23,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-28 12:18:23,357 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 97 transitions. [2022-04-28 12:18:23,440 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:23,443 INFO L225 Difference]: With dead ends: 195 [2022-04-28 12:18:23,443 INFO L226 Difference]: Without dead ends: 193 [2022-04-28 12:18:23,443 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 139 GetRequests, 123 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:18:23,444 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 22 mSDsluCounter, 248 mSDsCounter, 0 mSdLazyCounter, 312 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 295 SdHoareTripleChecker+Invalid, 320 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 312 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:18:23,444 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 295 Invalid, 320 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 312 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 12:18:23,444 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 193 states. [2022-04-28 12:18:23,709 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 193 to 190. [2022-04-28 12:18:23,709 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:18:23,709 INFO L82 GeneralOperation]: Start isEquivalent. First operand 193 states. Second operand has 190 states, 117 states have (on average 1.2478632478632479) internal successors, (146), 121 states have internal predecessors, (146), 55 states have call successors, (55), 18 states have call predecessors, (55), 17 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:18:23,710 INFO L74 IsIncluded]: Start isIncluded. First operand 193 states. Second operand has 190 states, 117 states have (on average 1.2478632478632479) internal successors, (146), 121 states have internal predecessors, (146), 55 states have call successors, (55), 18 states have call predecessors, (55), 17 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:18:23,710 INFO L87 Difference]: Start difference. First operand 193 states. Second operand has 190 states, 117 states have (on average 1.2478632478632479) internal successors, (146), 121 states have internal predecessors, (146), 55 states have call successors, (55), 18 states have call predecessors, (55), 17 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:18:23,714 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:23,714 INFO L93 Difference]: Finished difference Result 193 states and 257 transitions. [2022-04-28 12:18:23,714 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 257 transitions. [2022-04-28 12:18:23,714 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:23,714 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:23,715 INFO L74 IsIncluded]: Start isIncluded. First operand has 190 states, 117 states have (on average 1.2478632478632479) internal successors, (146), 121 states have internal predecessors, (146), 55 states have call successors, (55), 18 states have call predecessors, (55), 17 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) Second operand 193 states. [2022-04-28 12:18:23,715 INFO L87 Difference]: Start difference. First operand has 190 states, 117 states have (on average 1.2478632478632479) internal successors, (146), 121 states have internal predecessors, (146), 55 states have call successors, (55), 18 states have call predecessors, (55), 17 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) Second operand 193 states. [2022-04-28 12:18:23,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:23,719 INFO L93 Difference]: Finished difference Result 193 states and 257 transitions. [2022-04-28 12:18:23,719 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 257 transitions. [2022-04-28 12:18:23,719 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:23,719 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:23,719 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:18:23,720 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:18:23,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 190 states, 117 states have (on average 1.2478632478632479) internal successors, (146), 121 states have internal predecessors, (146), 55 states have call successors, (55), 18 states have call predecessors, (55), 17 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:18:23,723 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 190 states to 190 states and 254 transitions. [2022-04-28 12:18:23,724 INFO L78 Accepts]: Start accepts. Automaton has 190 states and 254 transitions. Word has length 68 [2022-04-28 12:18:23,724 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:18:23,724 INFO L495 AbstractCegarLoop]: Abstraction has 190 states and 254 transitions. [2022-04-28 12:18:23,724 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 12:18:23,724 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 190 states and 254 transitions. [2022-04-28 12:18:24,015 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 254 edges. 254 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:24,016 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 254 transitions. [2022-04-28 12:18:24,016 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-28 12:18:24,016 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:24,016 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:18:24,035 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 12:18:24,231 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 12:18:24,231 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:24,232 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:24,232 INFO L85 PathProgramCache]: Analyzing trace with hash 783638790, now seen corresponding path program 3 times [2022-04-28 12:18:24,232 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:24,232 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1345945273] [2022-04-28 12:18:24,232 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:24,232 INFO L85 PathProgramCache]: Analyzing trace with hash 783638790, now seen corresponding path program 4 times [2022-04-28 12:18:24,232 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:24,232 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [541889524] [2022-04-28 12:18:24,232 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:24,232 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:24,242 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:18:24,242 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [328917394] [2022-04-28 12:18:24,242 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:18:24,242 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:24,242 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:24,243 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 12:18:24,251 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 12:18:24,286 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:18:24,286 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:18:24,287 INFO L263 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 12:18:24,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:24,299 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:18:29,613 INFO L272 TraceCheckUtils]: 0: Hoare triple {11708#true} call ULTIMATE.init(); {11708#true} is VALID [2022-04-28 12:18:29,613 INFO L290 TraceCheckUtils]: 1: Hoare triple {11708#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11708#true} is VALID [2022-04-28 12:18:29,613 INFO L290 TraceCheckUtils]: 2: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:18:29,613 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11708#true} {11708#true} #98#return; {11708#true} is VALID [2022-04-28 12:18:29,613 INFO L272 TraceCheckUtils]: 4: Hoare triple {11708#true} call #t~ret8 := main(); {11708#true} is VALID [2022-04-28 12:18:29,613 INFO L290 TraceCheckUtils]: 5: Hoare triple {11708#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11708#true} is VALID [2022-04-28 12:18:29,614 INFO L272 TraceCheckUtils]: 6: Hoare triple {11708#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:18:29,614 INFO L290 TraceCheckUtils]: 7: Hoare triple {11708#true} ~cond := #in~cond; {11734#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:18:29,614 INFO L290 TraceCheckUtils]: 8: Hoare triple {11734#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {11738#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:29,614 INFO L290 TraceCheckUtils]: 9: Hoare triple {11738#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11738#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:29,615 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11738#(not (= |assume_abort_if_not_#in~cond| 0))} {11708#true} #78#return; {11745#(<= 1 main_~x~0)} is VALID [2022-04-28 12:18:29,615 INFO L272 TraceCheckUtils]: 11: Hoare triple {11745#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:18:29,616 INFO L290 TraceCheckUtils]: 12: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 12:18:29,616 INFO L290 TraceCheckUtils]: 13: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 12:18:29,616 INFO L290 TraceCheckUtils]: 14: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:18:29,617 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11708#true} {11745#(<= 1 main_~x~0)} #80#return; {11745#(<= 1 main_~x~0)} is VALID [2022-04-28 12:18:29,617 INFO L290 TraceCheckUtils]: 16: Hoare triple {11745#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:29,617 INFO L272 TraceCheckUtils]: 17: Hoare triple {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:18:29,617 INFO L290 TraceCheckUtils]: 18: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 12:18:29,617 INFO L290 TraceCheckUtils]: 19: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 12:18:29,617 INFO L290 TraceCheckUtils]: 20: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:18:29,618 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11708#true} {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:29,618 INFO L272 TraceCheckUtils]: 22: Hoare triple {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:18:29,618 INFO L290 TraceCheckUtils]: 23: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 12:18:29,618 INFO L290 TraceCheckUtils]: 24: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 12:18:29,618 INFO L290 TraceCheckUtils]: 25: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:18:29,619 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11708#true} {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:29,619 INFO L290 TraceCheckUtils]: 27: Hoare triple {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:29,620 INFO L290 TraceCheckUtils]: 28: Hoare triple {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:29,620 INFO L290 TraceCheckUtils]: 29: Hoare triple {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:29,621 INFO L290 TraceCheckUtils]: 30: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:29,621 INFO L290 TraceCheckUtils]: 31: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:29,621 INFO L272 TraceCheckUtils]: 32: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:18:29,621 INFO L290 TraceCheckUtils]: 33: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 12:18:29,621 INFO L290 TraceCheckUtils]: 34: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 12:18:29,621 INFO L290 TraceCheckUtils]: 35: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:18:29,622 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11708#true} {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #86#return; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:29,622 INFO L272 TraceCheckUtils]: 37: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:18:29,622 INFO L290 TraceCheckUtils]: 38: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 12:18:29,622 INFO L290 TraceCheckUtils]: 39: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 12:18:29,622 INFO L290 TraceCheckUtils]: 40: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:18:29,623 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11708#true} {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #88#return; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:29,623 INFO L272 TraceCheckUtils]: 42: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:18:29,623 INFO L290 TraceCheckUtils]: 43: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 12:18:29,624 INFO L290 TraceCheckUtils]: 44: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 12:18:29,624 INFO L290 TraceCheckUtils]: 45: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:18:29,624 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {11708#true} {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #90#return; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:29,624 INFO L272 TraceCheckUtils]: 47: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:18:29,624 INFO L290 TraceCheckUtils]: 48: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 12:18:29,625 INFO L290 TraceCheckUtils]: 49: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 12:18:29,625 INFO L290 TraceCheckUtils]: 50: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:18:29,625 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11708#true} {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #92#return; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:29,626 INFO L290 TraceCheckUtils]: 52: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {11874#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (= main_~k~0 0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:29,627 INFO L290 TraceCheckUtils]: 53: Hoare triple {11874#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (= main_~k~0 0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:18:29,627 INFO L290 TraceCheckUtils]: 54: Hoare triple {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:18:29,628 INFO L290 TraceCheckUtils]: 55: Hoare triple {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:18:29,628 INFO L290 TraceCheckUtils]: 56: Hoare triple {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:18:29,629 INFO L290 TraceCheckUtils]: 57: Hoare triple {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:18:29,629 INFO L290 TraceCheckUtils]: 58: Hoare triple {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:18:29,629 INFO L272 TraceCheckUtils]: 59: Hoare triple {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:18:29,629 INFO L290 TraceCheckUtils]: 60: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 12:18:29,629 INFO L290 TraceCheckUtils]: 61: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 12:18:29,629 INFO L290 TraceCheckUtils]: 62: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:18:29,630 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {11708#true} {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #86#return; {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:18:29,630 INFO L272 TraceCheckUtils]: 64: Hoare triple {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:18:29,630 INFO L290 TraceCheckUtils]: 65: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 12:18:29,630 INFO L290 TraceCheckUtils]: 66: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 12:18:29,630 INFO L290 TraceCheckUtils]: 67: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:18:29,631 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {11708#true} {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #88#return; {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:18:29,632 INFO L272 TraceCheckUtils]: 69: Hoare triple {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11927#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:18:29,632 INFO L290 TraceCheckUtils]: 70: Hoare triple {11927#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11931#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:29,632 INFO L290 TraceCheckUtils]: 71: Hoare triple {11931#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11709#false} is VALID [2022-04-28 12:18:29,633 INFO L290 TraceCheckUtils]: 72: Hoare triple {11709#false} assume !false; {11709#false} is VALID [2022-04-28 12:18:29,634 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 12 proven. 17 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2022-04-28 12:18:29,634 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:19:52,837 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:19:52,838 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [541889524] [2022-04-28 12:19:52,838 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:19:52,838 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [328917394] [2022-04-28 12:19:52,838 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [328917394] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:19:52,838 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:19:52,838 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-28 12:19:52,838 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:19:52,838 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1345945273] [2022-04-28 12:19:52,838 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1345945273] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:19:52,838 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:19:52,838 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:19:52,838 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [952136589] [2022-04-28 12:19:52,838 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:19:52,839 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 12:19:52,839 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:19:52,839 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:19:52,884 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:52,885 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:19:52,885 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:52,885 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:19:52,885 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:19:52,885 INFO L87 Difference]: Start difference. First operand 190 states and 254 transitions. Second operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:19:54,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:54,490 INFO L93 Difference]: Finished difference Result 199 states and 262 transitions. [2022-04-28 12:19:54,491 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:19:54,491 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 12:19:54,491 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:19:54,491 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:19:54,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 12:19:54,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:19:54,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 12:19:54,493 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-28 12:19:54,587 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:54,590 INFO L225 Difference]: With dead ends: 199 [2022-04-28 12:19:54,590 INFO L226 Difference]: Without dead ends: 197 [2022-04-28 12:19:54,591 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 80 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=63, Invalid=279, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:19:54,591 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 39 mSDsluCounter, 252 mSDsCounter, 0 mSdLazyCounter, 321 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 303 SdHoareTripleChecker+Invalid, 336 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 321 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:19:54,591 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 303 Invalid, 336 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 321 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:19:54,592 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-28 12:19:55,049 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 194. [2022-04-28 12:19:55,050 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:19:55,050 INFO L82 GeneralOperation]: Start isEquivalent. First operand 197 states. Second operand has 194 states, 120 states have (on average 1.2416666666666667) internal successors, (149), 124 states have internal predecessors, (149), 55 states have call successors, (55), 19 states have call predecessors, (55), 18 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:19:55,050 INFO L74 IsIncluded]: Start isIncluded. First operand 197 states. Second operand has 194 states, 120 states have (on average 1.2416666666666667) internal successors, (149), 124 states have internal predecessors, (149), 55 states have call successors, (55), 19 states have call predecessors, (55), 18 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:19:55,051 INFO L87 Difference]: Start difference. First operand 197 states. Second operand has 194 states, 120 states have (on average 1.2416666666666667) internal successors, (149), 124 states have internal predecessors, (149), 55 states have call successors, (55), 19 states have call predecessors, (55), 18 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:19:55,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:55,064 INFO L93 Difference]: Finished difference Result 197 states and 260 transitions. [2022-04-28 12:19:55,064 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 260 transitions. [2022-04-28 12:19:55,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:55,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:55,066 INFO L74 IsIncluded]: Start isIncluded. First operand has 194 states, 120 states have (on average 1.2416666666666667) internal successors, (149), 124 states have internal predecessors, (149), 55 states have call successors, (55), 19 states have call predecessors, (55), 18 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) Second operand 197 states. [2022-04-28 12:19:55,066 INFO L87 Difference]: Start difference. First operand has 194 states, 120 states have (on average 1.2416666666666667) internal successors, (149), 124 states have internal predecessors, (149), 55 states have call successors, (55), 19 states have call predecessors, (55), 18 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) Second operand 197 states. [2022-04-28 12:19:55,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:55,070 INFO L93 Difference]: Finished difference Result 197 states and 260 transitions. [2022-04-28 12:19:55,070 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 260 transitions. [2022-04-28 12:19:55,071 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:55,071 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:55,071 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:19:55,071 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:19:55,071 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 194 states, 120 states have (on average 1.2416666666666667) internal successors, (149), 124 states have internal predecessors, (149), 55 states have call successors, (55), 19 states have call predecessors, (55), 18 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:19:55,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 194 states to 194 states and 257 transitions. [2022-04-28 12:19:55,086 INFO L78 Accepts]: Start accepts. Automaton has 194 states and 257 transitions. Word has length 73 [2022-04-28 12:19:55,086 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:19:55,086 INFO L495 AbstractCegarLoop]: Abstraction has 194 states and 257 transitions. [2022-04-28 12:19:55,099 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:19:55,099 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 194 states and 257 transitions. [2022-04-28 12:19:55,507 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 12:19:55,508 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 257 transitions. [2022-04-28 12:19:55,508 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2022-04-28 12:19:55,508 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:19:55,509 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:19:55,529 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 12:19:55,709 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 12:19:55,709 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:19:55,709 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:19:55,710 INFO L85 PathProgramCache]: Analyzing trace with hash 1625446301, now seen corresponding path program 5 times [2022-04-28 12:19:55,710 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:55,710 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1659855422] [2022-04-28 12:19:55,710 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:19:55,710 INFO L85 PathProgramCache]: Analyzing trace with hash 1625446301, now seen corresponding path program 6 times [2022-04-28 12:19:55,710 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:19:55,710 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2009151949] [2022-04-28 12:19:55,710 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:19:55,710 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:19:55,721 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:19:55,721 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1836790825] [2022-04-28 12:19:55,721 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:19:55,721 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:19:55,722 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:19:55,726 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:19:55,727 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 12:19:55,783 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:19:55,783 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:19:55,784 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-28 12:19:55,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:19:55,812 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:20:00,047 INFO L272 TraceCheckUtils]: 0: Hoare triple {13195#true} call ULTIMATE.init(); {13195#true} is VALID [2022-04-28 12:20:00,047 INFO L290 TraceCheckUtils]: 1: Hoare triple {13195#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13195#true} is VALID [2022-04-28 12:20:00,048 INFO L290 TraceCheckUtils]: 2: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:20:00,048 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13195#true} {13195#true} #98#return; {13195#true} is VALID [2022-04-28 12:20:00,048 INFO L272 TraceCheckUtils]: 4: Hoare triple {13195#true} call #t~ret8 := main(); {13195#true} is VALID [2022-04-28 12:20:00,048 INFO L290 TraceCheckUtils]: 5: Hoare triple {13195#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13195#true} is VALID [2022-04-28 12:20:00,048 INFO L272 TraceCheckUtils]: 6: Hoare triple {13195#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:20:00,048 INFO L290 TraceCheckUtils]: 7: Hoare triple {13195#true} ~cond := #in~cond; {13221#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:20:00,048 INFO L290 TraceCheckUtils]: 8: Hoare triple {13221#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {13225#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:00,048 INFO L290 TraceCheckUtils]: 9: Hoare triple {13225#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {13225#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:00,049 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13225#(not (= |assume_abort_if_not_#in~cond| 0))} {13195#true} #78#return; {13232#(<= 1 main_~x~0)} is VALID [2022-04-28 12:20:00,049 INFO L272 TraceCheckUtils]: 11: Hoare triple {13232#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:20:00,049 INFO L290 TraceCheckUtils]: 12: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 12:20:00,049 INFO L290 TraceCheckUtils]: 13: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 12:20:00,049 INFO L290 TraceCheckUtils]: 14: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:20:00,049 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13195#true} {13232#(<= 1 main_~x~0)} #80#return; {13232#(<= 1 main_~x~0)} is VALID [2022-04-28 12:20:00,050 INFO L290 TraceCheckUtils]: 16: Hoare triple {13232#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:00,050 INFO L272 TraceCheckUtils]: 17: Hoare triple {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:20:00,050 INFO L290 TraceCheckUtils]: 18: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 12:20:00,050 INFO L290 TraceCheckUtils]: 19: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 12:20:00,050 INFO L290 TraceCheckUtils]: 20: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:20:00,051 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13195#true} {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:00,051 INFO L272 TraceCheckUtils]: 22: Hoare triple {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:20:00,051 INFO L290 TraceCheckUtils]: 23: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 12:20:00,051 INFO L290 TraceCheckUtils]: 24: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 12:20:00,051 INFO L290 TraceCheckUtils]: 25: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:20:00,052 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13195#true} {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:00,052 INFO L290 TraceCheckUtils]: 27: Hoare triple {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:00,052 INFO L290 TraceCheckUtils]: 28: Hoare triple {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:00,053 INFO L290 TraceCheckUtils]: 29: Hoare triple {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:00,053 INFO L290 TraceCheckUtils]: 30: Hoare triple {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:00,054 INFO L290 TraceCheckUtils]: 31: Hoare triple {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:00,054 INFO L272 TraceCheckUtils]: 32: Hoare triple {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:20:00,054 INFO L290 TraceCheckUtils]: 33: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 12:20:00,054 INFO L290 TraceCheckUtils]: 34: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 12:20:00,054 INFO L290 TraceCheckUtils]: 35: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:20:00,054 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13195#true} {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #86#return; {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:00,055 INFO L272 TraceCheckUtils]: 37: Hoare triple {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:20:00,055 INFO L290 TraceCheckUtils]: 38: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 12:20:00,055 INFO L290 TraceCheckUtils]: 39: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 12:20:00,055 INFO L290 TraceCheckUtils]: 40: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:20:00,055 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13195#true} {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #88#return; {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:00,055 INFO L272 TraceCheckUtils]: 42: Hoare triple {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:20:00,055 INFO L290 TraceCheckUtils]: 43: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 12:20:00,056 INFO L290 TraceCheckUtils]: 44: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 12:20:00,056 INFO L290 TraceCheckUtils]: 45: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:20:00,056 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {13195#true} {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #90#return; {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:00,056 INFO L272 TraceCheckUtils]: 47: Hoare triple {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:20:00,056 INFO L290 TraceCheckUtils]: 48: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 12:20:00,056 INFO L290 TraceCheckUtils]: 49: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 12:20:00,056 INFO L290 TraceCheckUtils]: 50: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:20:00,066 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13195#true} {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #92#return; {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:00,066 INFO L290 TraceCheckUtils]: 52: Hoare triple {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {13361#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:00,067 INFO L290 TraceCheckUtils]: 53: Hoare triple {13361#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:20:00,067 INFO L290 TraceCheckUtils]: 54: Hoare triple {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:20:00,067 INFO L290 TraceCheckUtils]: 55: Hoare triple {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:20:00,068 INFO L290 TraceCheckUtils]: 56: Hoare triple {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:20:00,068 INFO L290 TraceCheckUtils]: 57: Hoare triple {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:20:00,068 INFO L290 TraceCheckUtils]: 58: Hoare triple {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post7 < 20);havoc #t~post7; {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:20:00,069 INFO L272 TraceCheckUtils]: 59: Hoare triple {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:20:00,069 INFO L290 TraceCheckUtils]: 60: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 12:20:00,069 INFO L290 TraceCheckUtils]: 61: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 12:20:00,069 INFO L290 TraceCheckUtils]: 62: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:20:00,069 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {13195#true} {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:20:00,069 INFO L272 TraceCheckUtils]: 64: Hoare triple {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:20:00,069 INFO L290 TraceCheckUtils]: 65: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 12:20:00,069 INFO L290 TraceCheckUtils]: 66: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 12:20:00,070 INFO L290 TraceCheckUtils]: 67: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:20:00,070 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {13195#true} {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:20:00,070 INFO L272 TraceCheckUtils]: 69: Hoare triple {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:20:00,070 INFO L290 TraceCheckUtils]: 70: Hoare triple {13195#true} ~cond := #in~cond; {13417#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:20:00,071 INFO L290 TraceCheckUtils]: 71: Hoare triple {13417#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13421#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:20:00,071 INFO L290 TraceCheckUtils]: 72: Hoare triple {13421#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13421#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:20:00,071 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {13421#(not (= |__VERIFIER_assert_#in~cond| 0))} {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:20:00,072 INFO L272 TraceCheckUtils]: 74: Hoare triple {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {13431#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:20:00,072 INFO L290 TraceCheckUtils]: 75: Hoare triple {13431#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13435#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:20:00,073 INFO L290 TraceCheckUtils]: 76: Hoare triple {13435#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13196#false} is VALID [2022-04-28 12:20:00,073 INFO L290 TraceCheckUtils]: 77: Hoare triple {13196#false} assume !false; {13196#false} is VALID [2022-04-28 12:20:00,073 INFO L134 CoverageAnalysis]: Checked inductivity of 131 backedges. 31 proven. 19 refuted. 0 times theorem prover too weak. 81 trivial. 0 not checked. [2022-04-28 12:20:00,073 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:20:58,266 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:20:58,266 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2009151949] [2022-04-28 12:20:58,266 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:20:58,266 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1836790825] [2022-04-28 12:20:58,266 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1836790825] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:20:58,266 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:20:58,266 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-28 12:20:58,266 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:20:58,266 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1659855422] [2022-04-28 12:20:58,267 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1659855422] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:20:58,267 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:20:58,267 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:20:58,267 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [117197639] [2022-04-28 12:20:58,267 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:20:58,267 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 78 [2022-04-28 12:20:58,267 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:20:58,267 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:20:58,321 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:58,322 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:20:58,322 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:58,322 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:20:58,322 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=175, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:20:58,322 INFO L87 Difference]: Start difference. First operand 194 states and 257 transitions. Second operand has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:21:03,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:03,650 INFO L93 Difference]: Finished difference Result 203 states and 265 transitions. [2022-04-28 12:21:03,650 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 12:21:03,650 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 78 [2022-04-28 12:21:03,650 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:21:03,650 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:21:03,651 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 97 transitions. [2022-04-28 12:21:03,651 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:21:03,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 97 transitions. [2022-04-28 12:21:03,652 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 97 transitions. [2022-04-28 12:21:03,757 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:03,760 INFO L225 Difference]: With dead ends: 203 [2022-04-28 12:21:03,760 INFO L226 Difference]: Without dead ends: 201 [2022-04-28 12:21:03,761 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 67 SyntacticMatches, 2 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=62, Invalid=318, Unknown=0, NotChecked=0, Total=380 [2022-04-28 12:21:03,761 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 55 mSDsluCounter, 193 mSDsCounter, 0 mSdLazyCounter, 413 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 443 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 413 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.9s IncrementalHoareTripleChecker+Time [2022-04-28 12:21:03,761 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [65 Valid, 230 Invalid, 443 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 413 Invalid, 0 Unknown, 0 Unchecked, 1.9s Time] [2022-04-28 12:21:03,761 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 201 states. [2022-04-28 12:21:04,052 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 201 to 198. [2022-04-28 12:21:04,052 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:21:04,053 INFO L82 GeneralOperation]: Start isEquivalent. First operand 201 states. Second operand has 198 states, 123 states have (on average 1.2357723577235773) internal successors, (152), 127 states have internal predecessors, (152), 55 states have call successors, (55), 20 states have call predecessors, (55), 19 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:21:04,053 INFO L74 IsIncluded]: Start isIncluded. First operand 201 states. Second operand has 198 states, 123 states have (on average 1.2357723577235773) internal successors, (152), 127 states have internal predecessors, (152), 55 states have call successors, (55), 20 states have call predecessors, (55), 19 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:21:04,053 INFO L87 Difference]: Start difference. First operand 201 states. Second operand has 198 states, 123 states have (on average 1.2357723577235773) internal successors, (152), 127 states have internal predecessors, (152), 55 states have call successors, (55), 20 states have call predecessors, (55), 19 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:21:04,057 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:04,057 INFO L93 Difference]: Finished difference Result 201 states and 263 transitions. [2022-04-28 12:21:04,057 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 263 transitions. [2022-04-28 12:21:04,057 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:04,057 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:04,057 INFO L74 IsIncluded]: Start isIncluded. First operand has 198 states, 123 states have (on average 1.2357723577235773) internal successors, (152), 127 states have internal predecessors, (152), 55 states have call successors, (55), 20 states have call predecessors, (55), 19 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) Second operand 201 states. [2022-04-28 12:21:04,058 INFO L87 Difference]: Start difference. First operand has 198 states, 123 states have (on average 1.2357723577235773) internal successors, (152), 127 states have internal predecessors, (152), 55 states have call successors, (55), 20 states have call predecessors, (55), 19 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) Second operand 201 states. [2022-04-28 12:21:04,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:04,061 INFO L93 Difference]: Finished difference Result 201 states and 263 transitions. [2022-04-28 12:21:04,061 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 263 transitions. [2022-04-28 12:21:04,062 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:04,062 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:04,062 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:21:04,062 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:21:04,062 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 198 states, 123 states have (on average 1.2357723577235773) internal successors, (152), 127 states have internal predecessors, (152), 55 states have call successors, (55), 20 states have call predecessors, (55), 19 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:21:04,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 198 states to 198 states and 260 transitions. [2022-04-28 12:21:04,065 INFO L78 Accepts]: Start accepts. Automaton has 198 states and 260 transitions. Word has length 78 [2022-04-28 12:21:04,066 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:21:04,066 INFO L495 AbstractCegarLoop]: Abstraction has 198 states and 260 transitions. [2022-04-28 12:21:04,066 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:21:04,066 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 198 states and 260 transitions. [2022-04-28 12:21:04,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 260 edges. 260 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:04,392 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 260 transitions. [2022-04-28 12:21:04,392 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2022-04-28 12:21:04,392 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:21:04,392 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:21:04,410 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 12:21:04,593 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 12:21:04,593 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:21:04,593 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:21:04,593 INFO L85 PathProgramCache]: Analyzing trace with hash -1849570232, now seen corresponding path program 3 times [2022-04-28 12:21:04,593 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:21:04,594 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1412527631] [2022-04-28 12:21:04,594 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:21:04,594 INFO L85 PathProgramCache]: Analyzing trace with hash -1849570232, now seen corresponding path program 4 times [2022-04-28 12:21:04,594 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:21:04,594 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1014815759] [2022-04-28 12:21:04,594 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:21:04,594 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:21:04,606 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:21:04,607 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1874623130] [2022-04-28 12:21:04,607 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:21:04,607 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:21:04,607 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:21:04,608 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 12:21:04,609 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 12:21:04,649 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:21:04,650 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:21:04,650 INFO L263 TraceCheckSpWp]: Trace formula consists of 182 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 12:21:04,663 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:21:04,664 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:21:05,349 INFO L272 TraceCheckUtils]: 0: Hoare triple {14672#true} call ULTIMATE.init(); {14672#true} is VALID [2022-04-28 12:21:05,350 INFO L290 TraceCheckUtils]: 1: Hoare triple {14672#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {14672#true} is VALID [2022-04-28 12:21:05,350 INFO L290 TraceCheckUtils]: 2: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:05,350 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14672#true} {14672#true} #98#return; {14672#true} is VALID [2022-04-28 12:21:05,350 INFO L272 TraceCheckUtils]: 4: Hoare triple {14672#true} call #t~ret8 := main(); {14672#true} is VALID [2022-04-28 12:21:05,350 INFO L290 TraceCheckUtils]: 5: Hoare triple {14672#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14672#true} is VALID [2022-04-28 12:21:05,350 INFO L272 TraceCheckUtils]: 6: Hoare triple {14672#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:05,350 INFO L290 TraceCheckUtils]: 7: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:05,350 INFO L290 TraceCheckUtils]: 8: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:05,350 INFO L290 TraceCheckUtils]: 9: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:05,350 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14672#true} {14672#true} #78#return; {14672#true} is VALID [2022-04-28 12:21:05,350 INFO L272 TraceCheckUtils]: 11: Hoare triple {14672#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:05,351 INFO L290 TraceCheckUtils]: 12: Hoare triple {14672#true} ~cond := #in~cond; {14713#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:21:05,351 INFO L290 TraceCheckUtils]: 13: Hoare triple {14713#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {14717#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:21:05,351 INFO L290 TraceCheckUtils]: 14: Hoare triple {14717#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {14717#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:21:05,351 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14717#(not (= |assume_abort_if_not_#in~cond| 0))} {14672#true} #80#return; {14724#(<= 1 main_~y~0)} is VALID [2022-04-28 12:21:05,352 INFO L290 TraceCheckUtils]: 16: Hoare triple {14724#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {14728#(<= 1 main_~b~0)} is VALID [2022-04-28 12:21:05,352 INFO L272 TraceCheckUtils]: 17: Hoare triple {14728#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:05,352 INFO L290 TraceCheckUtils]: 18: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:05,352 INFO L290 TraceCheckUtils]: 19: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:05,352 INFO L290 TraceCheckUtils]: 20: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:05,352 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14672#true} {14728#(<= 1 main_~b~0)} #82#return; {14728#(<= 1 main_~b~0)} is VALID [2022-04-28 12:21:05,352 INFO L272 TraceCheckUtils]: 22: Hoare triple {14728#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:05,353 INFO L290 TraceCheckUtils]: 23: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:05,353 INFO L290 TraceCheckUtils]: 24: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:05,353 INFO L290 TraceCheckUtils]: 25: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:05,353 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14672#true} {14728#(<= 1 main_~b~0)} #84#return; {14728#(<= 1 main_~b~0)} is VALID [2022-04-28 12:21:05,353 INFO L290 TraceCheckUtils]: 27: Hoare triple {14728#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14728#(<= 1 main_~b~0)} is VALID [2022-04-28 12:21:05,353 INFO L290 TraceCheckUtils]: 28: Hoare triple {14728#(<= 1 main_~b~0)} assume !!(#t~post6 < 20);havoc #t~post6; {14728#(<= 1 main_~b~0)} is VALID [2022-04-28 12:21:05,354 INFO L290 TraceCheckUtils]: 29: Hoare triple {14728#(<= 1 main_~b~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:21:05,354 INFO L290 TraceCheckUtils]: 30: Hoare triple {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:21:05,354 INFO L290 TraceCheckUtils]: 31: Hoare triple {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} assume !!(#t~post7 < 20);havoc #t~post7; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:21:05,354 INFO L272 TraceCheckUtils]: 32: Hoare triple {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:05,355 INFO L290 TraceCheckUtils]: 33: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:05,355 INFO L290 TraceCheckUtils]: 34: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:05,355 INFO L290 TraceCheckUtils]: 35: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:05,355 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14672#true} {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #86#return; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:21:05,355 INFO L272 TraceCheckUtils]: 37: Hoare triple {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:05,355 INFO L290 TraceCheckUtils]: 38: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:05,355 INFO L290 TraceCheckUtils]: 39: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:05,355 INFO L290 TraceCheckUtils]: 40: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:05,356 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14672#true} {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #88#return; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:21:05,356 INFO L272 TraceCheckUtils]: 42: Hoare triple {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:05,356 INFO L290 TraceCheckUtils]: 43: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:05,356 INFO L290 TraceCheckUtils]: 44: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:05,356 INFO L290 TraceCheckUtils]: 45: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:05,357 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {14672#true} {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #90#return; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:21:05,357 INFO L272 TraceCheckUtils]: 47: Hoare triple {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:05,357 INFO L290 TraceCheckUtils]: 48: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:05,357 INFO L290 TraceCheckUtils]: 49: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:05,357 INFO L290 TraceCheckUtils]: 50: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:05,358 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14672#true} {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #92#return; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:21:05,358 INFO L290 TraceCheckUtils]: 52: Hoare triple {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 12:21:05,359 INFO L290 TraceCheckUtils]: 53: Hoare triple {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 12:21:05,359 INFO L290 TraceCheckUtils]: 54: Hoare triple {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} assume !!(#t~post7 < 20);havoc #t~post7; {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 12:21:05,359 INFO L272 TraceCheckUtils]: 55: Hoare triple {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:05,359 INFO L290 TraceCheckUtils]: 56: Hoare triple {14672#true} ~cond := #in~cond; {14851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:05,360 INFO L290 TraceCheckUtils]: 57: Hoare triple {14851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:05,360 INFO L290 TraceCheckUtils]: 58: Hoare triple {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:05,360 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} #86#return; {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 12:21:05,360 INFO L272 TraceCheckUtils]: 60: Hoare triple {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:05,360 INFO L290 TraceCheckUtils]: 61: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:05,360 INFO L290 TraceCheckUtils]: 62: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:05,361 INFO L290 TraceCheckUtils]: 63: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:05,361 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14672#true} {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} #88#return; {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 12:21:05,361 INFO L272 TraceCheckUtils]: 65: Hoare triple {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:05,361 INFO L290 TraceCheckUtils]: 66: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:05,361 INFO L290 TraceCheckUtils]: 67: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:05,361 INFO L290 TraceCheckUtils]: 68: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:05,362 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14672#true} {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} #90#return; {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 12:21:05,362 INFO L272 TraceCheckUtils]: 70: Hoare triple {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:05,362 INFO L290 TraceCheckUtils]: 71: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:05,362 INFO L290 TraceCheckUtils]: 72: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:05,362 INFO L290 TraceCheckUtils]: 73: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:05,363 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {14672#true} {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} #92#return; {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 12:21:05,364 INFO L290 TraceCheckUtils]: 75: Hoare triple {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14911#(and (= (+ main_~a~0 (* (- 1) main_~b~0) (* (+ (- 1) main_~k~0) main_~b~0)) main_~a~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:21:05,365 INFO L290 TraceCheckUtils]: 76: Hoare triple {14911#(and (= (+ main_~a~0 (* (- 1) main_~b~0) (* (+ (- 1) main_~k~0) main_~b~0)) main_~a~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (<= 1 main_~b~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14911#(and (= (+ main_~a~0 (* (- 1) main_~b~0) (* (+ (- 1) main_~k~0) main_~b~0)) main_~a~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:21:05,365 INFO L290 TraceCheckUtils]: 77: Hoare triple {14911#(and (= (+ main_~a~0 (* (- 1) main_~b~0) (* (+ (- 1) main_~k~0) main_~b~0)) main_~a~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (<= 1 main_~b~0))} assume !!(#t~post7 < 20);havoc #t~post7; {14911#(and (= (+ main_~a~0 (* (- 1) main_~b~0) (* (+ (- 1) main_~k~0) main_~b~0)) main_~a~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:21:05,366 INFO L272 TraceCheckUtils]: 78: Hoare triple {14911#(and (= (+ main_~a~0 (* (- 1) main_~b~0) (* (+ (- 1) main_~k~0) main_~b~0)) main_~a~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14921#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:21:05,366 INFO L290 TraceCheckUtils]: 79: Hoare triple {14921#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14925#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:05,366 INFO L290 TraceCheckUtils]: 80: Hoare triple {14925#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14673#false} is VALID [2022-04-28 12:21:05,366 INFO L290 TraceCheckUtils]: 81: Hoare triple {14673#false} assume !false; {14673#false} is VALID [2022-04-28 12:21:05,366 INFO L134 CoverageAnalysis]: Checked inductivity of 165 backedges. 30 proven. 29 refuted. 0 times theorem prover too weak. 106 trivial. 0 not checked. [2022-04-28 12:21:05,367 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:21:12,692 INFO L290 TraceCheckUtils]: 81: Hoare triple {14673#false} assume !false; {14673#false} is VALID [2022-04-28 12:21:12,692 INFO L290 TraceCheckUtils]: 80: Hoare triple {14925#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14673#false} is VALID [2022-04-28 12:21:12,693 INFO L290 TraceCheckUtils]: 79: Hoare triple {14921#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14925#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:12,693 INFO L272 TraceCheckUtils]: 78: Hoare triple {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14921#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:21:12,693 INFO L290 TraceCheckUtils]: 77: Hoare triple {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(#t~post7 < 20);havoc #t~post7; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:21:12,694 INFO L290 TraceCheckUtils]: 76: Hoare triple {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:21:12,695 INFO L290 TraceCheckUtils]: 75: Hoare triple {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:21:12,696 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {14672#true} {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #92#return; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:21:12,696 INFO L290 TraceCheckUtils]: 73: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:12,696 INFO L290 TraceCheckUtils]: 72: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:12,696 INFO L290 TraceCheckUtils]: 71: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:12,696 INFO L272 TraceCheckUtils]: 70: Hoare triple {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:12,697 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14672#true} {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #90#return; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:21:12,697 INFO L290 TraceCheckUtils]: 68: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:12,697 INFO L290 TraceCheckUtils]: 67: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:12,697 INFO L290 TraceCheckUtils]: 66: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:12,697 INFO L272 TraceCheckUtils]: 65: Hoare triple {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:12,697 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14672#true} {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #88#return; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:21:12,698 INFO L290 TraceCheckUtils]: 63: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:12,698 INFO L290 TraceCheckUtils]: 62: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:12,698 INFO L290 TraceCheckUtils]: 61: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:12,698 INFO L272 TraceCheckUtils]: 60: Hoare triple {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:12,698 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} {14672#true} #86#return; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:21:12,698 INFO L290 TraceCheckUtils]: 58: Hoare triple {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:12,699 INFO L290 TraceCheckUtils]: 57: Hoare triple {15008#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:12,699 INFO L290 TraceCheckUtils]: 56: Hoare triple {14672#true} ~cond := #in~cond; {15008#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:21:12,699 INFO L272 TraceCheckUtils]: 55: Hoare triple {14672#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:12,699 INFO L290 TraceCheckUtils]: 54: Hoare triple {14672#true} assume !!(#t~post7 < 20);havoc #t~post7; {14672#true} is VALID [2022-04-28 12:21:12,699 INFO L290 TraceCheckUtils]: 53: Hoare triple {14672#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14672#true} is VALID [2022-04-28 12:21:12,699 INFO L290 TraceCheckUtils]: 52: Hoare triple {14672#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14672#true} is VALID [2022-04-28 12:21:12,699 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14672#true} {14672#true} #92#return; {14672#true} is VALID [2022-04-28 12:21:12,699 INFO L290 TraceCheckUtils]: 50: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:12,699 INFO L290 TraceCheckUtils]: 49: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:12,699 INFO L290 TraceCheckUtils]: 48: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:12,699 INFO L272 TraceCheckUtils]: 47: Hoare triple {14672#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:12,699 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {14672#true} {14672#true} #90#return; {14672#true} is VALID [2022-04-28 12:21:12,700 INFO L290 TraceCheckUtils]: 45: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:12,700 INFO L290 TraceCheckUtils]: 44: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:12,700 INFO L290 TraceCheckUtils]: 43: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:12,700 INFO L272 TraceCheckUtils]: 42: Hoare triple {14672#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:12,700 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14672#true} {14672#true} #88#return; {14672#true} is VALID [2022-04-28 12:21:12,700 INFO L290 TraceCheckUtils]: 40: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:12,700 INFO L290 TraceCheckUtils]: 39: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:12,700 INFO L290 TraceCheckUtils]: 38: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:12,700 INFO L272 TraceCheckUtils]: 37: Hoare triple {14672#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:12,700 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14672#true} {14672#true} #86#return; {14672#true} is VALID [2022-04-28 12:21:12,700 INFO L290 TraceCheckUtils]: 35: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:12,700 INFO L290 TraceCheckUtils]: 34: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:12,700 INFO L290 TraceCheckUtils]: 33: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:12,700 INFO L272 TraceCheckUtils]: 32: Hoare triple {14672#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:12,700 INFO L290 TraceCheckUtils]: 31: Hoare triple {14672#true} assume !!(#t~post7 < 20);havoc #t~post7; {14672#true} is VALID [2022-04-28 12:21:12,700 INFO L290 TraceCheckUtils]: 30: Hoare triple {14672#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14672#true} is VALID [2022-04-28 12:21:12,700 INFO L290 TraceCheckUtils]: 29: Hoare triple {14672#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14672#true} is VALID [2022-04-28 12:21:12,700 INFO L290 TraceCheckUtils]: 28: Hoare triple {14672#true} assume !!(#t~post6 < 20);havoc #t~post6; {14672#true} is VALID [2022-04-28 12:21:12,700 INFO L290 TraceCheckUtils]: 27: Hoare triple {14672#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14672#true} {14672#true} #84#return; {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L290 TraceCheckUtils]: 25: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L290 TraceCheckUtils]: 24: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L290 TraceCheckUtils]: 23: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L272 TraceCheckUtils]: 22: Hoare triple {14672#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14672#true} {14672#true} #82#return; {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L290 TraceCheckUtils]: 20: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L290 TraceCheckUtils]: 19: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L290 TraceCheckUtils]: 18: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L272 TraceCheckUtils]: 17: Hoare triple {14672#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L290 TraceCheckUtils]: 16: Hoare triple {14672#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14672#true} {14672#true} #80#return; {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L290 TraceCheckUtils]: 14: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L290 TraceCheckUtils]: 13: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L290 TraceCheckUtils]: 12: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L272 TraceCheckUtils]: 11: Hoare triple {14672#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14672#true} {14672#true} #78#return; {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L290 TraceCheckUtils]: 9: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L290 TraceCheckUtils]: 8: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:21:12,701 INFO L290 TraceCheckUtils]: 7: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:21:12,702 INFO L272 TraceCheckUtils]: 6: Hoare triple {14672#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:21:12,702 INFO L290 TraceCheckUtils]: 5: Hoare triple {14672#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14672#true} is VALID [2022-04-28 12:21:12,702 INFO L272 TraceCheckUtils]: 4: Hoare triple {14672#true} call #t~ret8 := main(); {14672#true} is VALID [2022-04-28 12:21:12,702 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14672#true} {14672#true} #98#return; {14672#true} is VALID [2022-04-28 12:21:12,702 INFO L290 TraceCheckUtils]: 2: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:21:12,702 INFO L290 TraceCheckUtils]: 1: Hoare triple {14672#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {14672#true} is VALID [2022-04-28 12:21:12,702 INFO L272 TraceCheckUtils]: 0: Hoare triple {14672#true} call ULTIMATE.init(); {14672#true} is VALID [2022-04-28 12:21:12,702 INFO L134 CoverageAnalysis]: Checked inductivity of 165 backedges. 37 proven. 10 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-28 12:21:12,702 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:21:12,702 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1014815759] [2022-04-28 12:21:12,702 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:21:12,702 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1874623130] [2022-04-28 12:21:12,702 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1874623130] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:21:12,702 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:21:12,702 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 7] total 16 [2022-04-28 12:21:12,703 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:21:12,703 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1412527631] [2022-04-28 12:21:12,703 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1412527631] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:21:12,703 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:21:12,703 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 12:21:12,703 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [374326186] [2022-04-28 12:21:12,703 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:21:12,703 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 82 [2022-04-28 12:21:12,703 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:21:12,703 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:21:12,755 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:12,755 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 12:21:12,756 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:21:12,761 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 12:21:12,761 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=199, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:21:12,761 INFO L87 Difference]: Start difference. First operand 198 states and 260 transitions. Second operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:21:15,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:15,339 INFO L93 Difference]: Finished difference Result 212 states and 278 transitions. [2022-04-28 12:21:15,339 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 12:21:15,339 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 82 [2022-04-28 12:21:15,339 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:21:15,339 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:21:15,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 106 transitions. [2022-04-28 12:21:15,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:21:15,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 106 transitions. [2022-04-28 12:21:15,341 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 106 transitions. [2022-04-28 12:21:15,444 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:15,447 INFO L225 Difference]: With dead ends: 212 [2022-04-28 12:21:15,447 INFO L226 Difference]: Without dead ends: 210 [2022-04-28 12:21:15,447 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 147 SyntacticMatches, 2 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 74 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=84, Invalid=422, Unknown=0, NotChecked=0, Total=506 [2022-04-28 12:21:15,448 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 55 mSDsluCounter, 183 mSDsCounter, 0 mSdLazyCounter, 457 mSolverCounterSat, 51 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 223 SdHoareTripleChecker+Invalid, 508 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 51 IncrementalHoareTripleChecker+Valid, 457 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:21:15,448 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [60 Valid, 223 Invalid, 508 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [51 Valid, 457 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 12:21:15,448 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states. [2022-04-28 12:21:15,730 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 203. [2022-04-28 12:21:15,730 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:21:15,731 INFO L82 GeneralOperation]: Start isEquivalent. First operand 210 states. Second operand has 203 states, 126 states have (on average 1.2301587301587302) internal successors, (155), 131 states have internal predecessors, (155), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:21:15,731 INFO L74 IsIncluded]: Start isIncluded. First operand 210 states. Second operand has 203 states, 126 states have (on average 1.2301587301587302) internal successors, (155), 131 states have internal predecessors, (155), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:21:15,731 INFO L87 Difference]: Start difference. First operand 210 states. Second operand has 203 states, 126 states have (on average 1.2301587301587302) internal successors, (155), 131 states have internal predecessors, (155), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:21:15,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:15,735 INFO L93 Difference]: Finished difference Result 210 states and 276 transitions. [2022-04-28 12:21:15,735 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 276 transitions. [2022-04-28 12:21:15,736 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:15,736 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:15,736 INFO L74 IsIncluded]: Start isIncluded. First operand has 203 states, 126 states have (on average 1.2301587301587302) internal successors, (155), 131 states have internal predecessors, (155), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 210 states. [2022-04-28 12:21:15,736 INFO L87 Difference]: Start difference. First operand has 203 states, 126 states have (on average 1.2301587301587302) internal successors, (155), 131 states have internal predecessors, (155), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 210 states. [2022-04-28 12:21:15,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:15,740 INFO L93 Difference]: Finished difference Result 210 states and 276 transitions. [2022-04-28 12:21:15,740 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 276 transitions. [2022-04-28 12:21:15,740 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:15,740 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:15,740 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:21:15,740 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:21:15,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 203 states, 126 states have (on average 1.2301587301587302) internal successors, (155), 131 states have internal predecessors, (155), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:21:15,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 203 states to 203 states and 265 transitions. [2022-04-28 12:21:15,744 INFO L78 Accepts]: Start accepts. Automaton has 203 states and 265 transitions. Word has length 82 [2022-04-28 12:21:15,744 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:21:15,744 INFO L495 AbstractCegarLoop]: Abstraction has 203 states and 265 transitions. [2022-04-28 12:21:15,744 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:21:15,744 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 203 states and 265 transitions. [2022-04-28 12:21:16,049 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 265 edges. 265 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:16,049 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 265 transitions. [2022-04-28 12:21:16,049 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 84 [2022-04-28 12:21:16,049 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:21:16,050 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:21:16,070 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 12:21:16,250 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 12:21:16,250 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:21:16,250 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:21:16,250 INFO L85 PathProgramCache]: Analyzing trace with hash 1768368813, now seen corresponding path program 1 times [2022-04-28 12:21:16,251 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:21:16,251 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [403050116] [2022-04-28 12:21:16,251 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:21:16,251 INFO L85 PathProgramCache]: Analyzing trace with hash 1768368813, now seen corresponding path program 2 times [2022-04-28 12:21:16,251 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:21:16,251 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [173560858] [2022-04-28 12:21:16,251 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:21:16,251 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:21:16,260 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:21:16,260 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1623170171] [2022-04-28 12:21:16,260 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:21:16,260 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:21:16,260 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:21:16,266 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 12:21:16,267 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 12:21:16,311 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:21:16,311 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:21:16,312 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:21:16,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:21:16,322 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:21:16,583 INFO L272 TraceCheckUtils]: 0: Hoare triple {16443#true} call ULTIMATE.init(); {16443#true} is VALID [2022-04-28 12:21:16,583 INFO L290 TraceCheckUtils]: 1: Hoare triple {16443#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,584 INFO L290 TraceCheckUtils]: 2: Hoare triple {16451#(<= ~counter~0 0)} assume true; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,584 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16451#(<= ~counter~0 0)} {16443#true} #98#return; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,584 INFO L272 TraceCheckUtils]: 4: Hoare triple {16451#(<= ~counter~0 0)} call #t~ret8 := main(); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,584 INFO L290 TraceCheckUtils]: 5: Hoare triple {16451#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,585 INFO L272 TraceCheckUtils]: 6: Hoare triple {16451#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,585 INFO L290 TraceCheckUtils]: 7: Hoare triple {16451#(<= ~counter~0 0)} ~cond := #in~cond; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,585 INFO L290 TraceCheckUtils]: 8: Hoare triple {16451#(<= ~counter~0 0)} assume !(0 == ~cond); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,585 INFO L290 TraceCheckUtils]: 9: Hoare triple {16451#(<= ~counter~0 0)} assume true; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,586 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16451#(<= ~counter~0 0)} {16451#(<= ~counter~0 0)} #78#return; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,586 INFO L272 TraceCheckUtils]: 11: Hoare triple {16451#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,586 INFO L290 TraceCheckUtils]: 12: Hoare triple {16451#(<= ~counter~0 0)} ~cond := #in~cond; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,587 INFO L290 TraceCheckUtils]: 13: Hoare triple {16451#(<= ~counter~0 0)} assume !(0 == ~cond); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,587 INFO L290 TraceCheckUtils]: 14: Hoare triple {16451#(<= ~counter~0 0)} assume true; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,587 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16451#(<= ~counter~0 0)} {16451#(<= ~counter~0 0)} #80#return; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,587 INFO L290 TraceCheckUtils]: 16: Hoare triple {16451#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,588 INFO L272 TraceCheckUtils]: 17: Hoare triple {16451#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,588 INFO L290 TraceCheckUtils]: 18: Hoare triple {16451#(<= ~counter~0 0)} ~cond := #in~cond; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,588 INFO L290 TraceCheckUtils]: 19: Hoare triple {16451#(<= ~counter~0 0)} assume !(0 == ~cond); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,589 INFO L290 TraceCheckUtils]: 20: Hoare triple {16451#(<= ~counter~0 0)} assume true; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,589 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16451#(<= ~counter~0 0)} {16451#(<= ~counter~0 0)} #82#return; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,589 INFO L272 TraceCheckUtils]: 22: Hoare triple {16451#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,590 INFO L290 TraceCheckUtils]: 23: Hoare triple {16451#(<= ~counter~0 0)} ~cond := #in~cond; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,590 INFO L290 TraceCheckUtils]: 24: Hoare triple {16451#(<= ~counter~0 0)} assume !(0 == ~cond); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,590 INFO L290 TraceCheckUtils]: 25: Hoare triple {16451#(<= ~counter~0 0)} assume true; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,591 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16451#(<= ~counter~0 0)} {16451#(<= ~counter~0 0)} #84#return; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:16,591 INFO L290 TraceCheckUtils]: 27: Hoare triple {16451#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16530#(<= ~counter~0 1)} is VALID [2022-04-28 12:21:16,592 INFO L290 TraceCheckUtils]: 28: Hoare triple {16530#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {16530#(<= ~counter~0 1)} is VALID [2022-04-28 12:21:16,592 INFO L290 TraceCheckUtils]: 29: Hoare triple {16530#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16530#(<= ~counter~0 1)} is VALID [2022-04-28 12:21:16,592 INFO L290 TraceCheckUtils]: 30: Hoare triple {16530#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,593 INFO L290 TraceCheckUtils]: 31: Hoare triple {16540#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,593 INFO L272 TraceCheckUtils]: 32: Hoare triple {16540#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,593 INFO L290 TraceCheckUtils]: 33: Hoare triple {16540#(<= ~counter~0 2)} ~cond := #in~cond; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,593 INFO L290 TraceCheckUtils]: 34: Hoare triple {16540#(<= ~counter~0 2)} assume !(0 == ~cond); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,594 INFO L290 TraceCheckUtils]: 35: Hoare triple {16540#(<= ~counter~0 2)} assume true; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,594 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16540#(<= ~counter~0 2)} {16540#(<= ~counter~0 2)} #86#return; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,595 INFO L272 TraceCheckUtils]: 37: Hoare triple {16540#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,595 INFO L290 TraceCheckUtils]: 38: Hoare triple {16540#(<= ~counter~0 2)} ~cond := #in~cond; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,595 INFO L290 TraceCheckUtils]: 39: Hoare triple {16540#(<= ~counter~0 2)} assume !(0 == ~cond); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,595 INFO L290 TraceCheckUtils]: 40: Hoare triple {16540#(<= ~counter~0 2)} assume true; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,596 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16540#(<= ~counter~0 2)} {16540#(<= ~counter~0 2)} #88#return; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,596 INFO L272 TraceCheckUtils]: 42: Hoare triple {16540#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,596 INFO L290 TraceCheckUtils]: 43: Hoare triple {16540#(<= ~counter~0 2)} ~cond := #in~cond; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,597 INFO L290 TraceCheckUtils]: 44: Hoare triple {16540#(<= ~counter~0 2)} assume !(0 == ~cond); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,597 INFO L290 TraceCheckUtils]: 45: Hoare triple {16540#(<= ~counter~0 2)} assume true; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,597 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16540#(<= ~counter~0 2)} {16540#(<= ~counter~0 2)} #90#return; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,598 INFO L272 TraceCheckUtils]: 47: Hoare triple {16540#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,598 INFO L290 TraceCheckUtils]: 48: Hoare triple {16540#(<= ~counter~0 2)} ~cond := #in~cond; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,598 INFO L290 TraceCheckUtils]: 49: Hoare triple {16540#(<= ~counter~0 2)} assume !(0 == ~cond); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,599 INFO L290 TraceCheckUtils]: 50: Hoare triple {16540#(<= ~counter~0 2)} assume true; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,599 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {16540#(<= ~counter~0 2)} {16540#(<= ~counter~0 2)} #92#return; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,599 INFO L290 TraceCheckUtils]: 52: Hoare triple {16540#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:16,600 INFO L290 TraceCheckUtils]: 53: Hoare triple {16540#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,600 INFO L290 TraceCheckUtils]: 54: Hoare triple {16610#(<= ~counter~0 3)} assume !!(#t~post7 < 20);havoc #t~post7; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,600 INFO L272 TraceCheckUtils]: 55: Hoare triple {16610#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,601 INFO L290 TraceCheckUtils]: 56: Hoare triple {16610#(<= ~counter~0 3)} ~cond := #in~cond; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,601 INFO L290 TraceCheckUtils]: 57: Hoare triple {16610#(<= ~counter~0 3)} assume !(0 == ~cond); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,601 INFO L290 TraceCheckUtils]: 58: Hoare triple {16610#(<= ~counter~0 3)} assume true; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,602 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16610#(<= ~counter~0 3)} {16610#(<= ~counter~0 3)} #86#return; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,602 INFO L272 TraceCheckUtils]: 60: Hoare triple {16610#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,602 INFO L290 TraceCheckUtils]: 61: Hoare triple {16610#(<= ~counter~0 3)} ~cond := #in~cond; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,602 INFO L290 TraceCheckUtils]: 62: Hoare triple {16610#(<= ~counter~0 3)} assume !(0 == ~cond); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,603 INFO L290 TraceCheckUtils]: 63: Hoare triple {16610#(<= ~counter~0 3)} assume true; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,603 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {16610#(<= ~counter~0 3)} {16610#(<= ~counter~0 3)} #88#return; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,604 INFO L272 TraceCheckUtils]: 65: Hoare triple {16610#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,604 INFO L290 TraceCheckUtils]: 66: Hoare triple {16610#(<= ~counter~0 3)} ~cond := #in~cond; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,604 INFO L290 TraceCheckUtils]: 67: Hoare triple {16610#(<= ~counter~0 3)} assume !(0 == ~cond); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,604 INFO L290 TraceCheckUtils]: 68: Hoare triple {16610#(<= ~counter~0 3)} assume true; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,605 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {16610#(<= ~counter~0 3)} {16610#(<= ~counter~0 3)} #90#return; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,605 INFO L272 TraceCheckUtils]: 70: Hoare triple {16610#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,606 INFO L290 TraceCheckUtils]: 71: Hoare triple {16610#(<= ~counter~0 3)} ~cond := #in~cond; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,606 INFO L290 TraceCheckUtils]: 72: Hoare triple {16610#(<= ~counter~0 3)} assume !(0 == ~cond); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,606 INFO L290 TraceCheckUtils]: 73: Hoare triple {16610#(<= ~counter~0 3)} assume true; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,607 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {16610#(<= ~counter~0 3)} {16610#(<= ~counter~0 3)} #92#return; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,607 INFO L290 TraceCheckUtils]: 75: Hoare triple {16610#(<= ~counter~0 3)} assume !(~c~0 >= ~b~0); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,607 INFO L290 TraceCheckUtils]: 76: Hoare triple {16610#(<= ~counter~0 3)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:16,607 INFO L290 TraceCheckUtils]: 77: Hoare triple {16610#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16683#(<= |main_#t~post6| 3)} is VALID [2022-04-28 12:21:16,608 INFO L290 TraceCheckUtils]: 78: Hoare triple {16683#(<= |main_#t~post6| 3)} assume !(#t~post6 < 20);havoc #t~post6; {16444#false} is VALID [2022-04-28 12:21:16,608 INFO L272 TraceCheckUtils]: 79: Hoare triple {16444#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {16444#false} is VALID [2022-04-28 12:21:16,608 INFO L290 TraceCheckUtils]: 80: Hoare triple {16444#false} ~cond := #in~cond; {16444#false} is VALID [2022-04-28 12:21:16,608 INFO L290 TraceCheckUtils]: 81: Hoare triple {16444#false} assume 0 == ~cond; {16444#false} is VALID [2022-04-28 12:21:16,608 INFO L290 TraceCheckUtils]: 82: Hoare triple {16444#false} assume !false; {16444#false} is VALID [2022-04-28 12:21:16,613 INFO L134 CoverageAnalysis]: Checked inductivity of 161 backedges. 16 proven. 73 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2022-04-28 12:21:16,613 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:21:16,885 INFO L290 TraceCheckUtils]: 82: Hoare triple {16444#false} assume !false; {16444#false} is VALID [2022-04-28 12:21:16,885 INFO L290 TraceCheckUtils]: 81: Hoare triple {16444#false} assume 0 == ~cond; {16444#false} is VALID [2022-04-28 12:21:16,886 INFO L290 TraceCheckUtils]: 80: Hoare triple {16444#false} ~cond := #in~cond; {16444#false} is VALID [2022-04-28 12:21:16,886 INFO L272 TraceCheckUtils]: 79: Hoare triple {16444#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {16444#false} is VALID [2022-04-28 12:21:16,886 INFO L290 TraceCheckUtils]: 78: Hoare triple {16711#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {16444#false} is VALID [2022-04-28 12:21:16,886 INFO L290 TraceCheckUtils]: 77: Hoare triple {16715#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16711#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:21:16,886 INFO L290 TraceCheckUtils]: 76: Hoare triple {16715#(< ~counter~0 20)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {16715#(< ~counter~0 20)} is VALID [2022-04-28 12:21:16,887 INFO L290 TraceCheckUtils]: 75: Hoare triple {16715#(< ~counter~0 20)} assume !(~c~0 >= ~b~0); {16715#(< ~counter~0 20)} is VALID [2022-04-28 12:21:16,887 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {16443#true} {16715#(< ~counter~0 20)} #92#return; {16715#(< ~counter~0 20)} is VALID [2022-04-28 12:21:16,887 INFO L290 TraceCheckUtils]: 73: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:21:16,887 INFO L290 TraceCheckUtils]: 72: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:21:16,887 INFO L290 TraceCheckUtils]: 71: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:21:16,887 INFO L272 TraceCheckUtils]: 70: Hoare triple {16715#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:21:16,888 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {16443#true} {16715#(< ~counter~0 20)} #90#return; {16715#(< ~counter~0 20)} is VALID [2022-04-28 12:21:16,888 INFO L290 TraceCheckUtils]: 68: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:21:16,888 INFO L290 TraceCheckUtils]: 67: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:21:16,888 INFO L290 TraceCheckUtils]: 66: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:21:16,888 INFO L272 TraceCheckUtils]: 65: Hoare triple {16715#(< ~counter~0 20)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:21:16,888 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {16443#true} {16715#(< ~counter~0 20)} #88#return; {16715#(< ~counter~0 20)} is VALID [2022-04-28 12:21:16,889 INFO L290 TraceCheckUtils]: 63: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:21:16,889 INFO L290 TraceCheckUtils]: 62: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:21:16,889 INFO L290 TraceCheckUtils]: 61: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:21:16,889 INFO L272 TraceCheckUtils]: 60: Hoare triple {16715#(< ~counter~0 20)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:21:16,889 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16443#true} {16715#(< ~counter~0 20)} #86#return; {16715#(< ~counter~0 20)} is VALID [2022-04-28 12:21:16,889 INFO L290 TraceCheckUtils]: 58: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:21:16,889 INFO L290 TraceCheckUtils]: 57: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:21:16,889 INFO L290 TraceCheckUtils]: 56: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:21:16,889 INFO L272 TraceCheckUtils]: 55: Hoare triple {16715#(< ~counter~0 20)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:21:16,890 INFO L290 TraceCheckUtils]: 54: Hoare triple {16715#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {16715#(< ~counter~0 20)} is VALID [2022-04-28 12:21:16,890 INFO L290 TraceCheckUtils]: 53: Hoare triple {16788#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16715#(< ~counter~0 20)} is VALID [2022-04-28 12:21:16,890 INFO L290 TraceCheckUtils]: 52: Hoare triple {16788#(< ~counter~0 19)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {16788#(< ~counter~0 19)} is VALID [2022-04-28 12:21:16,891 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {16443#true} {16788#(< ~counter~0 19)} #92#return; {16788#(< ~counter~0 19)} is VALID [2022-04-28 12:21:16,891 INFO L290 TraceCheckUtils]: 50: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:21:16,891 INFO L290 TraceCheckUtils]: 49: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:21:16,891 INFO L290 TraceCheckUtils]: 48: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:21:16,891 INFO L272 TraceCheckUtils]: 47: Hoare triple {16788#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:21:16,892 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16443#true} {16788#(< ~counter~0 19)} #90#return; {16788#(< ~counter~0 19)} is VALID [2022-04-28 12:21:16,892 INFO L290 TraceCheckUtils]: 45: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:21:16,892 INFO L290 TraceCheckUtils]: 44: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:21:16,892 INFO L290 TraceCheckUtils]: 43: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:21:16,892 INFO L272 TraceCheckUtils]: 42: Hoare triple {16788#(< ~counter~0 19)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:21:16,892 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16443#true} {16788#(< ~counter~0 19)} #88#return; {16788#(< ~counter~0 19)} is VALID [2022-04-28 12:21:16,892 INFO L290 TraceCheckUtils]: 40: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:21:16,892 INFO L290 TraceCheckUtils]: 39: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:21:16,893 INFO L290 TraceCheckUtils]: 38: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:21:16,893 INFO L272 TraceCheckUtils]: 37: Hoare triple {16788#(< ~counter~0 19)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:21:16,893 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16443#true} {16788#(< ~counter~0 19)} #86#return; {16788#(< ~counter~0 19)} is VALID [2022-04-28 12:21:16,893 INFO L290 TraceCheckUtils]: 35: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:21:16,893 INFO L290 TraceCheckUtils]: 34: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:21:16,893 INFO L290 TraceCheckUtils]: 33: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:21:16,893 INFO L272 TraceCheckUtils]: 32: Hoare triple {16788#(< ~counter~0 19)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:21:16,893 INFO L290 TraceCheckUtils]: 31: Hoare triple {16788#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {16788#(< ~counter~0 19)} is VALID [2022-04-28 12:21:16,894 INFO L290 TraceCheckUtils]: 30: Hoare triple {16858#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16788#(< ~counter~0 19)} is VALID [2022-04-28 12:21:16,894 INFO L290 TraceCheckUtils]: 29: Hoare triple {16858#(< ~counter~0 18)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16858#(< ~counter~0 18)} is VALID [2022-04-28 12:21:16,894 INFO L290 TraceCheckUtils]: 28: Hoare triple {16858#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {16858#(< ~counter~0 18)} is VALID [2022-04-28 12:21:16,895 INFO L290 TraceCheckUtils]: 27: Hoare triple {16868#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16858#(< ~counter~0 18)} is VALID [2022-04-28 12:21:16,895 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16443#true} {16868#(< ~counter~0 17)} #84#return; {16868#(< ~counter~0 17)} is VALID [2022-04-28 12:21:16,895 INFO L290 TraceCheckUtils]: 25: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:21:16,895 INFO L290 TraceCheckUtils]: 24: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:21:16,895 INFO L290 TraceCheckUtils]: 23: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:21:16,895 INFO L272 TraceCheckUtils]: 22: Hoare triple {16868#(< ~counter~0 17)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:21:16,896 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16443#true} {16868#(< ~counter~0 17)} #82#return; {16868#(< ~counter~0 17)} is VALID [2022-04-28 12:21:16,896 INFO L290 TraceCheckUtils]: 20: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:21:16,896 INFO L290 TraceCheckUtils]: 19: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:21:16,896 INFO L290 TraceCheckUtils]: 18: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:21:16,896 INFO L272 TraceCheckUtils]: 17: Hoare triple {16868#(< ~counter~0 17)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:21:16,896 INFO L290 TraceCheckUtils]: 16: Hoare triple {16868#(< ~counter~0 17)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {16868#(< ~counter~0 17)} is VALID [2022-04-28 12:21:16,896 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16443#true} {16868#(< ~counter~0 17)} #80#return; {16868#(< ~counter~0 17)} is VALID [2022-04-28 12:21:16,897 INFO L290 TraceCheckUtils]: 14: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:21:16,897 INFO L290 TraceCheckUtils]: 13: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:21:16,897 INFO L290 TraceCheckUtils]: 12: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:21:16,897 INFO L272 TraceCheckUtils]: 11: Hoare triple {16868#(< ~counter~0 17)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:21:16,897 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16443#true} {16868#(< ~counter~0 17)} #78#return; {16868#(< ~counter~0 17)} is VALID [2022-04-28 12:21:16,897 INFO L290 TraceCheckUtils]: 9: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:21:16,897 INFO L290 TraceCheckUtils]: 8: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:21:16,897 INFO L290 TraceCheckUtils]: 7: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:21:16,897 INFO L272 TraceCheckUtils]: 6: Hoare triple {16868#(< ~counter~0 17)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:21:16,897 INFO L290 TraceCheckUtils]: 5: Hoare triple {16868#(< ~counter~0 17)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16868#(< ~counter~0 17)} is VALID [2022-04-28 12:21:16,898 INFO L272 TraceCheckUtils]: 4: Hoare triple {16868#(< ~counter~0 17)} call #t~ret8 := main(); {16868#(< ~counter~0 17)} is VALID [2022-04-28 12:21:16,898 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16868#(< ~counter~0 17)} {16443#true} #98#return; {16868#(< ~counter~0 17)} is VALID [2022-04-28 12:21:16,898 INFO L290 TraceCheckUtils]: 2: Hoare triple {16868#(< ~counter~0 17)} assume true; {16868#(< ~counter~0 17)} is VALID [2022-04-28 12:21:16,899 INFO L290 TraceCheckUtils]: 1: Hoare triple {16443#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16868#(< ~counter~0 17)} is VALID [2022-04-28 12:21:16,899 INFO L272 TraceCheckUtils]: 0: Hoare triple {16443#true} call ULTIMATE.init(); {16443#true} is VALID [2022-04-28 12:21:16,899 INFO L134 CoverageAnalysis]: Checked inductivity of 161 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 12:21:16,899 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:21:16,899 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [173560858] [2022-04-28 12:21:16,899 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:21:16,899 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1623170171] [2022-04-28 12:21:16,899 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1623170171] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:21:16,899 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:21:16,899 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 12:21:16,899 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:21:16,900 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [403050116] [2022-04-28 12:21:16,900 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [403050116] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:21:16,900 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:21:16,900 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:21:16,900 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [669074184] [2022-04-28 12:21:16,900 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:21:16,900 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) Word has length 83 [2022-04-28 12:21:16,900 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:21:16,900 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:21:16,937 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 12:21:16,937 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:21:16,937 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:21:16,937 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:21:16,937 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:21:16,937 INFO L87 Difference]: Start difference. First operand 203 states and 265 transitions. Second operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:21:17,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:17,480 INFO L93 Difference]: Finished difference Result 214 states and 277 transitions. [2022-04-28 12:21:17,481 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:21:17,481 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) Word has length 83 [2022-04-28 12:21:17,481 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:21:17,481 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:21:17,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 95 transitions. [2022-04-28 12:21:17,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:21:17,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 95 transitions. [2022-04-28 12:21:17,483 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 95 transitions. [2022-04-28 12:21:17,555 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:17,558 INFO L225 Difference]: With dead ends: 214 [2022-04-28 12:21:17,559 INFO L226 Difference]: Without dead ends: 206 [2022-04-28 12:21:17,559 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 167 GetRequests, 155 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:21:17,559 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 18 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 67 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:21:17,559 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 160 Invalid, 67 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:21:17,560 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states. [2022-04-28 12:21:17,853 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 206. [2022-04-28 12:21:17,854 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:21:17,854 INFO L82 GeneralOperation]: Start isEquivalent. First operand 206 states. Second operand has 206 states, 129 states have (on average 1.2248062015503876) internal successors, (158), 134 states have internal predecessors, (158), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:21:17,854 INFO L74 IsIncluded]: Start isIncluded. First operand 206 states. Second operand has 206 states, 129 states have (on average 1.2248062015503876) internal successors, (158), 134 states have internal predecessors, (158), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:21:17,854 INFO L87 Difference]: Start difference. First operand 206 states. Second operand has 206 states, 129 states have (on average 1.2248062015503876) internal successors, (158), 134 states have internal predecessors, (158), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:21:17,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:17,861 INFO L93 Difference]: Finished difference Result 206 states and 268 transitions. [2022-04-28 12:21:17,862 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 268 transitions. [2022-04-28 12:21:17,862 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:17,862 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:17,862 INFO L74 IsIncluded]: Start isIncluded. First operand has 206 states, 129 states have (on average 1.2248062015503876) internal successors, (158), 134 states have internal predecessors, (158), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 206 states. [2022-04-28 12:21:17,863 INFO L87 Difference]: Start difference. First operand has 206 states, 129 states have (on average 1.2248062015503876) internal successors, (158), 134 states have internal predecessors, (158), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 206 states. [2022-04-28 12:21:17,865 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:17,866 INFO L93 Difference]: Finished difference Result 206 states and 268 transitions. [2022-04-28 12:21:17,866 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 268 transitions. [2022-04-28 12:21:17,866 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:17,866 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:17,866 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:21:17,866 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:21:17,866 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 206 states, 129 states have (on average 1.2248062015503876) internal successors, (158), 134 states have internal predecessors, (158), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:21:17,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 206 states to 206 states and 268 transitions. [2022-04-28 12:21:17,870 INFO L78 Accepts]: Start accepts. Automaton has 206 states and 268 transitions. Word has length 83 [2022-04-28 12:21:17,870 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:21:17,870 INFO L495 AbstractCegarLoop]: Abstraction has 206 states and 268 transitions. [2022-04-28 12:21:17,870 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:21:17,870 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 206 states and 268 transitions. [2022-04-28 12:21:18,198 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 268 edges. 268 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:18,198 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 268 transitions. [2022-04-28 12:21:18,198 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-04-28 12:21:18,198 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:21:18,199 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:21:18,217 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 12:21:18,399 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 12:21:18,399 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:21:18,400 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:21:18,400 INFO L85 PathProgramCache]: Analyzing trace with hash -1017110725, now seen corresponding path program 1 times [2022-04-28 12:21:18,400 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:21:18,400 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2049127760] [2022-04-28 12:21:18,400 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:21:18,400 INFO L85 PathProgramCache]: Analyzing trace with hash -1017110725, now seen corresponding path program 2 times [2022-04-28 12:21:18,400 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:21:18,400 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1081874554] [2022-04-28 12:21:18,400 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:21:18,400 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:21:18,410 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:21:18,410 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2049519758] [2022-04-28 12:21:18,410 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:21:18,410 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:21:18,410 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:21:18,412 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 12:21:18,412 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 12:21:18,458 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:21:18,458 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:21:18,459 INFO L263 TraceCheckSpWp]: Trace formula consists of 239 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 12:21:18,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:21:18,471 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:21:18,988 INFO L272 TraceCheckUtils]: 0: Hoare triple {18208#true} call ULTIMATE.init(); {18208#true} is VALID [2022-04-28 12:21:18,988 INFO L290 TraceCheckUtils]: 1: Hoare triple {18208#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18208#true} is VALID [2022-04-28 12:21:18,988 INFO L290 TraceCheckUtils]: 2: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:18,988 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18208#true} {18208#true} #98#return; {18208#true} is VALID [2022-04-28 12:21:18,988 INFO L272 TraceCheckUtils]: 4: Hoare triple {18208#true} call #t~ret8 := main(); {18208#true} is VALID [2022-04-28 12:21:18,988 INFO L290 TraceCheckUtils]: 5: Hoare triple {18208#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18208#true} is VALID [2022-04-28 12:21:18,988 INFO L272 TraceCheckUtils]: 6: Hoare triple {18208#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:18,988 INFO L290 TraceCheckUtils]: 7: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:18,988 INFO L290 TraceCheckUtils]: 8: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:18,988 INFO L290 TraceCheckUtils]: 9: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:18,988 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18208#true} {18208#true} #78#return; {18208#true} is VALID [2022-04-28 12:21:18,988 INFO L272 TraceCheckUtils]: 11: Hoare triple {18208#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:18,988 INFO L290 TraceCheckUtils]: 12: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:18,988 INFO L290 TraceCheckUtils]: 13: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:18,988 INFO L290 TraceCheckUtils]: 14: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:18,989 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18208#true} {18208#true} #80#return; {18208#true} is VALID [2022-04-28 12:21:18,989 INFO L290 TraceCheckUtils]: 16: Hoare triple {18208#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:18,989 INFO L272 TraceCheckUtils]: 17: Hoare triple {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:18,989 INFO L290 TraceCheckUtils]: 18: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:18,989 INFO L290 TraceCheckUtils]: 19: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:18,990 INFO L290 TraceCheckUtils]: 20: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:18,990 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18208#true} {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:18,990 INFO L272 TraceCheckUtils]: 22: Hoare triple {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:18,990 INFO L290 TraceCheckUtils]: 23: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:18,990 INFO L290 TraceCheckUtils]: 24: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:18,990 INFO L290 TraceCheckUtils]: 25: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:18,991 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18208#true} {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:18,991 INFO L290 TraceCheckUtils]: 27: Hoare triple {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:18,992 INFO L290 TraceCheckUtils]: 28: Hoare triple {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:18,992 INFO L290 TraceCheckUtils]: 29: Hoare triple {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:18,992 INFO L290 TraceCheckUtils]: 30: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:18,993 INFO L290 TraceCheckUtils]: 31: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:18,993 INFO L272 TraceCheckUtils]: 32: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:18,993 INFO L290 TraceCheckUtils]: 33: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:18,993 INFO L290 TraceCheckUtils]: 34: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:18,993 INFO L290 TraceCheckUtils]: 35: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:18,993 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18208#true} {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #86#return; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:18,993 INFO L272 TraceCheckUtils]: 37: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:18,994 INFO L290 TraceCheckUtils]: 38: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:18,994 INFO L290 TraceCheckUtils]: 39: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:18,994 INFO L290 TraceCheckUtils]: 40: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:18,994 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18208#true} {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #88#return; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:18,994 INFO L272 TraceCheckUtils]: 42: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:18,994 INFO L290 TraceCheckUtils]: 43: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:18,994 INFO L290 TraceCheckUtils]: 44: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:18,994 INFO L290 TraceCheckUtils]: 45: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:18,995 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {18208#true} {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #90#return; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:18,995 INFO L272 TraceCheckUtils]: 47: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:18,995 INFO L290 TraceCheckUtils]: 48: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:18,995 INFO L290 TraceCheckUtils]: 49: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:18,995 INFO L290 TraceCheckUtils]: 50: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:18,996 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {18208#true} {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #92#return; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:18,996 INFO L290 TraceCheckUtils]: 52: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:18,997 INFO L290 TraceCheckUtils]: 53: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:18,997 INFO L290 TraceCheckUtils]: 54: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:18,997 INFO L272 TraceCheckUtils]: 55: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:18,997 INFO L290 TraceCheckUtils]: 56: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:18,997 INFO L290 TraceCheckUtils]: 57: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:18,997 INFO L290 TraceCheckUtils]: 58: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:18,998 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18208#true} {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:18,998 INFO L272 TraceCheckUtils]: 60: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:18,998 INFO L290 TraceCheckUtils]: 61: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:18,998 INFO L290 TraceCheckUtils]: 62: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:18,998 INFO L290 TraceCheckUtils]: 63: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:18,998 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18208#true} {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #88#return; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:18,999 INFO L272 TraceCheckUtils]: 65: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:18,999 INFO L290 TraceCheckUtils]: 66: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:18,999 INFO L290 TraceCheckUtils]: 67: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:18,999 INFO L290 TraceCheckUtils]: 68: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:18,999 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {18208#true} {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #90#return; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:18,999 INFO L272 TraceCheckUtils]: 70: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:18,999 INFO L290 TraceCheckUtils]: 71: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:18,999 INFO L290 TraceCheckUtils]: 72: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:19,000 INFO L290 TraceCheckUtils]: 73: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:19,002 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {18208#true} {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #92#return; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:19,003 INFO L290 TraceCheckUtils]: 75: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:19,005 INFO L290 TraceCheckUtils]: 76: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {18444#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 12:21:19,006 INFO L290 TraceCheckUtils]: 77: Hoare triple {18444#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18444#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 12:21:19,006 INFO L290 TraceCheckUtils]: 78: Hoare triple {18444#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !!(#t~post6 < 20);havoc #t~post6; {18444#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 12:21:19,006 INFO L290 TraceCheckUtils]: 79: Hoare triple {18444#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !(0 != ~b~0); {18454#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) 0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 12:21:19,007 INFO L272 TraceCheckUtils]: 80: Hoare triple {18454#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) 0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {18458#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:21:19,007 INFO L290 TraceCheckUtils]: 81: Hoare triple {18458#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18462#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:19,007 INFO L290 TraceCheckUtils]: 82: Hoare triple {18462#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18209#false} is VALID [2022-04-28 12:21:19,007 INFO L290 TraceCheckUtils]: 83: Hoare triple {18209#false} assume !false; {18209#false} is VALID [2022-04-28 12:21:19,008 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 16 proven. 10 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 12:21:19,008 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:21:19,453 INFO L290 TraceCheckUtils]: 83: Hoare triple {18209#false} assume !false; {18209#false} is VALID [2022-04-28 12:21:19,453 INFO L290 TraceCheckUtils]: 82: Hoare triple {18462#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18209#false} is VALID [2022-04-28 12:21:19,454 INFO L290 TraceCheckUtils]: 81: Hoare triple {18458#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18462#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:19,454 INFO L272 TraceCheckUtils]: 80: Hoare triple {18478#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {18458#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:21:19,455 INFO L290 TraceCheckUtils]: 79: Hoare triple {18482#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {18478#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-28 12:21:19,455 INFO L290 TraceCheckUtils]: 78: Hoare triple {18482#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !!(#t~post6 < 20);havoc #t~post6; {18482#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-28 12:21:19,455 INFO L290 TraceCheckUtils]: 77: Hoare triple {18482#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18482#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-28 12:21:20,109 INFO L290 TraceCheckUtils]: 76: Hoare triple {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {18482#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-28 12:21:20,110 INFO L290 TraceCheckUtils]: 75: Hoare triple {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !(~c~0 >= ~b~0); {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:21:20,110 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {18208#true} {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #92#return; {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:21:20,110 INFO L290 TraceCheckUtils]: 73: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:20,110 INFO L290 TraceCheckUtils]: 72: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:20,111 INFO L290 TraceCheckUtils]: 71: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:20,111 INFO L272 TraceCheckUtils]: 70: Hoare triple {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:20,111 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {18208#true} {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #90#return; {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:21:20,111 INFO L290 TraceCheckUtils]: 68: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:20,111 INFO L290 TraceCheckUtils]: 67: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:20,111 INFO L290 TraceCheckUtils]: 66: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:20,111 INFO L272 TraceCheckUtils]: 65: Hoare triple {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:20,112 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18208#true} {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #88#return; {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:21:20,112 INFO L290 TraceCheckUtils]: 63: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:20,112 INFO L290 TraceCheckUtils]: 62: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:20,112 INFO L290 TraceCheckUtils]: 61: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:20,112 INFO L272 TraceCheckUtils]: 60: Hoare triple {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:20,113 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18208#true} {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #86#return; {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:21:20,113 INFO L290 TraceCheckUtils]: 58: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:20,113 INFO L290 TraceCheckUtils]: 57: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:20,113 INFO L290 TraceCheckUtils]: 56: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:20,113 INFO L272 TraceCheckUtils]: 55: Hoare triple {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:20,113 INFO L290 TraceCheckUtils]: 54: Hoare triple {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !!(#t~post7 < 20);havoc #t~post7; {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:21:20,114 INFO L290 TraceCheckUtils]: 53: Hoare triple {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:21:20,254 INFO L290 TraceCheckUtils]: 52: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:21:20,255 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {18208#true} {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #92#return; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:21:20,255 INFO L290 TraceCheckUtils]: 50: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:20,255 INFO L290 TraceCheckUtils]: 49: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:20,255 INFO L290 TraceCheckUtils]: 48: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:20,255 INFO L272 TraceCheckUtils]: 47: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:20,256 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {18208#true} {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #90#return; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:21:20,256 INFO L290 TraceCheckUtils]: 45: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:20,256 INFO L290 TraceCheckUtils]: 44: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:20,256 INFO L290 TraceCheckUtils]: 43: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:20,256 INFO L272 TraceCheckUtils]: 42: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:20,257 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18208#true} {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #88#return; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:21:20,257 INFO L290 TraceCheckUtils]: 40: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:20,257 INFO L290 TraceCheckUtils]: 39: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:20,257 INFO L290 TraceCheckUtils]: 38: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:20,257 INFO L272 TraceCheckUtils]: 37: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:20,258 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18208#true} {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #86#return; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:21:20,258 INFO L290 TraceCheckUtils]: 35: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:20,258 INFO L290 TraceCheckUtils]: 34: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:20,258 INFO L290 TraceCheckUtils]: 33: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:20,258 INFO L272 TraceCheckUtils]: 32: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:20,258 INFO L290 TraceCheckUtils]: 31: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} assume !!(#t~post7 < 20);havoc #t~post7; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:21:20,259 INFO L290 TraceCheckUtils]: 30: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:21:20,259 INFO L290 TraceCheckUtils]: 29: Hoare triple {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:21:20,260 INFO L290 TraceCheckUtils]: 28: Hoare triple {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} assume !!(#t~post6 < 20);havoc #t~post6; {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-28 12:21:20,260 INFO L290 TraceCheckUtils]: 27: Hoare triple {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-28 12:21:20,261 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18208#true} {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} #84#return; {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-28 12:21:20,261 INFO L290 TraceCheckUtils]: 25: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:20,261 INFO L290 TraceCheckUtils]: 24: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:20,261 INFO L290 TraceCheckUtils]: 23: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:20,261 INFO L272 TraceCheckUtils]: 22: Hoare triple {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:20,261 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18208#true} {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} #82#return; {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-28 12:21:20,261 INFO L290 TraceCheckUtils]: 20: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:20,262 INFO L290 TraceCheckUtils]: 19: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:20,262 INFO L290 TraceCheckUtils]: 18: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:20,262 INFO L272 TraceCheckUtils]: 17: Hoare triple {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:20,262 INFO L290 TraceCheckUtils]: 16: Hoare triple {18208#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-28 12:21:20,262 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18208#true} {18208#true} #80#return; {18208#true} is VALID [2022-04-28 12:21:20,262 INFO L290 TraceCheckUtils]: 14: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:20,262 INFO L290 TraceCheckUtils]: 13: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:20,262 INFO L290 TraceCheckUtils]: 12: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:20,262 INFO L272 TraceCheckUtils]: 11: Hoare triple {18208#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:20,262 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18208#true} {18208#true} #78#return; {18208#true} is VALID [2022-04-28 12:21:20,262 INFO L290 TraceCheckUtils]: 9: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:20,262 INFO L290 TraceCheckUtils]: 8: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:21:20,262 INFO L290 TraceCheckUtils]: 7: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:21:20,263 INFO L272 TraceCheckUtils]: 6: Hoare triple {18208#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:21:20,263 INFO L290 TraceCheckUtils]: 5: Hoare triple {18208#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18208#true} is VALID [2022-04-28 12:21:20,263 INFO L272 TraceCheckUtils]: 4: Hoare triple {18208#true} call #t~ret8 := main(); {18208#true} is VALID [2022-04-28 12:21:20,263 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18208#true} {18208#true} #98#return; {18208#true} is VALID [2022-04-28 12:21:20,263 INFO L290 TraceCheckUtils]: 2: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:21:20,263 INFO L290 TraceCheckUtils]: 1: Hoare triple {18208#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18208#true} is VALID [2022-04-28 12:21:20,263 INFO L272 TraceCheckUtils]: 0: Hoare triple {18208#true} call ULTIMATE.init(); {18208#true} is VALID [2022-04-28 12:21:20,263 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 16 proven. 10 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 12:21:20,263 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:21:20,263 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1081874554] [2022-04-28 12:21:20,264 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:21:20,264 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2049519758] [2022-04-28 12:21:20,264 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2049519758] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:21:20,264 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:21:20,264 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 12:21:20,264 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:21:20,264 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2049127760] [2022-04-28 12:21:20,264 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2049127760] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:21:20,264 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:21:20,264 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:21:20,264 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1506154145] [2022-04-28 12:21:20,264 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:21:20,264 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 84 [2022-04-28 12:21:20,265 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:21:20,265 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:21:20,309 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 12:21:20,309 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:21:20,309 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:21:20,310 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:21:20,310 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=147, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:21:20,310 INFO L87 Difference]: Start difference. First operand 206 states and 268 transitions. Second operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:21:21,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:21,761 INFO L93 Difference]: Finished difference Result 234 states and 311 transitions. [2022-04-28 12:21:21,761 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:21:21,761 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 84 [2022-04-28 12:21:21,761 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:21:21,761 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:21:21,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 114 transitions. [2022-04-28 12:21:21,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:21:21,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 114 transitions. [2022-04-28 12:21:21,777 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 114 transitions. [2022-04-28 12:21:21,891 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:21,895 INFO L225 Difference]: With dead ends: 234 [2022-04-28 12:21:21,895 INFO L226 Difference]: Without dead ends: 232 [2022-04-28 12:21:21,895 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 171 GetRequests, 154 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=61, Invalid=245, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:21:21,896 INFO L413 NwaCegarLoop]: 60 mSDtfsCounter, 25 mSDsluCounter, 247 mSDsCounter, 0 mSdLazyCounter, 313 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 307 SdHoareTripleChecker+Invalid, 334 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 313 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:21:21,896 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 307 Invalid, 334 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 313 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:21:21,896 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 232 states. [2022-04-28 12:21:22,214 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 232 to 229. [2022-04-28 12:21:22,214 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:21:22,215 INFO L82 GeneralOperation]: Start isEquivalent. First operand 232 states. Second operand has 229 states, 141 states have (on average 1.24822695035461) internal successors, (176), 148 states have internal predecessors, (176), 66 states have call successors, (66), 22 states have call predecessors, (66), 21 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 12:21:22,216 INFO L74 IsIncluded]: Start isIncluded. First operand 232 states. Second operand has 229 states, 141 states have (on average 1.24822695035461) internal successors, (176), 148 states have internal predecessors, (176), 66 states have call successors, (66), 22 states have call predecessors, (66), 21 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 12:21:22,218 INFO L87 Difference]: Start difference. First operand 232 states. Second operand has 229 states, 141 states have (on average 1.24822695035461) internal successors, (176), 148 states have internal predecessors, (176), 66 states have call successors, (66), 22 states have call predecessors, (66), 21 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 12:21:22,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:22,234 INFO L93 Difference]: Finished difference Result 232 states and 309 transitions. [2022-04-28 12:21:22,234 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 309 transitions. [2022-04-28 12:21:22,234 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:22,234 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:22,235 INFO L74 IsIncluded]: Start isIncluded. First operand has 229 states, 141 states have (on average 1.24822695035461) internal successors, (176), 148 states have internal predecessors, (176), 66 states have call successors, (66), 22 states have call predecessors, (66), 21 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) Second operand 232 states. [2022-04-28 12:21:22,235 INFO L87 Difference]: Start difference. First operand has 229 states, 141 states have (on average 1.24822695035461) internal successors, (176), 148 states have internal predecessors, (176), 66 states have call successors, (66), 22 states have call predecessors, (66), 21 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) Second operand 232 states. [2022-04-28 12:21:22,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:22,239 INFO L93 Difference]: Finished difference Result 232 states and 309 transitions. [2022-04-28 12:21:22,239 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 309 transitions. [2022-04-28 12:21:22,240 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:22,240 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:22,240 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:21:22,240 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:21:22,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 229 states, 141 states have (on average 1.24822695035461) internal successors, (176), 148 states have internal predecessors, (176), 66 states have call successors, (66), 22 states have call predecessors, (66), 21 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 12:21:22,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 229 states to 229 states and 306 transitions. [2022-04-28 12:21:22,245 INFO L78 Accepts]: Start accepts. Automaton has 229 states and 306 transitions. Word has length 84 [2022-04-28 12:21:22,245 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:21:22,245 INFO L495 AbstractCegarLoop]: Abstraction has 229 states and 306 transitions. [2022-04-28 12:21:22,245 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:21:22,245 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 229 states and 306 transitions. [2022-04-28 12:21:22,623 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 306 edges. 306 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:22,623 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 306 transitions. [2022-04-28 12:21:22,639 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 88 [2022-04-28 12:21:22,639 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:21:22,639 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:21:22,660 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 12:21:22,840 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 12:21:22,840 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:21:22,840 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:21:22,840 INFO L85 PathProgramCache]: Analyzing trace with hash 1676300815, now seen corresponding path program 3 times [2022-04-28 12:21:22,840 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:21:22,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [517601198] [2022-04-28 12:21:22,840 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:21:22,841 INFO L85 PathProgramCache]: Analyzing trace with hash 1676300815, now seen corresponding path program 4 times [2022-04-28 12:21:22,841 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:21:22,841 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1517013130] [2022-04-28 12:21:22,841 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:21:22,841 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:21:22,849 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:21:22,849 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1340896044] [2022-04-28 12:21:22,849 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:21:22,850 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:21:22,850 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:21:22,850 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 12:21:22,851 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 12:21:22,895 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:21:22,895 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:21:22,896 INFO L263 TraceCheckSpWp]: Trace formula consists of 211 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 12:21:22,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:21:22,911 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:21:23,095 INFO L272 TraceCheckUtils]: 0: Hoare triple {20123#true} call ULTIMATE.init(); {20123#true} is VALID [2022-04-28 12:21:23,095 INFO L290 TraceCheckUtils]: 1: Hoare triple {20123#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20123#true} is VALID [2022-04-28 12:21:23,095 INFO L290 TraceCheckUtils]: 2: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:21:23,095 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20123#true} {20123#true} #98#return; {20123#true} is VALID [2022-04-28 12:21:23,095 INFO L272 TraceCheckUtils]: 4: Hoare triple {20123#true} call #t~ret8 := main(); {20123#true} is VALID [2022-04-28 12:21:23,096 INFO L290 TraceCheckUtils]: 5: Hoare triple {20123#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20123#true} is VALID [2022-04-28 12:21:23,096 INFO L272 TraceCheckUtils]: 6: Hoare triple {20123#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:21:23,096 INFO L290 TraceCheckUtils]: 7: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:21:23,096 INFO L290 TraceCheckUtils]: 8: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:21:23,096 INFO L290 TraceCheckUtils]: 9: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:21:23,096 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20123#true} {20123#true} #78#return; {20123#true} is VALID [2022-04-28 12:21:23,096 INFO L272 TraceCheckUtils]: 11: Hoare triple {20123#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:21:23,096 INFO L290 TraceCheckUtils]: 12: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:21:23,096 INFO L290 TraceCheckUtils]: 13: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:21:23,096 INFO L290 TraceCheckUtils]: 14: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:21:23,096 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20123#true} {20123#true} #80#return; {20123#true} is VALID [2022-04-28 12:21:23,096 INFO L290 TraceCheckUtils]: 16: Hoare triple {20123#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {20123#true} is VALID [2022-04-28 12:21:23,096 INFO L272 TraceCheckUtils]: 17: Hoare triple {20123#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:21:23,096 INFO L290 TraceCheckUtils]: 18: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:21:23,096 INFO L290 TraceCheckUtils]: 19: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:21:23,096 INFO L290 TraceCheckUtils]: 20: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:21:23,096 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20123#true} {20123#true} #82#return; {20123#true} is VALID [2022-04-28 12:21:23,096 INFO L272 TraceCheckUtils]: 22: Hoare triple {20123#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:21:23,096 INFO L290 TraceCheckUtils]: 23: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L290 TraceCheckUtils]: 24: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L290 TraceCheckUtils]: 25: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20123#true} {20123#true} #84#return; {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L290 TraceCheckUtils]: 27: Hoare triple {20123#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L290 TraceCheckUtils]: 28: Hoare triple {20123#true} assume !!(#t~post6 < 20);havoc #t~post6; {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L290 TraceCheckUtils]: 29: Hoare triple {20123#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L290 TraceCheckUtils]: 30: Hoare triple {20123#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L290 TraceCheckUtils]: 31: Hoare triple {20123#true} assume !!(#t~post7 < 20);havoc #t~post7; {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L272 TraceCheckUtils]: 32: Hoare triple {20123#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L290 TraceCheckUtils]: 33: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L290 TraceCheckUtils]: 34: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L290 TraceCheckUtils]: 35: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {20123#true} {20123#true} #86#return; {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L272 TraceCheckUtils]: 37: Hoare triple {20123#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L290 TraceCheckUtils]: 38: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L290 TraceCheckUtils]: 39: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L290 TraceCheckUtils]: 40: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20123#true} {20123#true} #88#return; {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L272 TraceCheckUtils]: 42: Hoare triple {20123#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:21:23,097 INFO L290 TraceCheckUtils]: 43: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:21:23,098 INFO L290 TraceCheckUtils]: 44: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:21:23,098 INFO L290 TraceCheckUtils]: 45: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:21:23,098 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {20123#true} {20123#true} #90#return; {20123#true} is VALID [2022-04-28 12:21:23,098 INFO L272 TraceCheckUtils]: 47: Hoare triple {20123#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:21:23,098 INFO L290 TraceCheckUtils]: 48: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:21:23,098 INFO L290 TraceCheckUtils]: 49: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:21:23,098 INFO L290 TraceCheckUtils]: 50: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:21:23,098 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {20123#true} {20123#true} #92#return; {20123#true} is VALID [2022-04-28 12:21:23,098 INFO L290 TraceCheckUtils]: 52: Hoare triple {20123#true} assume !(~c~0 >= ~b~0); {20284#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:21:23,098 INFO L290 TraceCheckUtils]: 53: Hoare triple {20284#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {20288#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:21:23,099 INFO L290 TraceCheckUtils]: 54: Hoare triple {20288#(< main_~b~0 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20288#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:21:23,099 INFO L290 TraceCheckUtils]: 55: Hoare triple {20288#(< main_~b~0 main_~a~0)} assume !!(#t~post6 < 20);havoc #t~post6; {20288#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:21:23,099 INFO L290 TraceCheckUtils]: 56: Hoare triple {20288#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:21:23,100 INFO L290 TraceCheckUtils]: 57: Hoare triple {20298#(< main_~b~0 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:21:23,100 INFO L290 TraceCheckUtils]: 58: Hoare triple {20298#(< main_~b~0 main_~c~0)} assume !!(#t~post7 < 20);havoc #t~post7; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:21:23,100 INFO L272 TraceCheckUtils]: 59: Hoare triple {20298#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:21:23,100 INFO L290 TraceCheckUtils]: 60: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:21:23,100 INFO L290 TraceCheckUtils]: 61: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:21:23,100 INFO L290 TraceCheckUtils]: 62: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:21:23,100 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {20123#true} {20298#(< main_~b~0 main_~c~0)} #86#return; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:21:23,100 INFO L272 TraceCheckUtils]: 64: Hoare triple {20298#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:21:23,101 INFO L290 TraceCheckUtils]: 65: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:21:23,101 INFO L290 TraceCheckUtils]: 66: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:21:23,101 INFO L290 TraceCheckUtils]: 67: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:21:23,101 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {20123#true} {20298#(< main_~b~0 main_~c~0)} #88#return; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:21:23,101 INFO L272 TraceCheckUtils]: 69: Hoare triple {20298#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:21:23,101 INFO L290 TraceCheckUtils]: 70: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:21:23,101 INFO L290 TraceCheckUtils]: 71: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:21:23,101 INFO L290 TraceCheckUtils]: 72: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:21:23,102 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {20123#true} {20298#(< main_~b~0 main_~c~0)} #90#return; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:21:23,102 INFO L272 TraceCheckUtils]: 74: Hoare triple {20298#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:21:23,102 INFO L290 TraceCheckUtils]: 75: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:21:23,102 INFO L290 TraceCheckUtils]: 76: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:21:23,102 INFO L290 TraceCheckUtils]: 77: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:21:23,103 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {20123#true} {20298#(< main_~b~0 main_~c~0)} #92#return; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:21:23,110 INFO L290 TraceCheckUtils]: 79: Hoare triple {20298#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {20124#false} is VALID [2022-04-28 12:21:23,110 INFO L290 TraceCheckUtils]: 80: Hoare triple {20124#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {20124#false} is VALID [2022-04-28 12:21:23,110 INFO L290 TraceCheckUtils]: 81: Hoare triple {20124#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20124#false} is VALID [2022-04-28 12:21:23,110 INFO L290 TraceCheckUtils]: 82: Hoare triple {20124#false} assume !(#t~post6 < 20);havoc #t~post6; {20124#false} is VALID [2022-04-28 12:21:23,110 INFO L272 TraceCheckUtils]: 83: Hoare triple {20124#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {20124#false} is VALID [2022-04-28 12:21:23,110 INFO L290 TraceCheckUtils]: 84: Hoare triple {20124#false} ~cond := #in~cond; {20124#false} is VALID [2022-04-28 12:21:23,110 INFO L290 TraceCheckUtils]: 85: Hoare triple {20124#false} assume 0 == ~cond; {20124#false} is VALID [2022-04-28 12:21:23,110 INFO L290 TraceCheckUtils]: 86: Hoare triple {20124#false} assume !false; {20124#false} is VALID [2022-04-28 12:21:23,111 INFO L134 CoverageAnalysis]: Checked inductivity of 167 backedges. 31 proven. 0 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 12:21:23,111 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:21:23,111 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:21:23,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1517013130] [2022-04-28 12:21:23,111 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:21:23,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1340896044] [2022-04-28 12:21:23,111 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1340896044] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:21:23,111 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:21:23,111 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:21:23,111 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:21:23,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [517601198] [2022-04-28 12:21:23,111 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [517601198] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:21:23,111 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:21:23,111 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:21:23,111 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1986354378] [2022-04-28 12:21:23,111 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:21:23,112 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) Word has length 87 [2022-04-28 12:21:23,112 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:21:23,112 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:21:23,150 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:23,150 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:21:23,150 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:21:23,150 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:21:23,150 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:21:23,150 INFO L87 Difference]: Start difference. First operand 229 states and 306 transitions. Second operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:21:23,872 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:23,872 INFO L93 Difference]: Finished difference Result 371 states and 532 transitions. [2022-04-28 12:21:23,872 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:21:23,872 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) Word has length 87 [2022-04-28 12:21:23,873 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:21:23,873 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:21:23,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 110 transitions. [2022-04-28 12:21:23,874 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:21:23,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 110 transitions. [2022-04-28 12:21:23,878 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 110 transitions. [2022-04-28 12:21:23,953 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 12:21:23,957 INFO L225 Difference]: With dead ends: 371 [2022-04-28 12:21:23,957 INFO L226 Difference]: Without dead ends: 291 [2022-04-28 12:21:23,958 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 84 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-04-28 12:21:23,958 INFO L413 NwaCegarLoop]: 61 mSDtfsCounter, 12 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 74 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 172 SdHoareTripleChecker+Invalid, 79 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 74 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:21:23,958 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 172 Invalid, 79 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 74 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:21:23,959 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 291 states. [2022-04-28 12:21:24,376 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 291 to 257. [2022-04-28 12:21:24,376 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:21:24,376 INFO L82 GeneralOperation]: Start isEquivalent. First operand 291 states. Second operand has 257 states, 161 states have (on average 1.2546583850931676) internal successors, (202), 168 states have internal predecessors, (202), 74 states have call successors, (74), 22 states have call predecessors, (74), 21 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:21:24,376 INFO L74 IsIncluded]: Start isIncluded. First operand 291 states. Second operand has 257 states, 161 states have (on average 1.2546583850931676) internal successors, (202), 168 states have internal predecessors, (202), 74 states have call successors, (74), 22 states have call predecessors, (74), 21 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:21:24,377 INFO L87 Difference]: Start difference. First operand 291 states. Second operand has 257 states, 161 states have (on average 1.2546583850931676) internal successors, (202), 168 states have internal predecessors, (202), 74 states have call successors, (74), 22 states have call predecessors, (74), 21 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:21:24,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:24,383 INFO L93 Difference]: Finished difference Result 291 states and 403 transitions. [2022-04-28 12:21:24,383 INFO L276 IsEmpty]: Start isEmpty. Operand 291 states and 403 transitions. [2022-04-28 12:21:24,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:24,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:24,384 INFO L74 IsIncluded]: Start isIncluded. First operand has 257 states, 161 states have (on average 1.2546583850931676) internal successors, (202), 168 states have internal predecessors, (202), 74 states have call successors, (74), 22 states have call predecessors, (74), 21 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) Second operand 291 states. [2022-04-28 12:21:24,384 INFO L87 Difference]: Start difference. First operand has 257 states, 161 states have (on average 1.2546583850931676) internal successors, (202), 168 states have internal predecessors, (202), 74 states have call successors, (74), 22 states have call predecessors, (74), 21 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) Second operand 291 states. [2022-04-28 12:21:24,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:24,390 INFO L93 Difference]: Finished difference Result 291 states and 403 transitions. [2022-04-28 12:21:24,390 INFO L276 IsEmpty]: Start isEmpty. Operand 291 states and 403 transitions. [2022-04-28 12:21:24,391 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:24,391 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:24,391 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:21:24,391 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:21:24,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 257 states, 161 states have (on average 1.2546583850931676) internal successors, (202), 168 states have internal predecessors, (202), 74 states have call successors, (74), 22 states have call predecessors, (74), 21 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:21:24,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 257 states to 257 states and 348 transitions. [2022-04-28 12:21:24,396 INFO L78 Accepts]: Start accepts. Automaton has 257 states and 348 transitions. Word has length 87 [2022-04-28 12:21:24,396 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:21:24,396 INFO L495 AbstractCegarLoop]: Abstraction has 257 states and 348 transitions. [2022-04-28 12:21:24,396 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:21:24,396 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 257 states and 348 transitions. [2022-04-28 12:21:24,798 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 348 edges. 348 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:24,798 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 348 transitions. [2022-04-28 12:21:24,799 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-28 12:21:24,799 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:21:24,799 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:21:24,815 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Ended with exit code 0 [2022-04-28 12:21:24,999 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 12:21:25,000 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:21:25,001 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:21:25,001 INFO L85 PathProgramCache]: Analyzing trace with hash -1175887352, now seen corresponding path program 1 times [2022-04-28 12:21:25,001 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:21:25,001 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [805955369] [2022-04-28 12:21:25,002 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:21:25,002 INFO L85 PathProgramCache]: Analyzing trace with hash -1175887352, now seen corresponding path program 2 times [2022-04-28 12:21:25,002 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:21:25,004 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1895770759] [2022-04-28 12:21:25,005 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:21:25,005 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:21:25,017 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:21:25,017 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [995876331] [2022-04-28 12:21:25,017 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:21:25,018 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:21:25,018 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:21:25,018 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 12:21:25,019 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 12:21:25,079 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:21:25,079 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:21:25,080 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 12:21:25,089 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:21:25,090 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:21:25,304 INFO L272 TraceCheckUtils]: 0: Hoare triple {22231#true} call ULTIMATE.init(); {22231#true} is VALID [2022-04-28 12:21:25,304 INFO L290 TraceCheckUtils]: 1: Hoare triple {22231#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {22231#true} is VALID [2022-04-28 12:21:25,304 INFO L290 TraceCheckUtils]: 2: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:25,304 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22231#true} {22231#true} #98#return; {22231#true} is VALID [2022-04-28 12:21:25,305 INFO L272 TraceCheckUtils]: 4: Hoare triple {22231#true} call #t~ret8 := main(); {22231#true} is VALID [2022-04-28 12:21:25,305 INFO L290 TraceCheckUtils]: 5: Hoare triple {22231#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22231#true} is VALID [2022-04-28 12:21:25,305 INFO L272 TraceCheckUtils]: 6: Hoare triple {22231#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:25,305 INFO L290 TraceCheckUtils]: 7: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:25,305 INFO L290 TraceCheckUtils]: 8: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:25,305 INFO L290 TraceCheckUtils]: 9: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:25,305 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22231#true} {22231#true} #78#return; {22231#true} is VALID [2022-04-28 12:21:25,305 INFO L272 TraceCheckUtils]: 11: Hoare triple {22231#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:25,305 INFO L290 TraceCheckUtils]: 12: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:25,305 INFO L290 TraceCheckUtils]: 13: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:25,305 INFO L290 TraceCheckUtils]: 14: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:25,305 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22231#true} {22231#true} #80#return; {22231#true} is VALID [2022-04-28 12:21:25,305 INFO L290 TraceCheckUtils]: 16: Hoare triple {22231#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:21:25,305 INFO L272 TraceCheckUtils]: 17: Hoare triple {22284#(= main_~q~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:25,305 INFO L290 TraceCheckUtils]: 18: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:25,306 INFO L290 TraceCheckUtils]: 19: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:25,306 INFO L290 TraceCheckUtils]: 20: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:25,306 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #82#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:21:25,306 INFO L272 TraceCheckUtils]: 22: Hoare triple {22284#(= main_~q~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:25,306 INFO L290 TraceCheckUtils]: 23: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:25,306 INFO L290 TraceCheckUtils]: 24: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:25,306 INFO L290 TraceCheckUtils]: 25: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:25,306 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #84#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:21:25,307 INFO L290 TraceCheckUtils]: 27: Hoare triple {22284#(= main_~q~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:21:25,307 INFO L290 TraceCheckUtils]: 28: Hoare triple {22284#(= main_~q~0 0)} assume !!(#t~post6 < 20);havoc #t~post6; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:21:25,307 INFO L290 TraceCheckUtils]: 29: Hoare triple {22284#(= main_~q~0 0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:21:25,307 INFO L290 TraceCheckUtils]: 30: Hoare triple {22284#(= main_~q~0 0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:21:25,308 INFO L290 TraceCheckUtils]: 31: Hoare triple {22284#(= main_~q~0 0)} assume !!(#t~post7 < 20);havoc #t~post7; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:21:25,308 INFO L272 TraceCheckUtils]: 32: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:25,308 INFO L290 TraceCheckUtils]: 33: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:25,308 INFO L290 TraceCheckUtils]: 34: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:25,308 INFO L290 TraceCheckUtils]: 35: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:25,308 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #86#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:21:25,308 INFO L272 TraceCheckUtils]: 37: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:25,308 INFO L290 TraceCheckUtils]: 38: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:25,308 INFO L290 TraceCheckUtils]: 39: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:25,309 INFO L290 TraceCheckUtils]: 40: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:25,309 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #88#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:21:25,309 INFO L272 TraceCheckUtils]: 42: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:25,309 INFO L290 TraceCheckUtils]: 43: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:25,309 INFO L290 TraceCheckUtils]: 44: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:25,309 INFO L290 TraceCheckUtils]: 45: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:25,310 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #90#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:21:25,310 INFO L272 TraceCheckUtils]: 47: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:25,310 INFO L290 TraceCheckUtils]: 48: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:25,310 INFO L290 TraceCheckUtils]: 49: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:25,310 INFO L290 TraceCheckUtils]: 50: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:25,310 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #92#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:21:25,311 INFO L290 TraceCheckUtils]: 52: Hoare triple {22284#(= main_~q~0 0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:21:25,311 INFO L290 TraceCheckUtils]: 53: Hoare triple {22284#(= main_~q~0 0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:21:25,311 INFO L290 TraceCheckUtils]: 54: Hoare triple {22284#(= main_~q~0 0)} assume !!(#t~post7 < 20);havoc #t~post7; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:21:25,311 INFO L272 TraceCheckUtils]: 55: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:25,311 INFO L290 TraceCheckUtils]: 56: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:25,311 INFO L290 TraceCheckUtils]: 57: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:25,311 INFO L290 TraceCheckUtils]: 58: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:25,312 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #86#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:21:25,312 INFO L272 TraceCheckUtils]: 60: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:25,312 INFO L290 TraceCheckUtils]: 61: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:25,312 INFO L290 TraceCheckUtils]: 62: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:25,312 INFO L290 TraceCheckUtils]: 63: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:25,312 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #88#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:21:25,312 INFO L272 TraceCheckUtils]: 65: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:25,313 INFO L290 TraceCheckUtils]: 66: Hoare triple {22231#true} ~cond := #in~cond; {22435#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:25,313 INFO L290 TraceCheckUtils]: 67: Hoare triple {22435#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:25,313 INFO L290 TraceCheckUtils]: 68: Hoare triple {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:25,314 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} {22284#(= main_~q~0 0)} #90#return; {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-28 12:21:25,314 INFO L272 TraceCheckUtils]: 70: Hoare triple {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:25,314 INFO L290 TraceCheckUtils]: 71: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:25,314 INFO L290 TraceCheckUtils]: 72: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:25,314 INFO L290 TraceCheckUtils]: 73: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:25,314 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {22231#true} {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} #92#return; {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-28 12:21:25,315 INFO L290 TraceCheckUtils]: 75: Hoare triple {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-28 12:21:25,315 INFO L290 TraceCheckUtils]: 76: Hoare triple {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:21:25,316 INFO L290 TraceCheckUtils]: 77: Hoare triple {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:21:25,316 INFO L290 TraceCheckUtils]: 78: Hoare triple {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(#t~post6 < 20);havoc #t~post6; {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:21:25,316 INFO L290 TraceCheckUtils]: 79: Hoare triple {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(0 != ~b~0); {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:21:25,316 INFO L272 TraceCheckUtils]: 80: Hoare triple {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:25,316 INFO L290 TraceCheckUtils]: 81: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:25,316 INFO L290 TraceCheckUtils]: 82: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:25,316 INFO L290 TraceCheckUtils]: 83: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:25,317 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {22231#true} {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #94#return; {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:21:25,317 INFO L272 TraceCheckUtils]: 85: Hoare triple {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~p~0 * ~x~0 + ~r~0 * ~y~0 == ~a~0 then 1 else 0)); {22496#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:21:25,318 INFO L290 TraceCheckUtils]: 86: Hoare triple {22496#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22500#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:25,318 INFO L290 TraceCheckUtils]: 87: Hoare triple {22500#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22232#false} is VALID [2022-04-28 12:21:25,318 INFO L290 TraceCheckUtils]: 88: Hoare triple {22232#false} assume !false; {22232#false} is VALID [2022-04-28 12:21:25,318 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 37 proven. 10 refuted. 0 times theorem prover too weak. 149 trivial. 0 not checked. [2022-04-28 12:21:25,318 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:21:41,586 INFO L290 TraceCheckUtils]: 88: Hoare triple {22232#false} assume !false; {22232#false} is VALID [2022-04-28 12:21:41,587 INFO L290 TraceCheckUtils]: 87: Hoare triple {22500#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22232#false} is VALID [2022-04-28 12:21:41,587 INFO L290 TraceCheckUtils]: 86: Hoare triple {22496#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22500#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:41,588 INFO L272 TraceCheckUtils]: 85: Hoare triple {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 + ~r~0 * ~y~0 == ~a~0 then 1 else 0)); {22496#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:21:41,588 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {22231#true} {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #94#return; {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:21:41,588 INFO L290 TraceCheckUtils]: 83: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:41,589 INFO L290 TraceCheckUtils]: 82: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:41,589 INFO L290 TraceCheckUtils]: 81: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:41,589 INFO L272 TraceCheckUtils]: 80: Hoare triple {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:41,589 INFO L290 TraceCheckUtils]: 79: Hoare triple {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(0 != ~b~0); {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:21:41,589 INFO L290 TraceCheckUtils]: 78: Hoare triple {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:21:41,590 INFO L290 TraceCheckUtils]: 77: Hoare triple {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:21:41,590 INFO L290 TraceCheckUtils]: 76: Hoare triple {22544#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:21:41,590 INFO L290 TraceCheckUtils]: 75: Hoare triple {22544#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {22544#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:21:41,591 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {22231#true} {22544#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #92#return; {22544#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:21:41,591 INFO L290 TraceCheckUtils]: 73: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:41,591 INFO L290 TraceCheckUtils]: 72: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:41,591 INFO L290 TraceCheckUtils]: 71: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:41,591 INFO L272 TraceCheckUtils]: 70: Hoare triple {22544#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:41,592 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} {22231#true} #90#return; {22544#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:21:41,592 INFO L290 TraceCheckUtils]: 68: Hoare triple {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:41,592 INFO L290 TraceCheckUtils]: 67: Hoare triple {22575#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:41,592 INFO L290 TraceCheckUtils]: 66: Hoare triple {22231#true} ~cond := #in~cond; {22575#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:21:41,592 INFO L272 TraceCheckUtils]: 65: Hoare triple {22231#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:41,592 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22231#true} {22231#true} #88#return; {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L290 TraceCheckUtils]: 63: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L290 TraceCheckUtils]: 62: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L290 TraceCheckUtils]: 61: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L272 TraceCheckUtils]: 60: Hoare triple {22231#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {22231#true} {22231#true} #86#return; {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L290 TraceCheckUtils]: 58: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L290 TraceCheckUtils]: 57: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L290 TraceCheckUtils]: 56: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L272 TraceCheckUtils]: 55: Hoare triple {22231#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L290 TraceCheckUtils]: 54: Hoare triple {22231#true} assume !!(#t~post7 < 20);havoc #t~post7; {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L290 TraceCheckUtils]: 53: Hoare triple {22231#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L290 TraceCheckUtils]: 52: Hoare triple {22231#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {22231#true} {22231#true} #92#return; {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L290 TraceCheckUtils]: 50: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L290 TraceCheckUtils]: 49: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L290 TraceCheckUtils]: 48: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L272 TraceCheckUtils]: 47: Hoare triple {22231#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {22231#true} {22231#true} #90#return; {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L290 TraceCheckUtils]: 45: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:41,593 INFO L290 TraceCheckUtils]: 44: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L290 TraceCheckUtils]: 43: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L272 TraceCheckUtils]: 42: Hoare triple {22231#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {22231#true} {22231#true} #88#return; {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L290 TraceCheckUtils]: 40: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L290 TraceCheckUtils]: 39: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L290 TraceCheckUtils]: 38: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L272 TraceCheckUtils]: 37: Hoare triple {22231#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {22231#true} {22231#true} #86#return; {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L290 TraceCheckUtils]: 35: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L290 TraceCheckUtils]: 34: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L290 TraceCheckUtils]: 33: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L272 TraceCheckUtils]: 32: Hoare triple {22231#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L290 TraceCheckUtils]: 31: Hoare triple {22231#true} assume !!(#t~post7 < 20);havoc #t~post7; {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L290 TraceCheckUtils]: 30: Hoare triple {22231#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L290 TraceCheckUtils]: 29: Hoare triple {22231#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L290 TraceCheckUtils]: 28: Hoare triple {22231#true} assume !!(#t~post6 < 20);havoc #t~post6; {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L290 TraceCheckUtils]: 27: Hoare triple {22231#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22231#true} {22231#true} #84#return; {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L290 TraceCheckUtils]: 25: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:41,594 INFO L290 TraceCheckUtils]: 24: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:41,595 INFO L290 TraceCheckUtils]: 23: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:41,595 INFO L272 TraceCheckUtils]: 22: Hoare triple {22231#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:41,595 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {22231#true} {22231#true} #82#return; {22231#true} is VALID [2022-04-28 12:21:41,595 INFO L290 TraceCheckUtils]: 20: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:41,595 INFO L290 TraceCheckUtils]: 19: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:41,595 INFO L290 TraceCheckUtils]: 18: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:41,595 INFO L272 TraceCheckUtils]: 17: Hoare triple {22231#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:41,595 INFO L290 TraceCheckUtils]: 16: Hoare triple {22231#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {22231#true} is VALID [2022-04-28 12:21:41,595 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22231#true} {22231#true} #80#return; {22231#true} is VALID [2022-04-28 12:21:41,595 INFO L290 TraceCheckUtils]: 14: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:41,595 INFO L290 TraceCheckUtils]: 13: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:41,595 INFO L290 TraceCheckUtils]: 12: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:41,595 INFO L272 TraceCheckUtils]: 11: Hoare triple {22231#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:41,595 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22231#true} {22231#true} #78#return; {22231#true} is VALID [2022-04-28 12:21:41,595 INFO L290 TraceCheckUtils]: 9: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:41,595 INFO L290 TraceCheckUtils]: 8: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:21:41,595 INFO L290 TraceCheckUtils]: 7: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:21:41,595 INFO L272 TraceCheckUtils]: 6: Hoare triple {22231#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:21:41,595 INFO L290 TraceCheckUtils]: 5: Hoare triple {22231#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22231#true} is VALID [2022-04-28 12:21:41,596 INFO L272 TraceCheckUtils]: 4: Hoare triple {22231#true} call #t~ret8 := main(); {22231#true} is VALID [2022-04-28 12:21:41,596 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22231#true} {22231#true} #98#return; {22231#true} is VALID [2022-04-28 12:21:41,596 INFO L290 TraceCheckUtils]: 2: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:21:41,596 INFO L290 TraceCheckUtils]: 1: Hoare triple {22231#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {22231#true} is VALID [2022-04-28 12:21:41,596 INFO L272 TraceCheckUtils]: 0: Hoare triple {22231#true} call ULTIMATE.init(); {22231#true} is VALID [2022-04-28 12:21:41,596 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 40 proven. 7 refuted. 0 times theorem prover too weak. 149 trivial. 0 not checked. [2022-04-28 12:21:41,596 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:21:41,596 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1895770759] [2022-04-28 12:21:41,596 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:21:41,596 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [995876331] [2022-04-28 12:21:41,596 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [995876331] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:21:41,596 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:21:41,596 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-28 12:21:41,597 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:21:41,597 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [805955369] [2022-04-28 12:21:41,597 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [805955369] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:21:41,597 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:21:41,597 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:21:41,597 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [700774143] [2022-04-28 12:21:41,597 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:21:41,597 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 89 [2022-04-28 12:21:41,597 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:21:41,597 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:21:41,634 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:41,634 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:21:41,634 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:21:41,635 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:21:41,635 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:21:41,635 INFO L87 Difference]: Start difference. First operand 257 states and 348 transitions. Second operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:21:42,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:42,877 INFO L93 Difference]: Finished difference Result 301 states and 415 transitions. [2022-04-28 12:21:42,877 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:21:42,877 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 89 [2022-04-28 12:21:42,877 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:21:42,877 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:21:42,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 89 transitions. [2022-04-28 12:21:42,878 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:21:42,879 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 89 transitions. [2022-04-28 12:21:42,879 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 89 transitions. [2022-04-28 12:21:42,952 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:42,962 INFO L225 Difference]: With dead ends: 301 [2022-04-28 12:21:42,963 INFO L226 Difference]: Without dead ends: 297 [2022-04-28 12:21:42,963 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 179 GetRequests, 166 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:21:42,963 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 24 mSDsluCounter, 212 mSDsCounter, 0 mSdLazyCounter, 242 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 259 SdHoareTripleChecker+Invalid, 246 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 242 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:21:42,963 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 259 Invalid, 246 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 242 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:21:42,964 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 297 states. [2022-04-28 12:21:43,435 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 297 to 293. [2022-04-28 12:21:43,435 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:21:43,435 INFO L82 GeneralOperation]: Start isEquivalent. First operand 297 states. Second operand has 293 states, 183 states have (on average 1.273224043715847) internal successors, (233), 191 states have internal predecessors, (233), 87 states have call successors, (87), 23 states have call predecessors, (87), 22 states have return successors, (84), 78 states have call predecessors, (84), 84 states have call successors, (84) [2022-04-28 12:21:43,436 INFO L74 IsIncluded]: Start isIncluded. First operand 297 states. Second operand has 293 states, 183 states have (on average 1.273224043715847) internal successors, (233), 191 states have internal predecessors, (233), 87 states have call successors, (87), 23 states have call predecessors, (87), 22 states have return successors, (84), 78 states have call predecessors, (84), 84 states have call successors, (84) [2022-04-28 12:21:43,436 INFO L87 Difference]: Start difference. First operand 297 states. Second operand has 293 states, 183 states have (on average 1.273224043715847) internal successors, (233), 191 states have internal predecessors, (233), 87 states have call successors, (87), 23 states have call predecessors, (87), 22 states have return successors, (84), 78 states have call predecessors, (84), 84 states have call successors, (84) [2022-04-28 12:21:43,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:43,442 INFO L93 Difference]: Finished difference Result 297 states and 408 transitions. [2022-04-28 12:21:43,442 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 408 transitions. [2022-04-28 12:21:43,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:43,442 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:43,443 INFO L74 IsIncluded]: Start isIncluded. First operand has 293 states, 183 states have (on average 1.273224043715847) internal successors, (233), 191 states have internal predecessors, (233), 87 states have call successors, (87), 23 states have call predecessors, (87), 22 states have return successors, (84), 78 states have call predecessors, (84), 84 states have call successors, (84) Second operand 297 states. [2022-04-28 12:21:43,443 INFO L87 Difference]: Start difference. First operand has 293 states, 183 states have (on average 1.273224043715847) internal successors, (233), 191 states have internal predecessors, (233), 87 states have call successors, (87), 23 states have call predecessors, (87), 22 states have return successors, (84), 78 states have call predecessors, (84), 84 states have call successors, (84) Second operand 297 states. [2022-04-28 12:21:43,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:43,448 INFO L93 Difference]: Finished difference Result 297 states and 408 transitions. [2022-04-28 12:21:43,448 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 408 transitions. [2022-04-28 12:21:43,449 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:43,449 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:43,449 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:21:43,449 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:21:43,449 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 293 states, 183 states have (on average 1.273224043715847) internal successors, (233), 191 states have internal predecessors, (233), 87 states have call successors, (87), 23 states have call predecessors, (87), 22 states have return successors, (84), 78 states have call predecessors, (84), 84 states have call successors, (84) [2022-04-28 12:21:43,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 293 states to 293 states and 404 transitions. [2022-04-28 12:21:43,462 INFO L78 Accepts]: Start accepts. Automaton has 293 states and 404 transitions. Word has length 89 [2022-04-28 12:21:43,463 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:21:43,463 INFO L495 AbstractCegarLoop]: Abstraction has 293 states and 404 transitions. [2022-04-28 12:21:43,463 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:21:43,463 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 293 states and 404 transitions. [2022-04-28 12:21:43,984 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 404 edges. 404 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:43,984 INFO L276 IsEmpty]: Start isEmpty. Operand 293 states and 404 transitions. [2022-04-28 12:21:43,984 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-28 12:21:43,984 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:21:43,984 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:21:44,003 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 12:21:44,185 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 12:21:44,185 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:21:44,185 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:21:44,185 INFO L85 PathProgramCache]: Analyzing trace with hash -201422586, now seen corresponding path program 1 times [2022-04-28 12:21:44,185 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:21:44,185 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1277077284] [2022-04-28 12:21:44,186 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:21:44,186 INFO L85 PathProgramCache]: Analyzing trace with hash -201422586, now seen corresponding path program 2 times [2022-04-28 12:21:44,186 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:21:44,186 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1354387439] [2022-04-28 12:21:44,186 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:21:44,186 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:21:44,197 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:21:44,197 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1454426410] [2022-04-28 12:21:44,197 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:21:44,197 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:21:44,197 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:21:44,198 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 12:21:44,198 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 12:21:44,248 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:21:44,248 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:21:44,249 INFO L263 TraceCheckSpWp]: Trace formula consists of 266 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 12:21:44,260 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:21:44,261 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:21:44,554 INFO L272 TraceCheckUtils]: 0: Hoare triple {24562#true} call ULTIMATE.init(); {24562#true} is VALID [2022-04-28 12:21:44,554 INFO L290 TraceCheckUtils]: 1: Hoare triple {24562#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,555 INFO L290 TraceCheckUtils]: 2: Hoare triple {24570#(<= ~counter~0 0)} assume true; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,555 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24570#(<= ~counter~0 0)} {24562#true} #98#return; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,555 INFO L272 TraceCheckUtils]: 4: Hoare triple {24570#(<= ~counter~0 0)} call #t~ret8 := main(); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,555 INFO L290 TraceCheckUtils]: 5: Hoare triple {24570#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,556 INFO L272 TraceCheckUtils]: 6: Hoare triple {24570#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,556 INFO L290 TraceCheckUtils]: 7: Hoare triple {24570#(<= ~counter~0 0)} ~cond := #in~cond; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,556 INFO L290 TraceCheckUtils]: 8: Hoare triple {24570#(<= ~counter~0 0)} assume !(0 == ~cond); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,556 INFO L290 TraceCheckUtils]: 9: Hoare triple {24570#(<= ~counter~0 0)} assume true; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,557 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24570#(<= ~counter~0 0)} {24570#(<= ~counter~0 0)} #78#return; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,557 INFO L272 TraceCheckUtils]: 11: Hoare triple {24570#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,557 INFO L290 TraceCheckUtils]: 12: Hoare triple {24570#(<= ~counter~0 0)} ~cond := #in~cond; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,557 INFO L290 TraceCheckUtils]: 13: Hoare triple {24570#(<= ~counter~0 0)} assume !(0 == ~cond); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,558 INFO L290 TraceCheckUtils]: 14: Hoare triple {24570#(<= ~counter~0 0)} assume true; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,558 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {24570#(<= ~counter~0 0)} {24570#(<= ~counter~0 0)} #80#return; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,558 INFO L290 TraceCheckUtils]: 16: Hoare triple {24570#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,558 INFO L272 TraceCheckUtils]: 17: Hoare triple {24570#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,559 INFO L290 TraceCheckUtils]: 18: Hoare triple {24570#(<= ~counter~0 0)} ~cond := #in~cond; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,559 INFO L290 TraceCheckUtils]: 19: Hoare triple {24570#(<= ~counter~0 0)} assume !(0 == ~cond); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,559 INFO L290 TraceCheckUtils]: 20: Hoare triple {24570#(<= ~counter~0 0)} assume true; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,559 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {24570#(<= ~counter~0 0)} {24570#(<= ~counter~0 0)} #82#return; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,560 INFO L272 TraceCheckUtils]: 22: Hoare triple {24570#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,560 INFO L290 TraceCheckUtils]: 23: Hoare triple {24570#(<= ~counter~0 0)} ~cond := #in~cond; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,560 INFO L290 TraceCheckUtils]: 24: Hoare triple {24570#(<= ~counter~0 0)} assume !(0 == ~cond); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,560 INFO L290 TraceCheckUtils]: 25: Hoare triple {24570#(<= ~counter~0 0)} assume true; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,561 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {24570#(<= ~counter~0 0)} {24570#(<= ~counter~0 0)} #84#return; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:21:44,561 INFO L290 TraceCheckUtils]: 27: Hoare triple {24570#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24649#(<= ~counter~0 1)} is VALID [2022-04-28 12:21:44,562 INFO L290 TraceCheckUtils]: 28: Hoare triple {24649#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {24649#(<= ~counter~0 1)} is VALID [2022-04-28 12:21:44,562 INFO L290 TraceCheckUtils]: 29: Hoare triple {24649#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {24649#(<= ~counter~0 1)} is VALID [2022-04-28 12:21:44,562 INFO L290 TraceCheckUtils]: 30: Hoare triple {24649#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,563 INFO L290 TraceCheckUtils]: 31: Hoare triple {24659#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,563 INFO L272 TraceCheckUtils]: 32: Hoare triple {24659#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,563 INFO L290 TraceCheckUtils]: 33: Hoare triple {24659#(<= ~counter~0 2)} ~cond := #in~cond; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,563 INFO L290 TraceCheckUtils]: 34: Hoare triple {24659#(<= ~counter~0 2)} assume !(0 == ~cond); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,564 INFO L290 TraceCheckUtils]: 35: Hoare triple {24659#(<= ~counter~0 2)} assume true; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,564 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {24659#(<= ~counter~0 2)} {24659#(<= ~counter~0 2)} #86#return; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,564 INFO L272 TraceCheckUtils]: 37: Hoare triple {24659#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,565 INFO L290 TraceCheckUtils]: 38: Hoare triple {24659#(<= ~counter~0 2)} ~cond := #in~cond; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,565 INFO L290 TraceCheckUtils]: 39: Hoare triple {24659#(<= ~counter~0 2)} assume !(0 == ~cond); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,565 INFO L290 TraceCheckUtils]: 40: Hoare triple {24659#(<= ~counter~0 2)} assume true; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,565 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {24659#(<= ~counter~0 2)} {24659#(<= ~counter~0 2)} #88#return; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,566 INFO L272 TraceCheckUtils]: 42: Hoare triple {24659#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,566 INFO L290 TraceCheckUtils]: 43: Hoare triple {24659#(<= ~counter~0 2)} ~cond := #in~cond; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,566 INFO L290 TraceCheckUtils]: 44: Hoare triple {24659#(<= ~counter~0 2)} assume !(0 == ~cond); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,566 INFO L290 TraceCheckUtils]: 45: Hoare triple {24659#(<= ~counter~0 2)} assume true; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,567 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {24659#(<= ~counter~0 2)} {24659#(<= ~counter~0 2)} #90#return; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,567 INFO L272 TraceCheckUtils]: 47: Hoare triple {24659#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,567 INFO L290 TraceCheckUtils]: 48: Hoare triple {24659#(<= ~counter~0 2)} ~cond := #in~cond; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,568 INFO L290 TraceCheckUtils]: 49: Hoare triple {24659#(<= ~counter~0 2)} assume !(0 == ~cond); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,568 INFO L290 TraceCheckUtils]: 50: Hoare triple {24659#(<= ~counter~0 2)} assume true; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,568 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {24659#(<= ~counter~0 2)} {24659#(<= ~counter~0 2)} #92#return; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,569 INFO L290 TraceCheckUtils]: 52: Hoare triple {24659#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:21:44,569 INFO L290 TraceCheckUtils]: 53: Hoare triple {24659#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,569 INFO L290 TraceCheckUtils]: 54: Hoare triple {24729#(<= ~counter~0 3)} assume !!(#t~post7 < 20);havoc #t~post7; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,570 INFO L272 TraceCheckUtils]: 55: Hoare triple {24729#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,570 INFO L290 TraceCheckUtils]: 56: Hoare triple {24729#(<= ~counter~0 3)} ~cond := #in~cond; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,570 INFO L290 TraceCheckUtils]: 57: Hoare triple {24729#(<= ~counter~0 3)} assume !(0 == ~cond); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,570 INFO L290 TraceCheckUtils]: 58: Hoare triple {24729#(<= ~counter~0 3)} assume true; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,571 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {24729#(<= ~counter~0 3)} {24729#(<= ~counter~0 3)} #86#return; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,571 INFO L272 TraceCheckUtils]: 60: Hoare triple {24729#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,571 INFO L290 TraceCheckUtils]: 61: Hoare triple {24729#(<= ~counter~0 3)} ~cond := #in~cond; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,571 INFO L290 TraceCheckUtils]: 62: Hoare triple {24729#(<= ~counter~0 3)} assume !(0 == ~cond); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,572 INFO L290 TraceCheckUtils]: 63: Hoare triple {24729#(<= ~counter~0 3)} assume true; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,572 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {24729#(<= ~counter~0 3)} {24729#(<= ~counter~0 3)} #88#return; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,572 INFO L272 TraceCheckUtils]: 65: Hoare triple {24729#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,573 INFO L290 TraceCheckUtils]: 66: Hoare triple {24729#(<= ~counter~0 3)} ~cond := #in~cond; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,573 INFO L290 TraceCheckUtils]: 67: Hoare triple {24729#(<= ~counter~0 3)} assume !(0 == ~cond); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,573 INFO L290 TraceCheckUtils]: 68: Hoare triple {24729#(<= ~counter~0 3)} assume true; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,574 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {24729#(<= ~counter~0 3)} {24729#(<= ~counter~0 3)} #90#return; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,574 INFO L272 TraceCheckUtils]: 70: Hoare triple {24729#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,574 INFO L290 TraceCheckUtils]: 71: Hoare triple {24729#(<= ~counter~0 3)} ~cond := #in~cond; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,574 INFO L290 TraceCheckUtils]: 72: Hoare triple {24729#(<= ~counter~0 3)} assume !(0 == ~cond); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,575 INFO L290 TraceCheckUtils]: 73: Hoare triple {24729#(<= ~counter~0 3)} assume true; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,575 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {24729#(<= ~counter~0 3)} {24729#(<= ~counter~0 3)} #92#return; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,575 INFO L290 TraceCheckUtils]: 75: Hoare triple {24729#(<= ~counter~0 3)} assume !(~c~0 >= ~b~0); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,576 INFO L290 TraceCheckUtils]: 76: Hoare triple {24729#(<= ~counter~0 3)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:21:44,576 INFO L290 TraceCheckUtils]: 77: Hoare triple {24729#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24802#(<= ~counter~0 4)} is VALID [2022-04-28 12:21:44,576 INFO L290 TraceCheckUtils]: 78: Hoare triple {24802#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {24802#(<= ~counter~0 4)} is VALID [2022-04-28 12:21:44,576 INFO L290 TraceCheckUtils]: 79: Hoare triple {24802#(<= ~counter~0 4)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {24802#(<= ~counter~0 4)} is VALID [2022-04-28 12:21:44,577 INFO L290 TraceCheckUtils]: 80: Hoare triple {24802#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24812#(<= |main_#t~post7| 4)} is VALID [2022-04-28 12:21:44,577 INFO L290 TraceCheckUtils]: 81: Hoare triple {24812#(<= |main_#t~post7| 4)} assume !(#t~post7 < 20);havoc #t~post7; {24563#false} is VALID [2022-04-28 12:21:44,577 INFO L290 TraceCheckUtils]: 82: Hoare triple {24563#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {24563#false} is VALID [2022-04-28 12:21:44,577 INFO L290 TraceCheckUtils]: 83: Hoare triple {24563#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24563#false} is VALID [2022-04-28 12:21:44,577 INFO L290 TraceCheckUtils]: 84: Hoare triple {24563#false} assume !(#t~post6 < 20);havoc #t~post6; {24563#false} is VALID [2022-04-28 12:21:44,577 INFO L272 TraceCheckUtils]: 85: Hoare triple {24563#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {24563#false} is VALID [2022-04-28 12:21:44,577 INFO L290 TraceCheckUtils]: 86: Hoare triple {24563#false} ~cond := #in~cond; {24563#false} is VALID [2022-04-28 12:21:44,577 INFO L290 TraceCheckUtils]: 87: Hoare triple {24563#false} assume 0 == ~cond; {24563#false} is VALID [2022-04-28 12:21:44,577 INFO L290 TraceCheckUtils]: 88: Hoare triple {24563#false} assume !false; {24563#false} is VALID [2022-04-28 12:21:44,578 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 21 proven. 78 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2022-04-28 12:21:44,578 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:21:44,901 INFO L290 TraceCheckUtils]: 88: Hoare triple {24563#false} assume !false; {24563#false} is VALID [2022-04-28 12:21:44,901 INFO L290 TraceCheckUtils]: 87: Hoare triple {24563#false} assume 0 == ~cond; {24563#false} is VALID [2022-04-28 12:21:44,901 INFO L290 TraceCheckUtils]: 86: Hoare triple {24563#false} ~cond := #in~cond; {24563#false} is VALID [2022-04-28 12:21:44,901 INFO L272 TraceCheckUtils]: 85: Hoare triple {24563#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {24563#false} is VALID [2022-04-28 12:21:44,901 INFO L290 TraceCheckUtils]: 84: Hoare triple {24563#false} assume !(#t~post6 < 20);havoc #t~post6; {24563#false} is VALID [2022-04-28 12:21:44,902 INFO L290 TraceCheckUtils]: 83: Hoare triple {24563#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24563#false} is VALID [2022-04-28 12:21:44,902 INFO L290 TraceCheckUtils]: 82: Hoare triple {24563#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {24563#false} is VALID [2022-04-28 12:21:44,902 INFO L290 TraceCheckUtils]: 81: Hoare triple {24858#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {24563#false} is VALID [2022-04-28 12:21:44,902 INFO L290 TraceCheckUtils]: 80: Hoare triple {24862#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24858#(< |main_#t~post7| 20)} is VALID [2022-04-28 12:21:44,902 INFO L290 TraceCheckUtils]: 79: Hoare triple {24862#(< ~counter~0 20)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {24862#(< ~counter~0 20)} is VALID [2022-04-28 12:21:44,903 INFO L290 TraceCheckUtils]: 78: Hoare triple {24862#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {24862#(< ~counter~0 20)} is VALID [2022-04-28 12:21:44,903 INFO L290 TraceCheckUtils]: 77: Hoare triple {24872#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24862#(< ~counter~0 20)} is VALID [2022-04-28 12:21:44,904 INFO L290 TraceCheckUtils]: 76: Hoare triple {24872#(< ~counter~0 19)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {24872#(< ~counter~0 19)} is VALID [2022-04-28 12:21:44,904 INFO L290 TraceCheckUtils]: 75: Hoare triple {24872#(< ~counter~0 19)} assume !(~c~0 >= ~b~0); {24872#(< ~counter~0 19)} is VALID [2022-04-28 12:21:44,904 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {24562#true} {24872#(< ~counter~0 19)} #92#return; {24872#(< ~counter~0 19)} is VALID [2022-04-28 12:21:44,904 INFO L290 TraceCheckUtils]: 73: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:21:44,904 INFO L290 TraceCheckUtils]: 72: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:21:44,904 INFO L290 TraceCheckUtils]: 71: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:21:44,904 INFO L272 TraceCheckUtils]: 70: Hoare triple {24872#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:21:44,905 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {24562#true} {24872#(< ~counter~0 19)} #90#return; {24872#(< ~counter~0 19)} is VALID [2022-04-28 12:21:44,905 INFO L290 TraceCheckUtils]: 68: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:21:44,905 INFO L290 TraceCheckUtils]: 67: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:21:44,905 INFO L290 TraceCheckUtils]: 66: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:21:44,905 INFO L272 TraceCheckUtils]: 65: Hoare triple {24872#(< ~counter~0 19)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:21:44,905 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {24562#true} {24872#(< ~counter~0 19)} #88#return; {24872#(< ~counter~0 19)} is VALID [2022-04-28 12:21:44,906 INFO L290 TraceCheckUtils]: 63: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:21:44,906 INFO L290 TraceCheckUtils]: 62: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:21:44,906 INFO L290 TraceCheckUtils]: 61: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:21:44,906 INFO L272 TraceCheckUtils]: 60: Hoare triple {24872#(< ~counter~0 19)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:21:44,906 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {24562#true} {24872#(< ~counter~0 19)} #86#return; {24872#(< ~counter~0 19)} is VALID [2022-04-28 12:21:44,906 INFO L290 TraceCheckUtils]: 58: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:21:44,906 INFO L290 TraceCheckUtils]: 57: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:21:44,906 INFO L290 TraceCheckUtils]: 56: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:21:44,906 INFO L272 TraceCheckUtils]: 55: Hoare triple {24872#(< ~counter~0 19)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:21:44,906 INFO L290 TraceCheckUtils]: 54: Hoare triple {24872#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {24872#(< ~counter~0 19)} is VALID [2022-04-28 12:21:44,907 INFO L290 TraceCheckUtils]: 53: Hoare triple {24945#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24872#(< ~counter~0 19)} is VALID [2022-04-28 12:21:44,907 INFO L290 TraceCheckUtils]: 52: Hoare triple {24945#(< ~counter~0 18)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {24945#(< ~counter~0 18)} is VALID [2022-04-28 12:21:44,908 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {24562#true} {24945#(< ~counter~0 18)} #92#return; {24945#(< ~counter~0 18)} is VALID [2022-04-28 12:21:44,908 INFO L290 TraceCheckUtils]: 50: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:21:44,908 INFO L290 TraceCheckUtils]: 49: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:21:44,908 INFO L290 TraceCheckUtils]: 48: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:21:44,908 INFO L272 TraceCheckUtils]: 47: Hoare triple {24945#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:21:44,909 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {24562#true} {24945#(< ~counter~0 18)} #90#return; {24945#(< ~counter~0 18)} is VALID [2022-04-28 12:21:44,909 INFO L290 TraceCheckUtils]: 45: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:21:44,909 INFO L290 TraceCheckUtils]: 44: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:21:44,909 INFO L290 TraceCheckUtils]: 43: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:21:44,909 INFO L272 TraceCheckUtils]: 42: Hoare triple {24945#(< ~counter~0 18)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:21:44,909 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {24562#true} {24945#(< ~counter~0 18)} #88#return; {24945#(< ~counter~0 18)} is VALID [2022-04-28 12:21:44,909 INFO L290 TraceCheckUtils]: 40: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:21:44,909 INFO L290 TraceCheckUtils]: 39: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:21:44,909 INFO L290 TraceCheckUtils]: 38: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:21:44,909 INFO L272 TraceCheckUtils]: 37: Hoare triple {24945#(< ~counter~0 18)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:21:44,910 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {24562#true} {24945#(< ~counter~0 18)} #86#return; {24945#(< ~counter~0 18)} is VALID [2022-04-28 12:21:44,910 INFO L290 TraceCheckUtils]: 35: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:21:44,910 INFO L290 TraceCheckUtils]: 34: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:21:44,910 INFO L290 TraceCheckUtils]: 33: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:21:44,910 INFO L272 TraceCheckUtils]: 32: Hoare triple {24945#(< ~counter~0 18)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:21:44,910 INFO L290 TraceCheckUtils]: 31: Hoare triple {24945#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {24945#(< ~counter~0 18)} is VALID [2022-04-28 12:21:44,911 INFO L290 TraceCheckUtils]: 30: Hoare triple {25015#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24945#(< ~counter~0 18)} is VALID [2022-04-28 12:21:44,911 INFO L290 TraceCheckUtils]: 29: Hoare triple {25015#(< ~counter~0 17)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {25015#(< ~counter~0 17)} is VALID [2022-04-28 12:21:44,911 INFO L290 TraceCheckUtils]: 28: Hoare triple {25015#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {25015#(< ~counter~0 17)} is VALID [2022-04-28 12:21:44,912 INFO L290 TraceCheckUtils]: 27: Hoare triple {25025#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25015#(< ~counter~0 17)} is VALID [2022-04-28 12:21:44,912 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {24562#true} {25025#(< ~counter~0 16)} #84#return; {25025#(< ~counter~0 16)} is VALID [2022-04-28 12:21:44,912 INFO L290 TraceCheckUtils]: 25: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:21:44,912 INFO L290 TraceCheckUtils]: 24: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:21:44,912 INFO L290 TraceCheckUtils]: 23: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:21:44,912 INFO L272 TraceCheckUtils]: 22: Hoare triple {25025#(< ~counter~0 16)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:21:44,913 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {24562#true} {25025#(< ~counter~0 16)} #82#return; {25025#(< ~counter~0 16)} is VALID [2022-04-28 12:21:44,913 INFO L290 TraceCheckUtils]: 20: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:21:44,913 INFO L290 TraceCheckUtils]: 19: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:21:44,913 INFO L290 TraceCheckUtils]: 18: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:21:44,913 INFO L272 TraceCheckUtils]: 17: Hoare triple {25025#(< ~counter~0 16)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:21:44,913 INFO L290 TraceCheckUtils]: 16: Hoare triple {25025#(< ~counter~0 16)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {25025#(< ~counter~0 16)} is VALID [2022-04-28 12:21:44,913 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {24562#true} {25025#(< ~counter~0 16)} #80#return; {25025#(< ~counter~0 16)} is VALID [2022-04-28 12:21:44,913 INFO L290 TraceCheckUtils]: 14: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:21:44,914 INFO L290 TraceCheckUtils]: 13: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:21:44,914 INFO L290 TraceCheckUtils]: 12: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:21:44,914 INFO L272 TraceCheckUtils]: 11: Hoare triple {25025#(< ~counter~0 16)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:21:44,914 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24562#true} {25025#(< ~counter~0 16)} #78#return; {25025#(< ~counter~0 16)} is VALID [2022-04-28 12:21:44,914 INFO L290 TraceCheckUtils]: 9: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:21:44,914 INFO L290 TraceCheckUtils]: 8: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:21:44,914 INFO L290 TraceCheckUtils]: 7: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:21:44,914 INFO L272 TraceCheckUtils]: 6: Hoare triple {25025#(< ~counter~0 16)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:21:44,914 INFO L290 TraceCheckUtils]: 5: Hoare triple {25025#(< ~counter~0 16)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25025#(< ~counter~0 16)} is VALID [2022-04-28 12:21:44,915 INFO L272 TraceCheckUtils]: 4: Hoare triple {25025#(< ~counter~0 16)} call #t~ret8 := main(); {25025#(< ~counter~0 16)} is VALID [2022-04-28 12:21:44,915 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25025#(< ~counter~0 16)} {24562#true} #98#return; {25025#(< ~counter~0 16)} is VALID [2022-04-28 12:21:44,915 INFO L290 TraceCheckUtils]: 2: Hoare triple {25025#(< ~counter~0 16)} assume true; {25025#(< ~counter~0 16)} is VALID [2022-04-28 12:21:44,916 INFO L290 TraceCheckUtils]: 1: Hoare triple {24562#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {25025#(< ~counter~0 16)} is VALID [2022-04-28 12:21:44,916 INFO L272 TraceCheckUtils]: 0: Hoare triple {24562#true} call ULTIMATE.init(); {24562#true} is VALID [2022-04-28 12:21:44,916 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 21 proven. 14 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 12:21:44,916 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:21:44,916 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1354387439] [2022-04-28 12:21:44,916 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:21:44,916 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1454426410] [2022-04-28 12:21:44,916 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1454426410] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:21:44,916 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:21:44,916 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 12:21:44,916 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:21:44,917 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1277077284] [2022-04-28 12:21:44,917 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1277077284] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:21:44,917 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:21:44,917 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:21:44,917 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1167735376] [2022-04-28 12:21:44,917 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:21:44,917 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) Word has length 89 [2022-04-28 12:21:44,917 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:21:44,917 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:21:44,958 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:44,959 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:21:44,959 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:21:44,959 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:21:44,959 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:21:44,959 INFO L87 Difference]: Start difference. First operand 293 states and 404 transitions. Second operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:21:45,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:45,763 INFO L93 Difference]: Finished difference Result 463 states and 647 transitions. [2022-04-28 12:21:45,763 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:21:45,763 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) Word has length 89 [2022-04-28 12:21:45,763 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:21:45,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:21:45,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 133 transitions. [2022-04-28 12:21:45,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:21:45,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 133 transitions. [2022-04-28 12:21:45,765 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 133 transitions. [2022-04-28 12:21:45,866 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 133 edges. 133 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:45,872 INFO L225 Difference]: With dead ends: 463 [2022-04-28 12:21:45,872 INFO L226 Difference]: Without dead ends: 329 [2022-04-28 12:21:45,873 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 180 GetRequests, 165 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=107, Invalid=165, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:21:45,874 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 46 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 62 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 177 SdHoareTripleChecker+Invalid, 109 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 47 IncrementalHoareTripleChecker+Valid, 62 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:21:45,874 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 177 Invalid, 109 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [47 Valid, 62 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:21:45,878 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 329 states. [2022-04-28 12:21:46,385 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 329 to 327. [2022-04-28 12:21:46,386 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:21:46,386 INFO L82 GeneralOperation]: Start isEquivalent. First operand 329 states. Second operand has 327 states, 207 states have (on average 1.2367149758454106) internal successors, (256), 214 states have internal predecessors, (256), 90 states have call successors, (90), 30 states have call predecessors, (90), 29 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:21:46,387 INFO L74 IsIncluded]: Start isIncluded. First operand 329 states. Second operand has 327 states, 207 states have (on average 1.2367149758454106) internal successors, (256), 214 states have internal predecessors, (256), 90 states have call successors, (90), 30 states have call predecessors, (90), 29 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:21:46,395 INFO L87 Difference]: Start difference. First operand 329 states. Second operand has 327 states, 207 states have (on average 1.2367149758454106) internal successors, (256), 214 states have internal predecessors, (256), 90 states have call successors, (90), 30 states have call predecessors, (90), 29 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:21:46,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:46,402 INFO L93 Difference]: Finished difference Result 329 states and 435 transitions. [2022-04-28 12:21:46,402 INFO L276 IsEmpty]: Start isEmpty. Operand 329 states and 435 transitions. [2022-04-28 12:21:46,403 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:46,403 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:46,403 INFO L74 IsIncluded]: Start isIncluded. First operand has 327 states, 207 states have (on average 1.2367149758454106) internal successors, (256), 214 states have internal predecessors, (256), 90 states have call successors, (90), 30 states have call predecessors, (90), 29 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 329 states. [2022-04-28 12:21:46,403 INFO L87 Difference]: Start difference. First operand has 327 states, 207 states have (on average 1.2367149758454106) internal successors, (256), 214 states have internal predecessors, (256), 90 states have call successors, (90), 30 states have call predecessors, (90), 29 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 329 states. [2022-04-28 12:21:46,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:46,409 INFO L93 Difference]: Finished difference Result 329 states and 435 transitions. [2022-04-28 12:21:46,409 INFO L276 IsEmpty]: Start isEmpty. Operand 329 states and 435 transitions. [2022-04-28 12:21:46,410 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:46,410 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:46,410 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:21:46,410 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:21:46,410 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 327 states, 207 states have (on average 1.2367149758454106) internal successors, (256), 214 states have internal predecessors, (256), 90 states have call successors, (90), 30 states have call predecessors, (90), 29 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:21:46,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 327 states to 327 states and 433 transitions. [2022-04-28 12:21:46,417 INFO L78 Accepts]: Start accepts. Automaton has 327 states and 433 transitions. Word has length 89 [2022-04-28 12:21:46,418 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:21:46,418 INFO L495 AbstractCegarLoop]: Abstraction has 327 states and 433 transitions. [2022-04-28 12:21:46,418 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:21:46,418 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 327 states and 433 transitions. [2022-04-28 12:21:46,971 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 433 edges. 433 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:46,971 INFO L276 IsEmpty]: Start isEmpty. Operand 327 states and 433 transitions. [2022-04-28 12:21:46,971 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 102 [2022-04-28 12:21:46,972 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:21:46,972 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:21:46,991 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 12:21:47,172 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 12:21:47,172 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:21:47,172 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:21:47,172 INFO L85 PathProgramCache]: Analyzing trace with hash 1415088729, now seen corresponding path program 1 times [2022-04-28 12:21:47,173 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:21:47,173 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1606401414] [2022-04-28 12:21:47,173 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:21:47,173 INFO L85 PathProgramCache]: Analyzing trace with hash 1415088729, now seen corresponding path program 2 times [2022-04-28 12:21:47,173 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:21:47,173 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1530910054] [2022-04-28 12:21:47,173 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:21:47,173 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:21:47,186 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:21:47,187 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2143829973] [2022-04-28 12:21:47,187 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:21:47,187 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:21:47,187 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:21:47,200 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 12:21:47,201 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 12:21:47,258 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:21:47,258 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:21:47,260 INFO L263 TraceCheckSpWp]: Trace formula consists of 274 conjuncts, 64 conjunts are in the unsatisfiable core [2022-04-28 12:21:47,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:21:47,279 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:21:51,292 INFO L272 TraceCheckUtils]: 0: Hoare triple {27353#true} call ULTIMATE.init(); {27353#true} is VALID [2022-04-28 12:21:51,292 INFO L290 TraceCheckUtils]: 1: Hoare triple {27353#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {27353#true} is VALID [2022-04-28 12:21:51,292 INFO L290 TraceCheckUtils]: 2: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:21:51,292 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27353#true} {27353#true} #98#return; {27353#true} is VALID [2022-04-28 12:21:51,292 INFO L272 TraceCheckUtils]: 4: Hoare triple {27353#true} call #t~ret8 := main(); {27353#true} is VALID [2022-04-28 12:21:51,292 INFO L290 TraceCheckUtils]: 5: Hoare triple {27353#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27353#true} is VALID [2022-04-28 12:21:51,292 INFO L272 TraceCheckUtils]: 6: Hoare triple {27353#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:21:51,292 INFO L290 TraceCheckUtils]: 7: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:21:51,292 INFO L290 TraceCheckUtils]: 8: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:21:51,293 INFO L290 TraceCheckUtils]: 9: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:21:51,293 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27353#true} {27353#true} #78#return; {27353#true} is VALID [2022-04-28 12:21:51,293 INFO L272 TraceCheckUtils]: 11: Hoare triple {27353#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:21:51,293 INFO L290 TraceCheckUtils]: 12: Hoare triple {27353#true} ~cond := #in~cond; {27394#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:21:51,293 INFO L290 TraceCheckUtils]: 13: Hoare triple {27394#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {27398#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:21:51,293 INFO L290 TraceCheckUtils]: 14: Hoare triple {27398#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {27398#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:21:51,294 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27398#(not (= |assume_abort_if_not_#in~cond| 0))} {27353#true} #80#return; {27405#(<= 1 main_~y~0)} is VALID [2022-04-28 12:21:51,294 INFO L290 TraceCheckUtils]: 16: Hoare triple {27405#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:21:51,294 INFO L272 TraceCheckUtils]: 17: Hoare triple {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:21:51,294 INFO L290 TraceCheckUtils]: 18: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:21:51,294 INFO L290 TraceCheckUtils]: 19: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:21:51,294 INFO L290 TraceCheckUtils]: 20: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:21:51,295 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {27353#true} {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #82#return; {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:21:51,295 INFO L272 TraceCheckUtils]: 22: Hoare triple {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:21:51,295 INFO L290 TraceCheckUtils]: 23: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:21:51,295 INFO L290 TraceCheckUtils]: 24: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:21:51,295 INFO L290 TraceCheckUtils]: 25: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:21:51,296 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {27353#true} {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #84#return; {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:21:51,296 INFO L290 TraceCheckUtils]: 27: Hoare triple {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:21:51,297 INFO L290 TraceCheckUtils]: 28: Hoare triple {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 20);havoc #t~post6; {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:21:51,297 INFO L290 TraceCheckUtils]: 29: Hoare triple {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:21:51,297 INFO L290 TraceCheckUtils]: 30: Hoare triple {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:21:51,298 INFO L290 TraceCheckUtils]: 31: Hoare triple {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(#t~post7 < 20);havoc #t~post7; {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:21:51,298 INFO L272 TraceCheckUtils]: 32: Hoare triple {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:21:51,298 INFO L290 TraceCheckUtils]: 33: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:21:51,298 INFO L290 TraceCheckUtils]: 34: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:21:51,298 INFO L290 TraceCheckUtils]: 35: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:21:51,299 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {27353#true} {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #86#return; {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:21:51,299 INFO L272 TraceCheckUtils]: 37: Hoare triple {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:21:51,299 INFO L290 TraceCheckUtils]: 38: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:21:51,299 INFO L290 TraceCheckUtils]: 39: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:21:51,299 INFO L290 TraceCheckUtils]: 40: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:21:51,299 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {27353#true} {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #88#return; {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:21:51,300 INFO L272 TraceCheckUtils]: 42: Hoare triple {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:21:51,300 INFO L290 TraceCheckUtils]: 43: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:21:51,300 INFO L290 TraceCheckUtils]: 44: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:21:51,300 INFO L290 TraceCheckUtils]: 45: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:21:51,300 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {27353#true} {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #90#return; {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:21:51,300 INFO L272 TraceCheckUtils]: 47: Hoare triple {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:21:51,300 INFO L290 TraceCheckUtils]: 48: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:21:51,300 INFO L290 TraceCheckUtils]: 49: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:21:51,301 INFO L290 TraceCheckUtils]: 50: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:21:51,301 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {27353#true} {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #92#return; {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:21:51,302 INFO L290 TraceCheckUtils]: 52: Hoare triple {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {27519#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:21:51,303 INFO L290 TraceCheckUtils]: 53: Hoare triple {27519#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {27519#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:21:51,303 INFO L290 TraceCheckUtils]: 54: Hoare triple {27519#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(#t~post7 < 20);havoc #t~post7; {27519#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:21:51,303 INFO L272 TraceCheckUtils]: 55: Hoare triple {27519#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:21:51,304 INFO L290 TraceCheckUtils]: 56: Hoare triple {27353#true} ~cond := #in~cond; {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:51,304 INFO L290 TraceCheckUtils]: 57: Hoare triple {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:51,304 INFO L290 TraceCheckUtils]: 58: Hoare triple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:51,306 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} {27519#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #86#return; {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:21:51,306 INFO L272 TraceCheckUtils]: 60: Hoare triple {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:21:51,306 INFO L290 TraceCheckUtils]: 61: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:21:51,306 INFO L290 TraceCheckUtils]: 62: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:21:51,306 INFO L290 TraceCheckUtils]: 63: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:21:51,307 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {27353#true} {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:21:51,307 INFO L272 TraceCheckUtils]: 65: Hoare triple {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:21:51,307 INFO L290 TraceCheckUtils]: 66: Hoare triple {27353#true} ~cond := #in~cond; {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:51,307 INFO L290 TraceCheckUtils]: 67: Hoare triple {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:51,308 INFO L290 TraceCheckUtils]: 68: Hoare triple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:51,309 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:21:51,309 INFO L272 TraceCheckUtils]: 70: Hoare triple {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:21:51,309 INFO L290 TraceCheckUtils]: 71: Hoare triple {27353#true} ~cond := #in~cond; {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:51,309 INFO L290 TraceCheckUtils]: 72: Hoare triple {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:51,309 INFO L290 TraceCheckUtils]: 73: Hoare triple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:51,310 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #92#return; {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:21:51,311 INFO L290 TraceCheckUtils]: 75: Hoare triple {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {27592#(and (= main_~r~0 0) (<= main_~y~0 (+ main_~c~0 (* main_~k~0 main_~y~0))) (< main_~c~0 main_~y~0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 (* main_~k~0 main_~y~0))))} is VALID [2022-04-28 12:21:51,312 INFO L290 TraceCheckUtils]: 76: Hoare triple {27592#(and (= main_~r~0 0) (<= main_~y~0 (+ main_~c~0 (* main_~k~0 main_~y~0))) (< main_~c~0 main_~y~0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 (* main_~k~0 main_~y~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:21:51,312 INFO L290 TraceCheckUtils]: 77: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:21:51,312 INFO L290 TraceCheckUtils]: 78: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} assume !!(#t~post6 < 20);havoc #t~post6; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:21:51,313 INFO L290 TraceCheckUtils]: 79: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:21:51,313 INFO L290 TraceCheckUtils]: 80: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:21:51,314 INFO L290 TraceCheckUtils]: 81: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} assume !!(#t~post7 < 20);havoc #t~post7; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:21:51,314 INFO L272 TraceCheckUtils]: 82: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:21:51,314 INFO L290 TraceCheckUtils]: 83: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:21:51,314 INFO L290 TraceCheckUtils]: 84: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:21:51,314 INFO L290 TraceCheckUtils]: 85: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:21:51,314 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {27353#true} {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} #86#return; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:21:51,314 INFO L272 TraceCheckUtils]: 87: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:21:51,315 INFO L290 TraceCheckUtils]: 88: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:21:51,315 INFO L290 TraceCheckUtils]: 89: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:21:51,315 INFO L290 TraceCheckUtils]: 90: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:21:51,315 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {27353#true} {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} #88#return; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:21:51,315 INFO L272 TraceCheckUtils]: 92: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:21:51,315 INFO L290 TraceCheckUtils]: 93: Hoare triple {27353#true} ~cond := #in~cond; {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:51,316 INFO L290 TraceCheckUtils]: 94: Hoare triple {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:51,316 INFO L290 TraceCheckUtils]: 95: Hoare triple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:51,317 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} #90#return; {27657#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:21:51,319 INFO L272 TraceCheckUtils]: 97: Hoare triple {27657#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {27661#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:21:51,319 INFO L290 TraceCheckUtils]: 98: Hoare triple {27661#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27665#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:51,319 INFO L290 TraceCheckUtils]: 99: Hoare triple {27665#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27354#false} is VALID [2022-04-28 12:21:51,319 INFO L290 TraceCheckUtils]: 100: Hoare triple {27354#false} assume !false; {27354#false} is VALID [2022-04-28 12:21:51,320 INFO L134 CoverageAnalysis]: Checked inductivity of 288 backedges. 84 proven. 53 refuted. 0 times theorem prover too weak. 151 trivial. 0 not checked. [2022-04-28 12:21:51,320 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:22:17,093 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:22:47,714 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:22:47,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1530910054] [2022-04-28 12:22:47,715 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:22:47,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2143829973] [2022-04-28 12:22:47,715 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2143829973] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:22:47,715 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:22:47,715 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-28 12:22:47,715 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:22:47,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1606401414] [2022-04-28 12:22:47,715 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1606401414] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:22:47,715 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:22:47,715 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 12:22:47,715 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1675662176] [2022-04-28 12:22:47,715 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:22:47,716 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 101 [2022-04-28 12:22:47,716 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:22:47,716 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:22:47,791 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 12:22:47,791 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 12:22:47,791 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:47,791 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 12:22:47,791 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=369, Unknown=0, NotChecked=0, Total=462 [2022-04-28 12:22:47,792 INFO L87 Difference]: Start difference. First operand 327 states and 433 transitions. Second operand has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:23:03,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:03,882 INFO L93 Difference]: Finished difference Result 339 states and 443 transitions. [2022-04-28 12:23:03,882 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 12:23:03,882 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 101 [2022-04-28 12:23:03,882 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:23:03,882 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:23:03,883 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 118 transitions. [2022-04-28 12:23:03,884 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:23:03,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 118 transitions. [2022-04-28 12:23:03,885 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 118 transitions. [2022-04-28 12:23:04,016 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 12:23:04,022 INFO L225 Difference]: With dead ends: 339 [2022-04-28 12:23:04,022 INFO L226 Difference]: Without dead ends: 337 [2022-04-28 12:23:04,022 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 106 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 145 ImplicationChecksByTransitivity, 4.4s TimeCoverageRelationStatistics Valid=122, Invalid=528, Unknown=0, NotChecked=0, Total=650 [2022-04-28 12:23:04,023 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 49 mSDsluCounter, 289 mSDsCounter, 0 mSdLazyCounter, 745 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 66 SdHoareTripleChecker+Valid, 337 SdHoareTripleChecker+Invalid, 774 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 745 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.8s IncrementalHoareTripleChecker+Time [2022-04-28 12:23:04,023 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [66 Valid, 337 Invalid, 774 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 745 Invalid, 0 Unknown, 0 Unchecked, 4.8s Time] [2022-04-28 12:23:04,023 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 337 states. [2022-04-28 12:23:04,643 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 337 to 335. [2022-04-28 12:23:04,643 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:23:04,644 INFO L82 GeneralOperation]: Start isEquivalent. First operand 337 states. Second operand has 335 states, 213 states have (on average 1.2300469483568075) internal successors, (262), 220 states have internal predecessors, (262), 90 states have call successors, (90), 32 states have call predecessors, (90), 31 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:23:04,644 INFO L74 IsIncluded]: Start isIncluded. First operand 337 states. Second operand has 335 states, 213 states have (on average 1.2300469483568075) internal successors, (262), 220 states have internal predecessors, (262), 90 states have call successors, (90), 32 states have call predecessors, (90), 31 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:23:04,645 INFO L87 Difference]: Start difference. First operand 337 states. Second operand has 335 states, 213 states have (on average 1.2300469483568075) internal successors, (262), 220 states have internal predecessors, (262), 90 states have call successors, (90), 32 states have call predecessors, (90), 31 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:23:04,650 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:04,650 INFO L93 Difference]: Finished difference Result 337 states and 441 transitions. [2022-04-28 12:23:04,650 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 441 transitions. [2022-04-28 12:23:04,658 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:23:04,658 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:23:04,659 INFO L74 IsIncluded]: Start isIncluded. First operand has 335 states, 213 states have (on average 1.2300469483568075) internal successors, (262), 220 states have internal predecessors, (262), 90 states have call successors, (90), 32 states have call predecessors, (90), 31 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 337 states. [2022-04-28 12:23:04,659 INFO L87 Difference]: Start difference. First operand has 335 states, 213 states have (on average 1.2300469483568075) internal successors, (262), 220 states have internal predecessors, (262), 90 states have call successors, (90), 32 states have call predecessors, (90), 31 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 337 states. [2022-04-28 12:23:04,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:04,665 INFO L93 Difference]: Finished difference Result 337 states and 441 transitions. [2022-04-28 12:23:04,665 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 441 transitions. [2022-04-28 12:23:04,665 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:23:04,665 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:23:04,665 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:23:04,665 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:23:04,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 335 states, 213 states have (on average 1.2300469483568075) internal successors, (262), 220 states have internal predecessors, (262), 90 states have call successors, (90), 32 states have call predecessors, (90), 31 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:23:04,672 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 335 states to 335 states and 439 transitions. [2022-04-28 12:23:04,672 INFO L78 Accepts]: Start accepts. Automaton has 335 states and 439 transitions. Word has length 101 [2022-04-28 12:23:04,672 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:23:04,672 INFO L495 AbstractCegarLoop]: Abstraction has 335 states and 439 transitions. [2022-04-28 12:23:04,673 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:23:04,673 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 335 states and 439 transitions. [2022-04-28 12:23:05,243 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 439 edges. 439 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:23:05,244 INFO L276 IsEmpty]: Start isEmpty. Operand 335 states and 439 transitions. [2022-04-28 12:23:05,244 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-28 12:23:05,244 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:23:05,245 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:23:05,261 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-28 12:23:05,445 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:23:05,445 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:23:05,445 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:23:05,446 INFO L85 PathProgramCache]: Analyzing trace with hash -1524088572, now seen corresponding path program 5 times [2022-04-28 12:23:05,446 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:23:05,446 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2086862586] [2022-04-28 12:23:05,446 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:23:05,446 INFO L85 PathProgramCache]: Analyzing trace with hash -1524088572, now seen corresponding path program 6 times [2022-04-28 12:23:05,446 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:23:05,446 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [256470860] [2022-04-28 12:23:05,446 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:23:05,446 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:23:05,463 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:23:05,463 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1365925975] [2022-04-28 12:23:05,463 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:23:05,463 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:23:05,464 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:23:05,464 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:23:05,465 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-28 12:23:05,537 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 12:23:05,538 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:23:05,539 INFO L263 TraceCheckSpWp]: Trace formula consists of 273 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 12:23:05,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:23:05,552 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:23:05,779 INFO L272 TraceCheckUtils]: 0: Hoare triple {29788#true} call ULTIMATE.init(); {29788#true} is VALID [2022-04-28 12:23:05,779 INFO L290 TraceCheckUtils]: 1: Hoare triple {29788#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {29788#true} is VALID [2022-04-28 12:23:05,779 INFO L290 TraceCheckUtils]: 2: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29788#true} {29788#true} #98#return; {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L272 TraceCheckUtils]: 4: Hoare triple {29788#true} call #t~ret8 := main(); {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L290 TraceCheckUtils]: 5: Hoare triple {29788#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L272 TraceCheckUtils]: 6: Hoare triple {29788#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L290 TraceCheckUtils]: 7: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L290 TraceCheckUtils]: 8: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L290 TraceCheckUtils]: 9: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29788#true} {29788#true} #78#return; {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L272 TraceCheckUtils]: 11: Hoare triple {29788#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L290 TraceCheckUtils]: 12: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L290 TraceCheckUtils]: 13: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L290 TraceCheckUtils]: 14: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29788#true} {29788#true} #80#return; {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L290 TraceCheckUtils]: 16: Hoare triple {29788#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L272 TraceCheckUtils]: 17: Hoare triple {29788#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L290 TraceCheckUtils]: 18: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L290 TraceCheckUtils]: 19: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L290 TraceCheckUtils]: 20: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {29788#true} {29788#true} #82#return; {29788#true} is VALID [2022-04-28 12:23:05,780 INFO L272 TraceCheckUtils]: 22: Hoare triple {29788#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L290 TraceCheckUtils]: 23: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L290 TraceCheckUtils]: 24: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L290 TraceCheckUtils]: 25: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {29788#true} {29788#true} #84#return; {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L290 TraceCheckUtils]: 27: Hoare triple {29788#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L290 TraceCheckUtils]: 28: Hoare triple {29788#true} assume !!(#t~post6 < 20);havoc #t~post6; {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L290 TraceCheckUtils]: 29: Hoare triple {29788#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L290 TraceCheckUtils]: 30: Hoare triple {29788#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L290 TraceCheckUtils]: 31: Hoare triple {29788#true} assume !!(#t~post7 < 20);havoc #t~post7; {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L272 TraceCheckUtils]: 32: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L290 TraceCheckUtils]: 33: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L290 TraceCheckUtils]: 34: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L290 TraceCheckUtils]: 35: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {29788#true} {29788#true} #86#return; {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L272 TraceCheckUtils]: 37: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L290 TraceCheckUtils]: 38: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L290 TraceCheckUtils]: 39: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L290 TraceCheckUtils]: 40: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {29788#true} {29788#true} #88#return; {29788#true} is VALID [2022-04-28 12:23:05,781 INFO L272 TraceCheckUtils]: 42: Hoare triple {29788#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:05,782 INFO L290 TraceCheckUtils]: 43: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:05,782 INFO L290 TraceCheckUtils]: 44: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:05,782 INFO L290 TraceCheckUtils]: 45: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:05,782 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {29788#true} {29788#true} #90#return; {29788#true} is VALID [2022-04-28 12:23:05,782 INFO L272 TraceCheckUtils]: 47: Hoare triple {29788#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:05,782 INFO L290 TraceCheckUtils]: 48: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:05,782 INFO L290 TraceCheckUtils]: 49: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:05,782 INFO L290 TraceCheckUtils]: 50: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:05,782 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {29788#true} {29788#true} #92#return; {29788#true} is VALID [2022-04-28 12:23:05,782 INFO L290 TraceCheckUtils]: 52: Hoare triple {29788#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {29788#true} is VALID [2022-04-28 12:23:05,782 INFO L290 TraceCheckUtils]: 53: Hoare triple {29788#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29788#true} is VALID [2022-04-28 12:23:05,782 INFO L290 TraceCheckUtils]: 54: Hoare triple {29788#true} assume !!(#t~post7 < 20);havoc #t~post7; {29788#true} is VALID [2022-04-28 12:23:05,782 INFO L272 TraceCheckUtils]: 55: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:05,782 INFO L290 TraceCheckUtils]: 56: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:05,782 INFO L290 TraceCheckUtils]: 57: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:05,782 INFO L290 TraceCheckUtils]: 58: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:05,782 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {29788#true} {29788#true} #86#return; {29788#true} is VALID [2022-04-28 12:23:05,782 INFO L272 TraceCheckUtils]: 60: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:05,782 INFO L290 TraceCheckUtils]: 61: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:05,783 INFO L290 TraceCheckUtils]: 62: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:05,783 INFO L290 TraceCheckUtils]: 63: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:05,783 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {29788#true} {29788#true} #88#return; {29788#true} is VALID [2022-04-28 12:23:05,783 INFO L272 TraceCheckUtils]: 65: Hoare triple {29788#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:05,783 INFO L290 TraceCheckUtils]: 66: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:05,783 INFO L290 TraceCheckUtils]: 67: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:05,783 INFO L290 TraceCheckUtils]: 68: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:05,783 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {29788#true} {29788#true} #90#return; {29788#true} is VALID [2022-04-28 12:23:05,783 INFO L272 TraceCheckUtils]: 70: Hoare triple {29788#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:05,783 INFO L290 TraceCheckUtils]: 71: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:05,783 INFO L290 TraceCheckUtils]: 72: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:05,783 INFO L290 TraceCheckUtils]: 73: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:05,783 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {29788#true} {29788#true} #92#return; {29788#true} is VALID [2022-04-28 12:23:05,783 INFO L290 TraceCheckUtils]: 75: Hoare triple {29788#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {29788#true} is VALID [2022-04-28 12:23:05,783 INFO L290 TraceCheckUtils]: 76: Hoare triple {29788#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29788#true} is VALID [2022-04-28 12:23:05,783 INFO L290 TraceCheckUtils]: 77: Hoare triple {29788#true} assume !!(#t~post7 < 20);havoc #t~post7; {29788#true} is VALID [2022-04-28 12:23:05,783 INFO L272 TraceCheckUtils]: 78: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:05,784 INFO L290 TraceCheckUtils]: 79: Hoare triple {29788#true} ~cond := #in~cond; {30030#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:23:05,784 INFO L290 TraceCheckUtils]: 80: Hoare triple {30030#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:05,784 INFO L290 TraceCheckUtils]: 81: Hoare triple {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:05,785 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} {29788#true} #86#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:23:05,785 INFO L272 TraceCheckUtils]: 83: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:05,785 INFO L290 TraceCheckUtils]: 84: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:05,785 INFO L290 TraceCheckUtils]: 85: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:05,785 INFO L290 TraceCheckUtils]: 86: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:05,785 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {29788#true} {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #88#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:23:05,785 INFO L272 TraceCheckUtils]: 88: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:05,785 INFO L290 TraceCheckUtils]: 89: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:05,785 INFO L290 TraceCheckUtils]: 90: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:05,786 INFO L290 TraceCheckUtils]: 91: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:05,786 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {29788#true} {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #90#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:23:05,786 INFO L272 TraceCheckUtils]: 93: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:05,786 INFO L290 TraceCheckUtils]: 94: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:05,786 INFO L290 TraceCheckUtils]: 95: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:05,786 INFO L290 TraceCheckUtils]: 96: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:05,787 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {29788#true} {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #92#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:23:05,789 INFO L290 TraceCheckUtils]: 98: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:23:05,789 INFO L290 TraceCheckUtils]: 99: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:23:05,789 INFO L290 TraceCheckUtils]: 100: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(#t~post7 < 20);havoc #t~post7; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:23:05,790 INFO L272 TraceCheckUtils]: 101: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {30099#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:23:05,790 INFO L290 TraceCheckUtils]: 102: Hoare triple {30099#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {30103#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:23:05,790 INFO L290 TraceCheckUtils]: 103: Hoare triple {30103#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29789#false} is VALID [2022-04-28 12:23:05,791 INFO L290 TraceCheckUtils]: 104: Hoare triple {29789#false} assume !false; {29789#false} is VALID [2022-04-28 12:23:05,791 INFO L134 CoverageAnalysis]: Checked inductivity of 342 backedges. 64 proven. 10 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-28 12:23:05,791 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:23:15,225 INFO L290 TraceCheckUtils]: 104: Hoare triple {29789#false} assume !false; {29789#false} is VALID [2022-04-28 12:23:15,225 INFO L290 TraceCheckUtils]: 103: Hoare triple {30103#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29789#false} is VALID [2022-04-28 12:23:15,225 INFO L290 TraceCheckUtils]: 102: Hoare triple {30099#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {30103#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:23:15,226 INFO L272 TraceCheckUtils]: 101: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {30099#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:23:15,226 INFO L290 TraceCheckUtils]: 100: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(#t~post7 < 20);havoc #t~post7; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:23:15,227 INFO L290 TraceCheckUtils]: 99: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:23:15,229 INFO L290 TraceCheckUtils]: 98: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:23:15,230 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {29788#true} {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #92#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:23:15,230 INFO L290 TraceCheckUtils]: 96: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:15,230 INFO L290 TraceCheckUtils]: 95: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:15,230 INFO L290 TraceCheckUtils]: 94: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:15,230 INFO L272 TraceCheckUtils]: 93: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:15,230 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {29788#true} {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #90#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:23:15,230 INFO L290 TraceCheckUtils]: 91: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:15,231 INFO L290 TraceCheckUtils]: 90: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:15,231 INFO L290 TraceCheckUtils]: 89: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:15,231 INFO L272 TraceCheckUtils]: 88: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:15,231 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {29788#true} {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #88#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:23:15,231 INFO L290 TraceCheckUtils]: 86: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:15,231 INFO L290 TraceCheckUtils]: 85: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:15,231 INFO L290 TraceCheckUtils]: 84: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:15,231 INFO L272 TraceCheckUtils]: 83: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:15,232 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} {29788#true} #86#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:23:15,232 INFO L290 TraceCheckUtils]: 81: Hoare triple {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:15,233 INFO L290 TraceCheckUtils]: 80: Hoare triple {30185#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:15,233 INFO L290 TraceCheckUtils]: 79: Hoare triple {29788#true} ~cond := #in~cond; {30185#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:23:15,233 INFO L272 TraceCheckUtils]: 78: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:15,233 INFO L290 TraceCheckUtils]: 77: Hoare triple {29788#true} assume !!(#t~post7 < 20);havoc #t~post7; {29788#true} is VALID [2022-04-28 12:23:15,233 INFO L290 TraceCheckUtils]: 76: Hoare triple {29788#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29788#true} is VALID [2022-04-28 12:23:15,233 INFO L290 TraceCheckUtils]: 75: Hoare triple {29788#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {29788#true} is VALID [2022-04-28 12:23:15,233 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {29788#true} {29788#true} #92#return; {29788#true} is VALID [2022-04-28 12:23:15,233 INFO L290 TraceCheckUtils]: 73: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:15,233 INFO L290 TraceCheckUtils]: 72: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L290 TraceCheckUtils]: 71: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L272 TraceCheckUtils]: 70: Hoare triple {29788#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {29788#true} {29788#true} #90#return; {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L290 TraceCheckUtils]: 68: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L290 TraceCheckUtils]: 67: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L290 TraceCheckUtils]: 66: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L272 TraceCheckUtils]: 65: Hoare triple {29788#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {29788#true} {29788#true} #88#return; {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L290 TraceCheckUtils]: 63: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L290 TraceCheckUtils]: 62: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L290 TraceCheckUtils]: 61: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L272 TraceCheckUtils]: 60: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {29788#true} {29788#true} #86#return; {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L290 TraceCheckUtils]: 58: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L290 TraceCheckUtils]: 57: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L290 TraceCheckUtils]: 56: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L272 TraceCheckUtils]: 55: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L290 TraceCheckUtils]: 54: Hoare triple {29788#true} assume !!(#t~post7 < 20);havoc #t~post7; {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L290 TraceCheckUtils]: 53: Hoare triple {29788#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29788#true} is VALID [2022-04-28 12:23:15,234 INFO L290 TraceCheckUtils]: 52: Hoare triple {29788#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {29788#true} is VALID [2022-04-28 12:23:15,235 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {29788#true} {29788#true} #92#return; {29788#true} is VALID [2022-04-28 12:23:15,235 INFO L290 TraceCheckUtils]: 50: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:15,235 INFO L290 TraceCheckUtils]: 49: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:15,235 INFO L290 TraceCheckUtils]: 48: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:15,235 INFO L272 TraceCheckUtils]: 47: Hoare triple {29788#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:15,235 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {29788#true} {29788#true} #90#return; {29788#true} is VALID [2022-04-28 12:23:15,235 INFO L290 TraceCheckUtils]: 45: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:15,235 INFO L290 TraceCheckUtils]: 44: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:15,235 INFO L290 TraceCheckUtils]: 43: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:15,235 INFO L272 TraceCheckUtils]: 42: Hoare triple {29788#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:15,235 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {29788#true} {29788#true} #88#return; {29788#true} is VALID [2022-04-28 12:23:15,235 INFO L290 TraceCheckUtils]: 40: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:15,235 INFO L290 TraceCheckUtils]: 39: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:15,235 INFO L290 TraceCheckUtils]: 38: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:15,235 INFO L272 TraceCheckUtils]: 37: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:15,235 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {29788#true} {29788#true} #86#return; {29788#true} is VALID [2022-04-28 12:23:15,235 INFO L290 TraceCheckUtils]: 35: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:15,235 INFO L290 TraceCheckUtils]: 34: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:15,235 INFO L290 TraceCheckUtils]: 33: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L272 TraceCheckUtils]: 32: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L290 TraceCheckUtils]: 31: Hoare triple {29788#true} assume !!(#t~post7 < 20);havoc #t~post7; {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L290 TraceCheckUtils]: 30: Hoare triple {29788#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L290 TraceCheckUtils]: 29: Hoare triple {29788#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L290 TraceCheckUtils]: 28: Hoare triple {29788#true} assume !!(#t~post6 < 20);havoc #t~post6; {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L290 TraceCheckUtils]: 27: Hoare triple {29788#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {29788#true} {29788#true} #84#return; {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L290 TraceCheckUtils]: 25: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L290 TraceCheckUtils]: 24: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L290 TraceCheckUtils]: 23: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L272 TraceCheckUtils]: 22: Hoare triple {29788#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {29788#true} {29788#true} #82#return; {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L290 TraceCheckUtils]: 19: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L290 TraceCheckUtils]: 18: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L272 TraceCheckUtils]: 17: Hoare triple {29788#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L290 TraceCheckUtils]: 16: Hoare triple {29788#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29788#true} {29788#true} #80#return; {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L290 TraceCheckUtils]: 14: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:15,236 INFO L290 TraceCheckUtils]: 13: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:15,237 INFO L290 TraceCheckUtils]: 12: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:15,237 INFO L272 TraceCheckUtils]: 11: Hoare triple {29788#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:15,237 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29788#true} {29788#true} #78#return; {29788#true} is VALID [2022-04-28 12:23:15,237 INFO L290 TraceCheckUtils]: 9: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:15,237 INFO L290 TraceCheckUtils]: 8: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:23:15,237 INFO L290 TraceCheckUtils]: 7: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:23:15,237 INFO L272 TraceCheckUtils]: 6: Hoare triple {29788#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:23:15,237 INFO L290 TraceCheckUtils]: 5: Hoare triple {29788#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {29788#true} is VALID [2022-04-28 12:23:15,237 INFO L272 TraceCheckUtils]: 4: Hoare triple {29788#true} call #t~ret8 := main(); {29788#true} is VALID [2022-04-28 12:23:15,237 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29788#true} {29788#true} #98#return; {29788#true} is VALID [2022-04-28 12:23:15,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:23:15,237 INFO L290 TraceCheckUtils]: 1: Hoare triple {29788#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {29788#true} is VALID [2022-04-28 12:23:15,237 INFO L272 TraceCheckUtils]: 0: Hoare triple {29788#true} call ULTIMATE.init(); {29788#true} is VALID [2022-04-28 12:23:15,237 INFO L134 CoverageAnalysis]: Checked inductivity of 342 backedges. 64 proven. 10 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-28 12:23:15,238 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:23:15,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [256470860] [2022-04-28 12:23:15,238 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:23:15,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1365925975] [2022-04-28 12:23:15,238 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1365925975] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:23:15,238 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:23:15,238 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 8 [2022-04-28 12:23:15,238 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:23:15,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2086862586] [2022-04-28 12:23:15,238 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2086862586] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:23:15,238 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:23:15,238 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:23:15,238 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [92291043] [2022-04-28 12:23:15,238 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:23:15,239 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) Word has length 105 [2022-04-28 12:23:15,239 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:23:15,239 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:23:15,281 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:23:15,282 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:23:15,282 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:23:15,282 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:23:15,282 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:23:15,282 INFO L87 Difference]: Start difference. First operand 335 states and 439 transitions. Second operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:23:16,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:16,008 INFO L93 Difference]: Finished difference Result 341 states and 444 transitions. [2022-04-28 12:23:16,008 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 12:23:16,008 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) Word has length 105 [2022-04-28 12:23:16,008 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:23:16,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:23:16,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 50 transitions. [2022-04-28 12:23:16,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:23:16,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 50 transitions. [2022-04-28 12:23:16,009 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 50 transitions. [2022-04-28 12:23:16,055 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:23:16,061 INFO L225 Difference]: With dead ends: 341 [2022-04-28 12:23:16,061 INFO L226 Difference]: Without dead ends: 339 [2022-04-28 12:23:16,062 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 211 GetRequests, 200 SyntacticMatches, 3 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:23:16,062 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 14 mSDsluCounter, 106 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:23:16,062 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 140 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:23:16,063 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 339 states. [2022-04-28 12:23:16,677 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 339 to 339. [2022-04-28 12:23:16,677 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:23:16,678 INFO L82 GeneralOperation]: Start isEquivalent. First operand 339 states. Second operand has 339 states, 216 states have (on average 1.2268518518518519) internal successors, (265), 223 states have internal predecessors, (265), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:23:16,678 INFO L74 IsIncluded]: Start isIncluded. First operand 339 states. Second operand has 339 states, 216 states have (on average 1.2268518518518519) internal successors, (265), 223 states have internal predecessors, (265), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:23:16,678 INFO L87 Difference]: Start difference. First operand 339 states. Second operand has 339 states, 216 states have (on average 1.2268518518518519) internal successors, (265), 223 states have internal predecessors, (265), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:23:16,684 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:16,684 INFO L93 Difference]: Finished difference Result 339 states and 442 transitions. [2022-04-28 12:23:16,684 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 442 transitions. [2022-04-28 12:23:16,685 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:23:16,685 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:23:16,685 INFO L74 IsIncluded]: Start isIncluded. First operand has 339 states, 216 states have (on average 1.2268518518518519) internal successors, (265), 223 states have internal predecessors, (265), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 339 states. [2022-04-28 12:23:16,686 INFO L87 Difference]: Start difference. First operand has 339 states, 216 states have (on average 1.2268518518518519) internal successors, (265), 223 states have internal predecessors, (265), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 339 states. [2022-04-28 12:23:16,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:16,691 INFO L93 Difference]: Finished difference Result 339 states and 442 transitions. [2022-04-28 12:23:16,691 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 442 transitions. [2022-04-28 12:23:16,692 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:23:16,692 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:23:16,692 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:23:16,692 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:23:16,693 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 339 states, 216 states have (on average 1.2268518518518519) internal successors, (265), 223 states have internal predecessors, (265), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:23:16,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 339 states to 339 states and 442 transitions. [2022-04-28 12:23:16,700 INFO L78 Accepts]: Start accepts. Automaton has 339 states and 442 transitions. Word has length 105 [2022-04-28 12:23:16,700 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:23:16,700 INFO L495 AbstractCegarLoop]: Abstraction has 339 states and 442 transitions. [2022-04-28 12:23:16,700 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:23:16,700 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 339 states and 442 transitions. [2022-04-28 12:23:17,341 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 442 edges. 442 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:23:17,342 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 442 transitions. [2022-04-28 12:23:17,342 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 107 [2022-04-28 12:23:17,342 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:23:17,342 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:23:17,361 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-28 12:23:17,543 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:23:17,543 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:23:17,543 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:23:17,543 INFO L85 PathProgramCache]: Analyzing trace with hash -1026601615, now seen corresponding path program 3 times [2022-04-28 12:23:17,543 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:23:17,543 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1631587086] [2022-04-28 12:23:17,544 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:23:17,544 INFO L85 PathProgramCache]: Analyzing trace with hash -1026601615, now seen corresponding path program 4 times [2022-04-28 12:23:17,544 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:23:17,544 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1101331232] [2022-04-28 12:23:17,544 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:23:17,544 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:23:17,561 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:23:17,561 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1666276811] [2022-04-28 12:23:17,562 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:23:17,562 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:23:17,562 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:23:17,572 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:23:17,589 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-28 12:23:17,629 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:23:17,630 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:23:17,631 INFO L263 TraceCheckSpWp]: Trace formula consists of 283 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 12:23:17,644 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:23:17,645 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:23:17,997 INFO L272 TraceCheckUtils]: 0: Hoare triple {32467#true} call ULTIMATE.init(); {32467#true} is VALID [2022-04-28 12:23:17,997 INFO L290 TraceCheckUtils]: 1: Hoare triple {32467#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:17,998 INFO L290 TraceCheckUtils]: 2: Hoare triple {32475#(<= ~counter~0 0)} assume true; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:17,998 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32475#(<= ~counter~0 0)} {32467#true} #98#return; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:17,998 INFO L272 TraceCheckUtils]: 4: Hoare triple {32475#(<= ~counter~0 0)} call #t~ret8 := main(); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:17,998 INFO L290 TraceCheckUtils]: 5: Hoare triple {32475#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:17,999 INFO L272 TraceCheckUtils]: 6: Hoare triple {32475#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:17,999 INFO L290 TraceCheckUtils]: 7: Hoare triple {32475#(<= ~counter~0 0)} ~cond := #in~cond; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:17,999 INFO L290 TraceCheckUtils]: 8: Hoare triple {32475#(<= ~counter~0 0)} assume !(0 == ~cond); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:17,999 INFO L290 TraceCheckUtils]: 9: Hoare triple {32475#(<= ~counter~0 0)} assume true; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:18,000 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32475#(<= ~counter~0 0)} {32475#(<= ~counter~0 0)} #78#return; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:18,000 INFO L272 TraceCheckUtils]: 11: Hoare triple {32475#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:18,000 INFO L290 TraceCheckUtils]: 12: Hoare triple {32475#(<= ~counter~0 0)} ~cond := #in~cond; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:18,000 INFO L290 TraceCheckUtils]: 13: Hoare triple {32475#(<= ~counter~0 0)} assume !(0 == ~cond); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:18,001 INFO L290 TraceCheckUtils]: 14: Hoare triple {32475#(<= ~counter~0 0)} assume true; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:18,001 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {32475#(<= ~counter~0 0)} {32475#(<= ~counter~0 0)} #80#return; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:18,001 INFO L290 TraceCheckUtils]: 16: Hoare triple {32475#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:18,002 INFO L272 TraceCheckUtils]: 17: Hoare triple {32475#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:18,002 INFO L290 TraceCheckUtils]: 18: Hoare triple {32475#(<= ~counter~0 0)} ~cond := #in~cond; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:18,002 INFO L290 TraceCheckUtils]: 19: Hoare triple {32475#(<= ~counter~0 0)} assume !(0 == ~cond); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:18,002 INFO L290 TraceCheckUtils]: 20: Hoare triple {32475#(<= ~counter~0 0)} assume true; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:18,002 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {32475#(<= ~counter~0 0)} {32475#(<= ~counter~0 0)} #82#return; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:18,003 INFO L272 TraceCheckUtils]: 22: Hoare triple {32475#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:18,003 INFO L290 TraceCheckUtils]: 23: Hoare triple {32475#(<= ~counter~0 0)} ~cond := #in~cond; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:18,003 INFO L290 TraceCheckUtils]: 24: Hoare triple {32475#(<= ~counter~0 0)} assume !(0 == ~cond); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:18,003 INFO L290 TraceCheckUtils]: 25: Hoare triple {32475#(<= ~counter~0 0)} assume true; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:18,004 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {32475#(<= ~counter~0 0)} {32475#(<= ~counter~0 0)} #84#return; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:18,005 INFO L290 TraceCheckUtils]: 27: Hoare triple {32475#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32554#(<= ~counter~0 1)} is VALID [2022-04-28 12:23:18,005 INFO L290 TraceCheckUtils]: 28: Hoare triple {32554#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {32554#(<= ~counter~0 1)} is VALID [2022-04-28 12:23:18,005 INFO L290 TraceCheckUtils]: 29: Hoare triple {32554#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {32554#(<= ~counter~0 1)} is VALID [2022-04-28 12:23:18,006 INFO L290 TraceCheckUtils]: 30: Hoare triple {32554#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,006 INFO L290 TraceCheckUtils]: 31: Hoare triple {32564#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,006 INFO L272 TraceCheckUtils]: 32: Hoare triple {32564#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,007 INFO L290 TraceCheckUtils]: 33: Hoare triple {32564#(<= ~counter~0 2)} ~cond := #in~cond; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,007 INFO L290 TraceCheckUtils]: 34: Hoare triple {32564#(<= ~counter~0 2)} assume !(0 == ~cond); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,007 INFO L290 TraceCheckUtils]: 35: Hoare triple {32564#(<= ~counter~0 2)} assume true; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,008 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {32564#(<= ~counter~0 2)} {32564#(<= ~counter~0 2)} #86#return; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,008 INFO L272 TraceCheckUtils]: 37: Hoare triple {32564#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,008 INFO L290 TraceCheckUtils]: 38: Hoare triple {32564#(<= ~counter~0 2)} ~cond := #in~cond; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,008 INFO L290 TraceCheckUtils]: 39: Hoare triple {32564#(<= ~counter~0 2)} assume !(0 == ~cond); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,009 INFO L290 TraceCheckUtils]: 40: Hoare triple {32564#(<= ~counter~0 2)} assume true; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,009 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {32564#(<= ~counter~0 2)} {32564#(<= ~counter~0 2)} #88#return; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,009 INFO L272 TraceCheckUtils]: 42: Hoare triple {32564#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,010 INFO L290 TraceCheckUtils]: 43: Hoare triple {32564#(<= ~counter~0 2)} ~cond := #in~cond; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,010 INFO L290 TraceCheckUtils]: 44: Hoare triple {32564#(<= ~counter~0 2)} assume !(0 == ~cond); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,010 INFO L290 TraceCheckUtils]: 45: Hoare triple {32564#(<= ~counter~0 2)} assume true; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,011 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {32564#(<= ~counter~0 2)} {32564#(<= ~counter~0 2)} #90#return; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,011 INFO L272 TraceCheckUtils]: 47: Hoare triple {32564#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,011 INFO L290 TraceCheckUtils]: 48: Hoare triple {32564#(<= ~counter~0 2)} ~cond := #in~cond; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,011 INFO L290 TraceCheckUtils]: 49: Hoare triple {32564#(<= ~counter~0 2)} assume !(0 == ~cond); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,012 INFO L290 TraceCheckUtils]: 50: Hoare triple {32564#(<= ~counter~0 2)} assume true; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,012 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {32564#(<= ~counter~0 2)} {32564#(<= ~counter~0 2)} #92#return; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,012 INFO L290 TraceCheckUtils]: 52: Hoare triple {32564#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:18,013 INFO L290 TraceCheckUtils]: 53: Hoare triple {32564#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,014 INFO L290 TraceCheckUtils]: 54: Hoare triple {32634#(<= ~counter~0 3)} assume !!(#t~post7 < 20);havoc #t~post7; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,014 INFO L272 TraceCheckUtils]: 55: Hoare triple {32634#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,014 INFO L290 TraceCheckUtils]: 56: Hoare triple {32634#(<= ~counter~0 3)} ~cond := #in~cond; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,015 INFO L290 TraceCheckUtils]: 57: Hoare triple {32634#(<= ~counter~0 3)} assume !(0 == ~cond); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,015 INFO L290 TraceCheckUtils]: 58: Hoare triple {32634#(<= ~counter~0 3)} assume true; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,015 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {32634#(<= ~counter~0 3)} {32634#(<= ~counter~0 3)} #86#return; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,016 INFO L272 TraceCheckUtils]: 60: Hoare triple {32634#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,016 INFO L290 TraceCheckUtils]: 61: Hoare triple {32634#(<= ~counter~0 3)} ~cond := #in~cond; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,016 INFO L290 TraceCheckUtils]: 62: Hoare triple {32634#(<= ~counter~0 3)} assume !(0 == ~cond); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,016 INFO L290 TraceCheckUtils]: 63: Hoare triple {32634#(<= ~counter~0 3)} assume true; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,017 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {32634#(<= ~counter~0 3)} {32634#(<= ~counter~0 3)} #88#return; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,017 INFO L272 TraceCheckUtils]: 65: Hoare triple {32634#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,017 INFO L290 TraceCheckUtils]: 66: Hoare triple {32634#(<= ~counter~0 3)} ~cond := #in~cond; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,017 INFO L290 TraceCheckUtils]: 67: Hoare triple {32634#(<= ~counter~0 3)} assume !(0 == ~cond); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,018 INFO L290 TraceCheckUtils]: 68: Hoare triple {32634#(<= ~counter~0 3)} assume true; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,018 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {32634#(<= ~counter~0 3)} {32634#(<= ~counter~0 3)} #90#return; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,019 INFO L272 TraceCheckUtils]: 70: Hoare triple {32634#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,019 INFO L290 TraceCheckUtils]: 71: Hoare triple {32634#(<= ~counter~0 3)} ~cond := #in~cond; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,019 INFO L290 TraceCheckUtils]: 72: Hoare triple {32634#(<= ~counter~0 3)} assume !(0 == ~cond); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,019 INFO L290 TraceCheckUtils]: 73: Hoare triple {32634#(<= ~counter~0 3)} assume true; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,020 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {32634#(<= ~counter~0 3)} {32634#(<= ~counter~0 3)} #92#return; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,020 INFO L290 TraceCheckUtils]: 75: Hoare triple {32634#(<= ~counter~0 3)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:18,021 INFO L290 TraceCheckUtils]: 76: Hoare triple {32634#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,021 INFO L290 TraceCheckUtils]: 77: Hoare triple {32704#(<= ~counter~0 4)} assume !!(#t~post7 < 20);havoc #t~post7; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,021 INFO L272 TraceCheckUtils]: 78: Hoare triple {32704#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,022 INFO L290 TraceCheckUtils]: 79: Hoare triple {32704#(<= ~counter~0 4)} ~cond := #in~cond; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,022 INFO L290 TraceCheckUtils]: 80: Hoare triple {32704#(<= ~counter~0 4)} assume !(0 == ~cond); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,022 INFO L290 TraceCheckUtils]: 81: Hoare triple {32704#(<= ~counter~0 4)} assume true; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,022 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {32704#(<= ~counter~0 4)} {32704#(<= ~counter~0 4)} #86#return; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,023 INFO L272 TraceCheckUtils]: 83: Hoare triple {32704#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,023 INFO L290 TraceCheckUtils]: 84: Hoare triple {32704#(<= ~counter~0 4)} ~cond := #in~cond; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,023 INFO L290 TraceCheckUtils]: 85: Hoare triple {32704#(<= ~counter~0 4)} assume !(0 == ~cond); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,024 INFO L290 TraceCheckUtils]: 86: Hoare triple {32704#(<= ~counter~0 4)} assume true; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,024 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {32704#(<= ~counter~0 4)} {32704#(<= ~counter~0 4)} #88#return; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,024 INFO L272 TraceCheckUtils]: 88: Hoare triple {32704#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,025 INFO L290 TraceCheckUtils]: 89: Hoare triple {32704#(<= ~counter~0 4)} ~cond := #in~cond; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,025 INFO L290 TraceCheckUtils]: 90: Hoare triple {32704#(<= ~counter~0 4)} assume !(0 == ~cond); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,025 INFO L290 TraceCheckUtils]: 91: Hoare triple {32704#(<= ~counter~0 4)} assume true; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,025 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {32704#(<= ~counter~0 4)} {32704#(<= ~counter~0 4)} #90#return; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,026 INFO L272 TraceCheckUtils]: 93: Hoare triple {32704#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,026 INFO L290 TraceCheckUtils]: 94: Hoare triple {32704#(<= ~counter~0 4)} ~cond := #in~cond; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,026 INFO L290 TraceCheckUtils]: 95: Hoare triple {32704#(<= ~counter~0 4)} assume !(0 == ~cond); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,027 INFO L290 TraceCheckUtils]: 96: Hoare triple {32704#(<= ~counter~0 4)} assume true; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,027 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {32704#(<= ~counter~0 4)} {32704#(<= ~counter~0 4)} #92#return; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,027 INFO L290 TraceCheckUtils]: 98: Hoare triple {32704#(<= ~counter~0 4)} assume !(~c~0 >= ~b~0); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,027 INFO L290 TraceCheckUtils]: 99: Hoare triple {32704#(<= ~counter~0 4)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:18,028 INFO L290 TraceCheckUtils]: 100: Hoare triple {32704#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32777#(<= |main_#t~post6| 4)} is VALID [2022-04-28 12:23:18,028 INFO L290 TraceCheckUtils]: 101: Hoare triple {32777#(<= |main_#t~post6| 4)} assume !(#t~post6 < 20);havoc #t~post6; {32468#false} is VALID [2022-04-28 12:23:18,028 INFO L272 TraceCheckUtils]: 102: Hoare triple {32468#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {32468#false} is VALID [2022-04-28 12:23:18,028 INFO L290 TraceCheckUtils]: 103: Hoare triple {32468#false} ~cond := #in~cond; {32468#false} is VALID [2022-04-28 12:23:18,028 INFO L290 TraceCheckUtils]: 104: Hoare triple {32468#false} assume 0 == ~cond; {32468#false} is VALID [2022-04-28 12:23:18,028 INFO L290 TraceCheckUtils]: 105: Hoare triple {32468#false} assume !false; {32468#false} is VALID [2022-04-28 12:23:18,029 INFO L134 CoverageAnalysis]: Checked inductivity of 335 backedges. 24 proven. 215 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-28 12:23:18,029 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:23:18,380 INFO L290 TraceCheckUtils]: 105: Hoare triple {32468#false} assume !false; {32468#false} is VALID [2022-04-28 12:23:18,380 INFO L290 TraceCheckUtils]: 104: Hoare triple {32468#false} assume 0 == ~cond; {32468#false} is VALID [2022-04-28 12:23:18,380 INFO L290 TraceCheckUtils]: 103: Hoare triple {32468#false} ~cond := #in~cond; {32468#false} is VALID [2022-04-28 12:23:18,380 INFO L272 TraceCheckUtils]: 102: Hoare triple {32468#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {32468#false} is VALID [2022-04-28 12:23:18,381 INFO L290 TraceCheckUtils]: 101: Hoare triple {32805#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {32468#false} is VALID [2022-04-28 12:23:18,381 INFO L290 TraceCheckUtils]: 100: Hoare triple {32809#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32805#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:23:18,381 INFO L290 TraceCheckUtils]: 99: Hoare triple {32809#(< ~counter~0 20)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {32809#(< ~counter~0 20)} is VALID [2022-04-28 12:23:18,381 INFO L290 TraceCheckUtils]: 98: Hoare triple {32809#(< ~counter~0 20)} assume !(~c~0 >= ~b~0); {32809#(< ~counter~0 20)} is VALID [2022-04-28 12:23:18,382 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {32467#true} {32809#(< ~counter~0 20)} #92#return; {32809#(< ~counter~0 20)} is VALID [2022-04-28 12:23:18,382 INFO L290 TraceCheckUtils]: 96: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:23:18,382 INFO L290 TraceCheckUtils]: 95: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:23:18,382 INFO L290 TraceCheckUtils]: 94: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:23:18,382 INFO L272 TraceCheckUtils]: 93: Hoare triple {32809#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:23:18,383 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {32467#true} {32809#(< ~counter~0 20)} #90#return; {32809#(< ~counter~0 20)} is VALID [2022-04-28 12:23:18,383 INFO L290 TraceCheckUtils]: 91: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:23:18,383 INFO L290 TraceCheckUtils]: 90: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:23:18,383 INFO L290 TraceCheckUtils]: 89: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:23:18,383 INFO L272 TraceCheckUtils]: 88: Hoare triple {32809#(< ~counter~0 20)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:23:18,383 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {32467#true} {32809#(< ~counter~0 20)} #88#return; {32809#(< ~counter~0 20)} is VALID [2022-04-28 12:23:18,383 INFO L290 TraceCheckUtils]: 86: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:23:18,384 INFO L290 TraceCheckUtils]: 85: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:23:18,384 INFO L290 TraceCheckUtils]: 84: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:23:18,384 INFO L272 TraceCheckUtils]: 83: Hoare triple {32809#(< ~counter~0 20)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:23:18,384 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {32467#true} {32809#(< ~counter~0 20)} #86#return; {32809#(< ~counter~0 20)} is VALID [2022-04-28 12:23:18,384 INFO L290 TraceCheckUtils]: 81: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:23:18,384 INFO L290 TraceCheckUtils]: 80: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:23:18,384 INFO L290 TraceCheckUtils]: 79: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:23:18,384 INFO L272 TraceCheckUtils]: 78: Hoare triple {32809#(< ~counter~0 20)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:23:18,384 INFO L290 TraceCheckUtils]: 77: Hoare triple {32809#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {32809#(< ~counter~0 20)} is VALID [2022-04-28 12:23:18,385 INFO L290 TraceCheckUtils]: 76: Hoare triple {32882#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32809#(< ~counter~0 20)} is VALID [2022-04-28 12:23:18,386 INFO L290 TraceCheckUtils]: 75: Hoare triple {32882#(< ~counter~0 19)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {32882#(< ~counter~0 19)} is VALID [2022-04-28 12:23:18,386 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {32467#true} {32882#(< ~counter~0 19)} #92#return; {32882#(< ~counter~0 19)} is VALID [2022-04-28 12:23:18,386 INFO L290 TraceCheckUtils]: 73: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:23:18,386 INFO L290 TraceCheckUtils]: 72: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:23:18,386 INFO L290 TraceCheckUtils]: 71: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:23:18,386 INFO L272 TraceCheckUtils]: 70: Hoare triple {32882#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:23:18,399 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {32467#true} {32882#(< ~counter~0 19)} #90#return; {32882#(< ~counter~0 19)} is VALID [2022-04-28 12:23:18,400 INFO L290 TraceCheckUtils]: 68: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:23:18,400 INFO L290 TraceCheckUtils]: 67: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:23:18,400 INFO L290 TraceCheckUtils]: 66: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:23:18,400 INFO L272 TraceCheckUtils]: 65: Hoare triple {32882#(< ~counter~0 19)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:23:18,400 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {32467#true} {32882#(< ~counter~0 19)} #88#return; {32882#(< ~counter~0 19)} is VALID [2022-04-28 12:23:18,400 INFO L290 TraceCheckUtils]: 63: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:23:18,400 INFO L290 TraceCheckUtils]: 62: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:23:18,400 INFO L290 TraceCheckUtils]: 61: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:23:18,400 INFO L272 TraceCheckUtils]: 60: Hoare triple {32882#(< ~counter~0 19)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:23:18,401 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {32467#true} {32882#(< ~counter~0 19)} #86#return; {32882#(< ~counter~0 19)} is VALID [2022-04-28 12:23:18,401 INFO L290 TraceCheckUtils]: 58: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:23:18,401 INFO L290 TraceCheckUtils]: 57: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:23:18,401 INFO L290 TraceCheckUtils]: 56: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:23:18,401 INFO L272 TraceCheckUtils]: 55: Hoare triple {32882#(< ~counter~0 19)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:23:18,401 INFO L290 TraceCheckUtils]: 54: Hoare triple {32882#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {32882#(< ~counter~0 19)} is VALID [2022-04-28 12:23:18,402 INFO L290 TraceCheckUtils]: 53: Hoare triple {32952#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32882#(< ~counter~0 19)} is VALID [2022-04-28 12:23:18,403 INFO L290 TraceCheckUtils]: 52: Hoare triple {32952#(< ~counter~0 18)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {32952#(< ~counter~0 18)} is VALID [2022-04-28 12:23:18,403 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {32467#true} {32952#(< ~counter~0 18)} #92#return; {32952#(< ~counter~0 18)} is VALID [2022-04-28 12:23:18,403 INFO L290 TraceCheckUtils]: 50: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:23:18,403 INFO L290 TraceCheckUtils]: 49: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:23:18,403 INFO L290 TraceCheckUtils]: 48: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:23:18,403 INFO L272 TraceCheckUtils]: 47: Hoare triple {32952#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:23:18,404 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {32467#true} {32952#(< ~counter~0 18)} #90#return; {32952#(< ~counter~0 18)} is VALID [2022-04-28 12:23:18,404 INFO L290 TraceCheckUtils]: 45: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:23:18,404 INFO L290 TraceCheckUtils]: 44: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:23:18,404 INFO L290 TraceCheckUtils]: 43: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:23:18,404 INFO L272 TraceCheckUtils]: 42: Hoare triple {32952#(< ~counter~0 18)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:23:18,405 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {32467#true} {32952#(< ~counter~0 18)} #88#return; {32952#(< ~counter~0 18)} is VALID [2022-04-28 12:23:18,405 INFO L290 TraceCheckUtils]: 40: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:23:18,405 INFO L290 TraceCheckUtils]: 39: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:23:18,405 INFO L290 TraceCheckUtils]: 38: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:23:18,405 INFO L272 TraceCheckUtils]: 37: Hoare triple {32952#(< ~counter~0 18)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:23:18,405 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {32467#true} {32952#(< ~counter~0 18)} #86#return; {32952#(< ~counter~0 18)} is VALID [2022-04-28 12:23:18,405 INFO L290 TraceCheckUtils]: 35: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:23:18,405 INFO L290 TraceCheckUtils]: 34: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:23:18,406 INFO L290 TraceCheckUtils]: 33: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:23:18,406 INFO L272 TraceCheckUtils]: 32: Hoare triple {32952#(< ~counter~0 18)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:23:18,406 INFO L290 TraceCheckUtils]: 31: Hoare triple {32952#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {32952#(< ~counter~0 18)} is VALID [2022-04-28 12:23:18,407 INFO L290 TraceCheckUtils]: 30: Hoare triple {33022#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32952#(< ~counter~0 18)} is VALID [2022-04-28 12:23:18,407 INFO L290 TraceCheckUtils]: 29: Hoare triple {33022#(< ~counter~0 17)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {33022#(< ~counter~0 17)} is VALID [2022-04-28 12:23:18,407 INFO L290 TraceCheckUtils]: 28: Hoare triple {33022#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {33022#(< ~counter~0 17)} is VALID [2022-04-28 12:23:18,408 INFO L290 TraceCheckUtils]: 27: Hoare triple {33032#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33022#(< ~counter~0 17)} is VALID [2022-04-28 12:23:18,408 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {32467#true} {33032#(< ~counter~0 16)} #84#return; {33032#(< ~counter~0 16)} is VALID [2022-04-28 12:23:18,408 INFO L290 TraceCheckUtils]: 25: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:23:18,408 INFO L290 TraceCheckUtils]: 24: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:23:18,408 INFO L290 TraceCheckUtils]: 23: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:23:18,408 INFO L272 TraceCheckUtils]: 22: Hoare triple {33032#(< ~counter~0 16)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:23:18,409 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {32467#true} {33032#(< ~counter~0 16)} #82#return; {33032#(< ~counter~0 16)} is VALID [2022-04-28 12:23:18,409 INFO L290 TraceCheckUtils]: 20: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:23:18,409 INFO L290 TraceCheckUtils]: 19: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:23:18,409 INFO L290 TraceCheckUtils]: 18: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:23:18,409 INFO L272 TraceCheckUtils]: 17: Hoare triple {33032#(< ~counter~0 16)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:23:18,409 INFO L290 TraceCheckUtils]: 16: Hoare triple {33032#(< ~counter~0 16)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {33032#(< ~counter~0 16)} is VALID [2022-04-28 12:23:18,409 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {32467#true} {33032#(< ~counter~0 16)} #80#return; {33032#(< ~counter~0 16)} is VALID [2022-04-28 12:23:18,410 INFO L290 TraceCheckUtils]: 14: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:23:18,410 INFO L290 TraceCheckUtils]: 13: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:23:18,410 INFO L290 TraceCheckUtils]: 12: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:23:18,410 INFO L272 TraceCheckUtils]: 11: Hoare triple {33032#(< ~counter~0 16)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:23:18,410 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32467#true} {33032#(< ~counter~0 16)} #78#return; {33032#(< ~counter~0 16)} is VALID [2022-04-28 12:23:18,410 INFO L290 TraceCheckUtils]: 9: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:23:18,410 INFO L290 TraceCheckUtils]: 8: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:23:18,410 INFO L290 TraceCheckUtils]: 7: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:23:18,410 INFO L272 TraceCheckUtils]: 6: Hoare triple {33032#(< ~counter~0 16)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:23:18,410 INFO L290 TraceCheckUtils]: 5: Hoare triple {33032#(< ~counter~0 16)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {33032#(< ~counter~0 16)} is VALID [2022-04-28 12:23:18,411 INFO L272 TraceCheckUtils]: 4: Hoare triple {33032#(< ~counter~0 16)} call #t~ret8 := main(); {33032#(< ~counter~0 16)} is VALID [2022-04-28 12:23:18,411 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33032#(< ~counter~0 16)} {32467#true} #98#return; {33032#(< ~counter~0 16)} is VALID [2022-04-28 12:23:18,411 INFO L290 TraceCheckUtils]: 2: Hoare triple {33032#(< ~counter~0 16)} assume true; {33032#(< ~counter~0 16)} is VALID [2022-04-28 12:23:18,412 INFO L290 TraceCheckUtils]: 1: Hoare triple {32467#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {33032#(< ~counter~0 16)} is VALID [2022-04-28 12:23:18,412 INFO L272 TraceCheckUtils]: 0: Hoare triple {32467#true} call ULTIMATE.init(); {32467#true} is VALID [2022-04-28 12:23:18,412 INFO L134 CoverageAnalysis]: Checked inductivity of 335 backedges. 24 proven. 23 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 12:23:18,412 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:23:18,412 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1101331232] [2022-04-28 12:23:18,412 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:23:18,412 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1666276811] [2022-04-28 12:23:18,412 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1666276811] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:23:18,412 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:23:18,412 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 12:23:18,413 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:23:18,413 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1631587086] [2022-04-28 12:23:18,413 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1631587086] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:23:18,413 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:23:18,413 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:23:18,413 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [874622483] [2022-04-28 12:23:18,413 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:23:18,413 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 106 [2022-04-28 12:23:18,413 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:23:18,413 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:23:18,470 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:23:18,470 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:23:18,470 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:23:18,471 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:23:18,471 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:23:18,471 INFO L87 Difference]: Start difference. First operand 339 states and 442 transitions. Second operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:23:19,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:19,296 INFO L93 Difference]: Finished difference Result 349 states and 452 transitions. [2022-04-28 12:23:19,296 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:23:19,296 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 106 [2022-04-28 12:23:19,296 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:23:19,296 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:23:19,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 112 transitions. [2022-04-28 12:23:19,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:23:19,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 112 transitions. [2022-04-28 12:23:19,298 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 112 transitions. [2022-04-28 12:23:19,398 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:23:19,404 INFO L225 Difference]: With dead ends: 349 [2022-04-28 12:23:19,404 INFO L226 Difference]: Without dead ends: 342 [2022-04-28 12:23:19,405 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 214 GetRequests, 199 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=108, Invalid=164, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:23:19,405 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 22 mSDsluCounter, 135 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 189 SdHoareTripleChecker+Invalid, 84 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:23:19,405 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 189 Invalid, 84 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 56 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:23:19,405 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 342 states. [2022-04-28 12:23:19,947 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 342 to 342. [2022-04-28 12:23:19,947 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:23:19,947 INFO L82 GeneralOperation]: Start isEquivalent. First operand 342 states. Second operand has 342 states, 219 states have (on average 1.2237442922374429) internal successors, (268), 226 states have internal predecessors, (268), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:23:19,947 INFO L74 IsIncluded]: Start isIncluded. First operand 342 states. Second operand has 342 states, 219 states have (on average 1.2237442922374429) internal successors, (268), 226 states have internal predecessors, (268), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:23:19,948 INFO L87 Difference]: Start difference. First operand 342 states. Second operand has 342 states, 219 states have (on average 1.2237442922374429) internal successors, (268), 226 states have internal predecessors, (268), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:23:19,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:19,953 INFO L93 Difference]: Finished difference Result 342 states and 445 transitions. [2022-04-28 12:23:19,953 INFO L276 IsEmpty]: Start isEmpty. Operand 342 states and 445 transitions. [2022-04-28 12:23:19,954 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:23:19,954 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:23:19,954 INFO L74 IsIncluded]: Start isIncluded. First operand has 342 states, 219 states have (on average 1.2237442922374429) internal successors, (268), 226 states have internal predecessors, (268), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 342 states. [2022-04-28 12:23:19,954 INFO L87 Difference]: Start difference. First operand has 342 states, 219 states have (on average 1.2237442922374429) internal successors, (268), 226 states have internal predecessors, (268), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 342 states. [2022-04-28 12:23:19,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:19,960 INFO L93 Difference]: Finished difference Result 342 states and 445 transitions. [2022-04-28 12:23:19,960 INFO L276 IsEmpty]: Start isEmpty. Operand 342 states and 445 transitions. [2022-04-28 12:23:19,960 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:23:19,960 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:23:19,960 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:23:19,960 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:23:19,961 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 342 states, 219 states have (on average 1.2237442922374429) internal successors, (268), 226 states have internal predecessors, (268), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:23:19,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 342 states to 342 states and 445 transitions. [2022-04-28 12:23:19,967 INFO L78 Accepts]: Start accepts. Automaton has 342 states and 445 transitions. Word has length 106 [2022-04-28 12:23:19,967 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:23:19,967 INFO L495 AbstractCegarLoop]: Abstraction has 342 states and 445 transitions. [2022-04-28 12:23:19,967 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:23:19,967 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 342 states and 445 transitions. [2022-04-28 12:23:20,572 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 445 edges. 445 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:23:20,572 INFO L276 IsEmpty]: Start isEmpty. Operand 342 states and 445 transitions. [2022-04-28 12:23:20,573 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 108 [2022-04-28 12:23:20,573 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:23:20,573 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:23:20,589 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-28 12:23:20,773 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable24 [2022-04-28 12:23:20,773 INFO L420 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:23:20,774 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:23:20,774 INFO L85 PathProgramCache]: Analyzing trace with hash -1761848073, now seen corresponding path program 3 times [2022-04-28 12:23:20,774 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:23:20,774 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1158345021] [2022-04-28 12:23:20,774 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:23:20,774 INFO L85 PathProgramCache]: Analyzing trace with hash -1761848073, now seen corresponding path program 4 times [2022-04-28 12:23:20,774 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:23:20,774 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1618521145] [2022-04-28 12:23:20,774 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:23:20,774 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:23:20,785 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:23:20,785 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1693044439] [2022-04-28 12:23:20,785 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:23:20,785 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:23:20,785 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:23:20,786 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:23:20,787 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-28 12:23:20,837 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:23:20,838 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:23:20,838 INFO L263 TraceCheckSpWp]: Trace formula consists of 239 conjuncts, 44 conjunts are in the unsatisfiable core [2022-04-28 12:23:20,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:23:20,853 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:23:23,134 INFO L272 TraceCheckUtils]: 0: Hoare triple {35188#true} call ULTIMATE.init(); {35188#true} is VALID [2022-04-28 12:23:23,134 INFO L290 TraceCheckUtils]: 1: Hoare triple {35188#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {35188#true} is VALID [2022-04-28 12:23:23,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:23:23,134 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35188#true} {35188#true} #98#return; {35188#true} is VALID [2022-04-28 12:23:23,135 INFO L272 TraceCheckUtils]: 4: Hoare triple {35188#true} call #t~ret8 := main(); {35188#true} is VALID [2022-04-28 12:23:23,135 INFO L290 TraceCheckUtils]: 5: Hoare triple {35188#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {35188#true} is VALID [2022-04-28 12:23:23,135 INFO L272 TraceCheckUtils]: 6: Hoare triple {35188#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:23:23,135 INFO L290 TraceCheckUtils]: 7: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:23:23,135 INFO L290 TraceCheckUtils]: 8: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:23:23,135 INFO L290 TraceCheckUtils]: 9: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:23:23,135 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35188#true} {35188#true} #78#return; {35188#true} is VALID [2022-04-28 12:23:23,135 INFO L272 TraceCheckUtils]: 11: Hoare triple {35188#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:23:23,135 INFO L290 TraceCheckUtils]: 12: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:23:23,135 INFO L290 TraceCheckUtils]: 13: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:23:23,135 INFO L290 TraceCheckUtils]: 14: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:23:23,135 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {35188#true} {35188#true} #80#return; {35188#true} is VALID [2022-04-28 12:23:23,135 INFO L290 TraceCheckUtils]: 16: Hoare triple {35188#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,136 INFO L272 TraceCheckUtils]: 17: Hoare triple {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:23:23,136 INFO L290 TraceCheckUtils]: 18: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:23:23,136 INFO L290 TraceCheckUtils]: 19: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:23:23,136 INFO L290 TraceCheckUtils]: 20: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:23:23,136 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {35188#true} {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,136 INFO L272 TraceCheckUtils]: 22: Hoare triple {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:23:23,136 INFO L290 TraceCheckUtils]: 23: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:23:23,136 INFO L290 TraceCheckUtils]: 24: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:23:23,137 INFO L290 TraceCheckUtils]: 25: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:23:23,137 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {35188#true} {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,137 INFO L290 TraceCheckUtils]: 27: Hoare triple {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,138 INFO L290 TraceCheckUtils]: 28: Hoare triple {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,138 INFO L290 TraceCheckUtils]: 29: Hoare triple {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,139 INFO L290 TraceCheckUtils]: 30: Hoare triple {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,139 INFO L290 TraceCheckUtils]: 31: Hoare triple {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,139 INFO L272 TraceCheckUtils]: 32: Hoare triple {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:23:23,139 INFO L290 TraceCheckUtils]: 33: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:23:23,139 INFO L290 TraceCheckUtils]: 34: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:23:23,139 INFO L290 TraceCheckUtils]: 35: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:23:23,140 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {35188#true} {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,140 INFO L272 TraceCheckUtils]: 37: Hoare triple {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:23:23,140 INFO L290 TraceCheckUtils]: 38: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:23:23,140 INFO L290 TraceCheckUtils]: 39: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:23:23,140 INFO L290 TraceCheckUtils]: 40: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:23:23,141 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {35188#true} {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #88#return; {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,141 INFO L272 TraceCheckUtils]: 42: Hoare triple {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:23:23,141 INFO L290 TraceCheckUtils]: 43: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:23:23,141 INFO L290 TraceCheckUtils]: 44: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:23:23,141 INFO L290 TraceCheckUtils]: 45: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:23:23,141 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {35188#true} {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #90#return; {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,142 INFO L272 TraceCheckUtils]: 47: Hoare triple {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:23:23,142 INFO L290 TraceCheckUtils]: 48: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:23:23,142 INFO L290 TraceCheckUtils]: 49: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:23:23,142 INFO L290 TraceCheckUtils]: 50: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:23:23,142 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {35188#true} {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #92#return; {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,144 INFO L290 TraceCheckUtils]: 52: Hoare triple {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,144 INFO L290 TraceCheckUtils]: 53: Hoare triple {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,144 INFO L290 TraceCheckUtils]: 54: Hoare triple {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,145 INFO L272 TraceCheckUtils]: 55: Hoare triple {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:23:23,145 INFO L290 TraceCheckUtils]: 56: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:23:23,145 INFO L290 TraceCheckUtils]: 57: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:23:23,145 INFO L290 TraceCheckUtils]: 58: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:23:23,145 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {35188#true} {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,145 INFO L272 TraceCheckUtils]: 60: Hoare triple {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:23:23,145 INFO L290 TraceCheckUtils]: 61: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:23:23,145 INFO L290 TraceCheckUtils]: 62: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:23:23,146 INFO L290 TraceCheckUtils]: 63: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:23:23,146 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {35188#true} {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #88#return; {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,146 INFO L272 TraceCheckUtils]: 65: Hoare triple {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:23:23,146 INFO L290 TraceCheckUtils]: 66: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:23:23,146 INFO L290 TraceCheckUtils]: 67: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:23:23,146 INFO L290 TraceCheckUtils]: 68: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:23:23,147 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {35188#true} {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #90#return; {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,147 INFO L272 TraceCheckUtils]: 70: Hoare triple {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:23:23,147 INFO L290 TraceCheckUtils]: 71: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:23:23,147 INFO L290 TraceCheckUtils]: 72: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:23:23,147 INFO L290 TraceCheckUtils]: 73: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:23:23,148 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {35188#true} {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #92#return; {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,149 INFO L290 TraceCheckUtils]: 75: Hoare triple {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,149 INFO L290 TraceCheckUtils]: 76: Hoare triple {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,150 INFO L290 TraceCheckUtils]: 77: Hoare triple {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,150 INFO L272 TraceCheckUtils]: 78: Hoare triple {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:23:23,150 INFO L290 TraceCheckUtils]: 79: Hoare triple {35188#true} ~cond := #in~cond; {35434#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:23:23,150 INFO L290 TraceCheckUtils]: 80: Hoare triple {35434#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:23,151 INFO L290 TraceCheckUtils]: 81: Hoare triple {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:23,152 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} #86#return; {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,152 INFO L272 TraceCheckUtils]: 83: Hoare triple {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:23:23,152 INFO L290 TraceCheckUtils]: 84: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:23:23,152 INFO L290 TraceCheckUtils]: 85: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:23:23,152 INFO L290 TraceCheckUtils]: 86: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:23:23,153 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {35188#true} {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #88#return; {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,153 INFO L272 TraceCheckUtils]: 88: Hoare triple {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:23:23,153 INFO L290 TraceCheckUtils]: 89: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:23:23,153 INFO L290 TraceCheckUtils]: 90: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:23:23,153 INFO L290 TraceCheckUtils]: 91: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:23:23,153 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {35188#true} {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #90#return; {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,153 INFO L272 TraceCheckUtils]: 93: Hoare triple {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:23:23,154 INFO L290 TraceCheckUtils]: 94: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:23:23,154 INFO L290 TraceCheckUtils]: 95: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:23:23,154 INFO L290 TraceCheckUtils]: 96: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:23:23,154 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {35188#true} {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #92#return; {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,155 INFO L290 TraceCheckUtils]: 98: Hoare triple {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {35494#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (< main_~c~0 main_~b~0) (= main_~p~0 1))} is VALID [2022-04-28 12:23:23,157 INFO L290 TraceCheckUtils]: 99: Hoare triple {35494#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (< main_~c~0 main_~b~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {35498#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} is VALID [2022-04-28 12:23:23,157 INFO L290 TraceCheckUtils]: 100: Hoare triple {35498#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35498#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} is VALID [2022-04-28 12:23:23,157 INFO L290 TraceCheckUtils]: 101: Hoare triple {35498#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {35498#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} is VALID [2022-04-28 12:23:23,158 INFO L290 TraceCheckUtils]: 102: Hoare triple {35498#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} assume !(0 != ~b~0); {35508#(and (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (= (+ (* main_~y~0 2) (* main_~y~0 main_~s~0)) 0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= main_~q~0 1))} is VALID [2022-04-28 12:23:23,158 INFO L272 TraceCheckUtils]: 103: Hoare triple {35508#(and (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (= (+ (* main_~y~0 2) (* main_~y~0 main_~s~0)) 0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= main_~q~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {35512#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:23:23,159 INFO L290 TraceCheckUtils]: 104: Hoare triple {35512#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {35516#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:23:23,159 INFO L290 TraceCheckUtils]: 105: Hoare triple {35516#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {35189#false} is VALID [2022-04-28 12:23:23,159 INFO L290 TraceCheckUtils]: 106: Hoare triple {35189#false} assume !false; {35189#false} is VALID [2022-04-28 12:23:23,160 INFO L134 CoverageAnalysis]: Checked inductivity of 336 backedges. 47 proven. 34 refuted. 0 times theorem prover too weak. 255 trivial. 0 not checked. [2022-04-28 12:23:23,160 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:24:38,069 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:24:38,373 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:24:40,965 INFO L290 TraceCheckUtils]: 106: Hoare triple {35189#false} assume !false; {35189#false} is VALID [2022-04-28 12:24:40,965 INFO L290 TraceCheckUtils]: 105: Hoare triple {35516#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {35189#false} is VALID [2022-04-28 12:24:40,966 INFO L290 TraceCheckUtils]: 104: Hoare triple {35512#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {35516#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:24:40,966 INFO L272 TraceCheckUtils]: 103: Hoare triple {35532#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {35512#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:24:40,966 INFO L290 TraceCheckUtils]: 102: Hoare triple {35536#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {35532#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-28 12:24:40,967 INFO L290 TraceCheckUtils]: 101: Hoare triple {35536#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !!(#t~post6 < 20);havoc #t~post6; {35536#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-28 12:24:40,967 INFO L290 TraceCheckUtils]: 100: Hoare triple {35536#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35536#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-28 12:24:42,969 WARN L290 TraceCheckUtils]: 99: Hoare triple {35546#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {35536#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is UNKNOWN [2022-04-28 12:24:42,969 INFO L290 TraceCheckUtils]: 98: Hoare triple {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {35546#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:24:42,970 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {35188#true} {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} #92#return; {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:24:42,970 INFO L290 TraceCheckUtils]: 96: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:24:42,970 INFO L290 TraceCheckUtils]: 95: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:24:42,970 INFO L290 TraceCheckUtils]: 94: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:24:42,970 INFO L272 TraceCheckUtils]: 93: Hoare triple {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:24:42,971 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {35188#true} {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} #90#return; {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:24:42,971 INFO L290 TraceCheckUtils]: 91: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:24:42,971 INFO L290 TraceCheckUtils]: 90: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:24:42,971 INFO L290 TraceCheckUtils]: 89: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:24:42,971 INFO L272 TraceCheckUtils]: 88: Hoare triple {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:24:42,972 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {35188#true} {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} #88#return; {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:24:42,972 INFO L290 TraceCheckUtils]: 86: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:24:42,972 INFO L290 TraceCheckUtils]: 85: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:24:42,972 INFO L290 TraceCheckUtils]: 84: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:24:42,972 INFO L272 TraceCheckUtils]: 83: Hoare triple {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:24:42,973 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} #86#return; {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:24:42,973 INFO L290 TraceCheckUtils]: 81: Hoare triple {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:24:42,973 INFO L290 TraceCheckUtils]: 80: Hoare triple {35609#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:24:42,974 INFO L290 TraceCheckUtils]: 79: Hoare triple {35188#true} ~cond := #in~cond; {35609#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:24:42,974 INFO L272 TraceCheckUtils]: 78: Hoare triple {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:24:42,974 INFO L290 TraceCheckUtils]: 77: Hoare triple {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} assume !!(#t~post7 < 20);havoc #t~post7; {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-28 12:24:42,975 INFO L290 TraceCheckUtils]: 76: Hoare triple {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-28 12:24:44,977 WARN L290 TraceCheckUtils]: 75: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is UNKNOWN [2022-04-28 12:24:44,978 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {35188#true} {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #92#return; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:24:44,978 INFO L290 TraceCheckUtils]: 73: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:24:44,978 INFO L290 TraceCheckUtils]: 72: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:24:44,978 INFO L290 TraceCheckUtils]: 71: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:24:44,978 INFO L272 TraceCheckUtils]: 70: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:24:44,979 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {35188#true} {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #90#return; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:24:44,979 INFO L290 TraceCheckUtils]: 68: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:24:44,979 INFO L290 TraceCheckUtils]: 67: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:24:44,979 INFO L290 TraceCheckUtils]: 66: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:24:44,979 INFO L272 TraceCheckUtils]: 65: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:24:44,980 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {35188#true} {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #88#return; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:24:44,980 INFO L290 TraceCheckUtils]: 63: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:24:44,980 INFO L290 TraceCheckUtils]: 62: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:24:44,980 INFO L290 TraceCheckUtils]: 61: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:24:44,980 INFO L272 TraceCheckUtils]: 60: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:24:44,981 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {35188#true} {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #86#return; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:24:44,981 INFO L290 TraceCheckUtils]: 58: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:24:44,981 INFO L290 TraceCheckUtils]: 57: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:24:44,981 INFO L290 TraceCheckUtils]: 56: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:24:44,981 INFO L272 TraceCheckUtils]: 55: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:24:44,982 INFO L290 TraceCheckUtils]: 54: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(#t~post7 < 20);havoc #t~post7; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:24:44,982 INFO L290 TraceCheckUtils]: 53: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:24:46,985 WARN L290 TraceCheckUtils]: 52: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is UNKNOWN [2022-04-28 12:24:46,986 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {35188#true} {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} #92#return; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 12:24:46,986 INFO L290 TraceCheckUtils]: 50: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:24:46,986 INFO L290 TraceCheckUtils]: 49: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:24:46,986 INFO L290 TraceCheckUtils]: 48: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:24:46,986 INFO L272 TraceCheckUtils]: 47: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:24:46,988 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {35188#true} {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} #90#return; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 12:24:46,988 INFO L290 TraceCheckUtils]: 45: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:24:46,988 INFO L290 TraceCheckUtils]: 44: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:24:46,988 INFO L290 TraceCheckUtils]: 43: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:24:46,988 INFO L272 TraceCheckUtils]: 42: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:24:46,989 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {35188#true} {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} #88#return; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 12:24:46,989 INFO L290 TraceCheckUtils]: 40: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:24:46,989 INFO L290 TraceCheckUtils]: 39: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:24:46,989 INFO L290 TraceCheckUtils]: 38: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:24:46,989 INFO L272 TraceCheckUtils]: 37: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:24:46,990 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {35188#true} {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} #86#return; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 12:24:46,990 INFO L290 TraceCheckUtils]: 35: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:24:46,990 INFO L290 TraceCheckUtils]: 34: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:24:46,990 INFO L290 TraceCheckUtils]: 33: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:24:46,990 INFO L272 TraceCheckUtils]: 32: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:24:46,991 INFO L290 TraceCheckUtils]: 31: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} assume !!(#t~post7 < 20);havoc #t~post7; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 12:24:46,991 INFO L290 TraceCheckUtils]: 30: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 12:24:46,992 INFO L290 TraceCheckUtils]: 29: Hoare triple {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 12:24:46,992 INFO L290 TraceCheckUtils]: 28: Hoare triple {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(#t~post6 < 20);havoc #t~post6; {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:24:46,993 INFO L290 TraceCheckUtils]: 27: Hoare triple {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:24:46,993 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {35188#true} {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #84#return; {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:24:46,993 INFO L290 TraceCheckUtils]: 25: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:24:46,993 INFO L290 TraceCheckUtils]: 24: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:24:46,993 INFO L290 TraceCheckUtils]: 23: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:24:46,993 INFO L272 TraceCheckUtils]: 22: Hoare triple {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:24:46,994 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {35188#true} {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #82#return; {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:24:46,994 INFO L290 TraceCheckUtils]: 20: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:24:46,994 INFO L290 TraceCheckUtils]: 19: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:24:46,994 INFO L290 TraceCheckUtils]: 18: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:24:46,994 INFO L272 TraceCheckUtils]: 17: Hoare triple {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:24:46,995 INFO L290 TraceCheckUtils]: 16: Hoare triple {35188#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:24:46,995 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {35188#true} {35188#true} #80#return; {35188#true} is VALID [2022-04-28 12:24:46,995 INFO L290 TraceCheckUtils]: 14: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:24:46,995 INFO L290 TraceCheckUtils]: 13: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:24:46,995 INFO L290 TraceCheckUtils]: 12: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:24:46,995 INFO L272 TraceCheckUtils]: 11: Hoare triple {35188#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:24:46,995 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35188#true} {35188#true} #78#return; {35188#true} is VALID [2022-04-28 12:24:46,995 INFO L290 TraceCheckUtils]: 9: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:24:46,995 INFO L290 TraceCheckUtils]: 8: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:24:46,995 INFO L290 TraceCheckUtils]: 7: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:24:46,995 INFO L272 TraceCheckUtils]: 6: Hoare triple {35188#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:24:46,995 INFO L290 TraceCheckUtils]: 5: Hoare triple {35188#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {35188#true} is VALID [2022-04-28 12:24:46,995 INFO L272 TraceCheckUtils]: 4: Hoare triple {35188#true} call #t~ret8 := main(); {35188#true} is VALID [2022-04-28 12:24:46,995 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35188#true} {35188#true} #98#return; {35188#true} is VALID [2022-04-28 12:24:46,996 INFO L290 TraceCheckUtils]: 2: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:24:46,996 INFO L290 TraceCheckUtils]: 1: Hoare triple {35188#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {35188#true} is VALID [2022-04-28 12:24:46,996 INFO L272 TraceCheckUtils]: 0: Hoare triple {35188#true} call ULTIMATE.init(); {35188#true} is VALID [2022-04-28 12:24:46,996 INFO L134 CoverageAnalysis]: Checked inductivity of 336 backedges. 47 proven. 34 refuted. 0 times theorem prover too weak. 255 trivial. 0 not checked. [2022-04-28 12:24:46,996 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:24:46,996 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1618521145] [2022-04-28 12:24:46,996 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:24:46,996 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1693044439] [2022-04-28 12:24:46,996 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1693044439] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:24:46,996 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:24:46,997 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 23 [2022-04-28 12:24:46,997 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:24:46,997 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1158345021] [2022-04-28 12:24:46,997 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1158345021] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:24:46,997 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:24:46,997 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 12:24:46,997 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [991020383] [2022-04-28 12:24:46,997 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:24:46,997 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) Word has length 107 [2022-04-28 12:24:46,997 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:24:46,998 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 12:24:47,067 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 12:24:47,068 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 12:24:47,068 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:24:47,068 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 12:24:47,068 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=90, Invalid=416, Unknown=0, NotChecked=0, Total=506 [2022-04-28 12:24:47,068 INFO L87 Difference]: Start difference. First operand 342 states and 445 transitions. Second operand has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 12:24:53,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:53,301 INFO L93 Difference]: Finished difference Result 369 states and 485 transitions. [2022-04-28 12:24:53,301 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 12:24:53,301 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) Word has length 107 [2022-04-28 12:24:53,302 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:24:53,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 12:24:53,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 125 transitions. [2022-04-28 12:24:53,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 12:24:53,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 125 transitions. [2022-04-28 12:24:53,304 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 125 transitions. [2022-04-28 12:24:53,453 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:53,460 INFO L225 Difference]: With dead ends: 369 [2022-04-28 12:24:53,460 INFO L226 Difference]: Without dead ends: 366 [2022-04-28 12:24:53,460 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 218 GetRequests, 191 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 155 ImplicationChecksByTransitivity, 2.7s TimeCoverageRelationStatistics Valid=140, Invalid=616, Unknown=0, NotChecked=0, Total=756 [2022-04-28 12:24:53,460 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 37 mSDsluCounter, 282 mSDsCounter, 0 mSdLazyCounter, 615 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 335 SdHoareTripleChecker+Invalid, 654 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 615 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:24:53,460 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 335 Invalid, 654 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 615 Invalid, 0 Unknown, 0 Unchecked, 2.3s Time] [2022-04-28 12:24:53,461 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 366 states. [2022-04-28 12:24:54,090 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 366 to 364. [2022-04-28 12:24:54,090 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:24:54,091 INFO L82 GeneralOperation]: Start isEquivalent. First operand 366 states. Second operand has 364 states, 231 states have (on average 1.2294372294372293) internal successors, (284), 239 states have internal predecessors, (284), 99 states have call successors, (99), 34 states have call predecessors, (99), 33 states have return successors, (96), 90 states have call predecessors, (96), 96 states have call successors, (96) [2022-04-28 12:24:54,091 INFO L74 IsIncluded]: Start isIncluded. First operand 366 states. Second operand has 364 states, 231 states have (on average 1.2294372294372293) internal successors, (284), 239 states have internal predecessors, (284), 99 states have call successors, (99), 34 states have call predecessors, (99), 33 states have return successors, (96), 90 states have call predecessors, (96), 96 states have call successors, (96) [2022-04-28 12:24:54,092 INFO L87 Difference]: Start difference. First operand 366 states. Second operand has 364 states, 231 states have (on average 1.2294372294372293) internal successors, (284), 239 states have internal predecessors, (284), 99 states have call successors, (99), 34 states have call predecessors, (99), 33 states have return successors, (96), 90 states have call predecessors, (96), 96 states have call successors, (96) [2022-04-28 12:24:54,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:54,098 INFO L93 Difference]: Finished difference Result 366 states and 481 transitions. [2022-04-28 12:24:54,098 INFO L276 IsEmpty]: Start isEmpty. Operand 366 states and 481 transitions. [2022-04-28 12:24:54,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:24:54,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:24:54,099 INFO L74 IsIncluded]: Start isIncluded. First operand has 364 states, 231 states have (on average 1.2294372294372293) internal successors, (284), 239 states have internal predecessors, (284), 99 states have call successors, (99), 34 states have call predecessors, (99), 33 states have return successors, (96), 90 states have call predecessors, (96), 96 states have call successors, (96) Second operand 366 states. [2022-04-28 12:24:54,099 INFO L87 Difference]: Start difference. First operand has 364 states, 231 states have (on average 1.2294372294372293) internal successors, (284), 239 states have internal predecessors, (284), 99 states have call successors, (99), 34 states have call predecessors, (99), 33 states have return successors, (96), 90 states have call predecessors, (96), 96 states have call successors, (96) Second operand 366 states. [2022-04-28 12:24:54,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:54,105 INFO L93 Difference]: Finished difference Result 366 states and 481 transitions. [2022-04-28 12:24:54,105 INFO L276 IsEmpty]: Start isEmpty. Operand 366 states and 481 transitions. [2022-04-28 12:24:54,105 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:24:54,105 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:24:54,105 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:24:54,105 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:24:54,106 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 364 states, 231 states have (on average 1.2294372294372293) internal successors, (284), 239 states have internal predecessors, (284), 99 states have call successors, (99), 34 states have call predecessors, (99), 33 states have return successors, (96), 90 states have call predecessors, (96), 96 states have call successors, (96) [2022-04-28 12:24:54,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 364 states to 364 states and 479 transitions. [2022-04-28 12:24:54,113 INFO L78 Accepts]: Start accepts. Automaton has 364 states and 479 transitions. Word has length 107 [2022-04-28 12:24:54,113 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:24:54,113 INFO L495 AbstractCegarLoop]: Abstraction has 364 states and 479 transitions. [2022-04-28 12:24:54,113 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 12:24:54,113 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 364 states and 479 transitions. [2022-04-28 12:24:54,803 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 479 edges. 479 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:54,803 INFO L276 IsEmpty]: Start isEmpty. Operand 364 states and 479 transitions. [2022-04-28 12:24:54,804 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-28 12:24:54,804 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:24:54,804 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:24:54,820 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Forceful destruction successful, exit code 0 [2022-04-28 12:24:55,005 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-28 12:24:55,005 INFO L420 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:24:55,005 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:24:55,005 INFO L85 PathProgramCache]: Analyzing trace with hash 1514731471, now seen corresponding path program 5 times [2022-04-28 12:24:55,005 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:24:55,005 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1382651554] [2022-04-28 12:24:55,006 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:24:55,006 INFO L85 PathProgramCache]: Analyzing trace with hash 1514731471, now seen corresponding path program 6 times [2022-04-28 12:24:55,006 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:24:55,006 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [20439469] [2022-04-28 12:24:55,006 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:24:55,006 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:24:55,018 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:24:55,018 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [144615515] [2022-04-28 12:24:55,018 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:24:55,018 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:24:55,018 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:24:55,019 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:24:55,020 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-28 12:24:55,108 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:24:55,108 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:24:55,109 INFO L263 TraceCheckSpWp]: Trace formula consists of 267 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 12:24:55,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:24:55,127 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:24:55,558 INFO L272 TraceCheckUtils]: 0: Hoare triple {38060#true} call ULTIMATE.init(); {38060#true} is VALID [2022-04-28 12:24:55,558 INFO L290 TraceCheckUtils]: 1: Hoare triple {38060#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,559 INFO L290 TraceCheckUtils]: 2: Hoare triple {38068#(<= ~counter~0 0)} assume true; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,559 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38068#(<= ~counter~0 0)} {38060#true} #98#return; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,560 INFO L272 TraceCheckUtils]: 4: Hoare triple {38068#(<= ~counter~0 0)} call #t~ret8 := main(); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,560 INFO L290 TraceCheckUtils]: 5: Hoare triple {38068#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,560 INFO L272 TraceCheckUtils]: 6: Hoare triple {38068#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,561 INFO L290 TraceCheckUtils]: 7: Hoare triple {38068#(<= ~counter~0 0)} ~cond := #in~cond; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,561 INFO L290 TraceCheckUtils]: 8: Hoare triple {38068#(<= ~counter~0 0)} assume !(0 == ~cond); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,561 INFO L290 TraceCheckUtils]: 9: Hoare triple {38068#(<= ~counter~0 0)} assume true; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,561 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38068#(<= ~counter~0 0)} {38068#(<= ~counter~0 0)} #78#return; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,562 INFO L272 TraceCheckUtils]: 11: Hoare triple {38068#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,562 INFO L290 TraceCheckUtils]: 12: Hoare triple {38068#(<= ~counter~0 0)} ~cond := #in~cond; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,562 INFO L290 TraceCheckUtils]: 13: Hoare triple {38068#(<= ~counter~0 0)} assume !(0 == ~cond); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,562 INFO L290 TraceCheckUtils]: 14: Hoare triple {38068#(<= ~counter~0 0)} assume true; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,563 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {38068#(<= ~counter~0 0)} {38068#(<= ~counter~0 0)} #80#return; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,563 INFO L290 TraceCheckUtils]: 16: Hoare triple {38068#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,563 INFO L272 TraceCheckUtils]: 17: Hoare triple {38068#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,564 INFO L290 TraceCheckUtils]: 18: Hoare triple {38068#(<= ~counter~0 0)} ~cond := #in~cond; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,564 INFO L290 TraceCheckUtils]: 19: Hoare triple {38068#(<= ~counter~0 0)} assume !(0 == ~cond); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,564 INFO L290 TraceCheckUtils]: 20: Hoare triple {38068#(<= ~counter~0 0)} assume true; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,564 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38068#(<= ~counter~0 0)} {38068#(<= ~counter~0 0)} #82#return; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,565 INFO L272 TraceCheckUtils]: 22: Hoare triple {38068#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,565 INFO L290 TraceCheckUtils]: 23: Hoare triple {38068#(<= ~counter~0 0)} ~cond := #in~cond; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,565 INFO L290 TraceCheckUtils]: 24: Hoare triple {38068#(<= ~counter~0 0)} assume !(0 == ~cond); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,565 INFO L290 TraceCheckUtils]: 25: Hoare triple {38068#(<= ~counter~0 0)} assume true; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,566 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {38068#(<= ~counter~0 0)} {38068#(<= ~counter~0 0)} #84#return; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,567 INFO L290 TraceCheckUtils]: 27: Hoare triple {38068#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38147#(<= ~counter~0 1)} is VALID [2022-04-28 12:24:55,567 INFO L290 TraceCheckUtils]: 28: Hoare triple {38147#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {38147#(<= ~counter~0 1)} is VALID [2022-04-28 12:24:55,567 INFO L290 TraceCheckUtils]: 29: Hoare triple {38147#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {38147#(<= ~counter~0 1)} is VALID [2022-04-28 12:24:55,568 INFO L290 TraceCheckUtils]: 30: Hoare triple {38147#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,568 INFO L290 TraceCheckUtils]: 31: Hoare triple {38157#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,569 INFO L272 TraceCheckUtils]: 32: Hoare triple {38157#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,569 INFO L290 TraceCheckUtils]: 33: Hoare triple {38157#(<= ~counter~0 2)} ~cond := #in~cond; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,569 INFO L290 TraceCheckUtils]: 34: Hoare triple {38157#(<= ~counter~0 2)} assume !(0 == ~cond); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,569 INFO L290 TraceCheckUtils]: 35: Hoare triple {38157#(<= ~counter~0 2)} assume true; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,570 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {38157#(<= ~counter~0 2)} {38157#(<= ~counter~0 2)} #86#return; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,570 INFO L272 TraceCheckUtils]: 37: Hoare triple {38157#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,570 INFO L290 TraceCheckUtils]: 38: Hoare triple {38157#(<= ~counter~0 2)} ~cond := #in~cond; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,571 INFO L290 TraceCheckUtils]: 39: Hoare triple {38157#(<= ~counter~0 2)} assume !(0 == ~cond); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,571 INFO L290 TraceCheckUtils]: 40: Hoare triple {38157#(<= ~counter~0 2)} assume true; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,571 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {38157#(<= ~counter~0 2)} {38157#(<= ~counter~0 2)} #88#return; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,572 INFO L272 TraceCheckUtils]: 42: Hoare triple {38157#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,572 INFO L290 TraceCheckUtils]: 43: Hoare triple {38157#(<= ~counter~0 2)} ~cond := #in~cond; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,572 INFO L290 TraceCheckUtils]: 44: Hoare triple {38157#(<= ~counter~0 2)} assume !(0 == ~cond); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,573 INFO L290 TraceCheckUtils]: 45: Hoare triple {38157#(<= ~counter~0 2)} assume true; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,573 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {38157#(<= ~counter~0 2)} {38157#(<= ~counter~0 2)} #90#return; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,574 INFO L272 TraceCheckUtils]: 47: Hoare triple {38157#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,574 INFO L290 TraceCheckUtils]: 48: Hoare triple {38157#(<= ~counter~0 2)} ~cond := #in~cond; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,574 INFO L290 TraceCheckUtils]: 49: Hoare triple {38157#(<= ~counter~0 2)} assume !(0 == ~cond); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,575 INFO L290 TraceCheckUtils]: 50: Hoare triple {38157#(<= ~counter~0 2)} assume true; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,575 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {38157#(<= ~counter~0 2)} {38157#(<= ~counter~0 2)} #92#return; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,576 INFO L290 TraceCheckUtils]: 52: Hoare triple {38157#(<= ~counter~0 2)} assume !(~c~0 >= ~b~0); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,576 INFO L290 TraceCheckUtils]: 53: Hoare triple {38157#(<= ~counter~0 2)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,576 INFO L290 TraceCheckUtils]: 54: Hoare triple {38157#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38230#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,577 INFO L290 TraceCheckUtils]: 55: Hoare triple {38230#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {38230#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,577 INFO L290 TraceCheckUtils]: 56: Hoare triple {38230#(<= ~counter~0 3)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {38230#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,577 INFO L290 TraceCheckUtils]: 57: Hoare triple {38230#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,578 INFO L290 TraceCheckUtils]: 58: Hoare triple {38240#(<= ~counter~0 4)} assume !!(#t~post7 < 20);havoc #t~post7; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,578 INFO L272 TraceCheckUtils]: 59: Hoare triple {38240#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,578 INFO L290 TraceCheckUtils]: 60: Hoare triple {38240#(<= ~counter~0 4)} ~cond := #in~cond; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,579 INFO L290 TraceCheckUtils]: 61: Hoare triple {38240#(<= ~counter~0 4)} assume !(0 == ~cond); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,579 INFO L290 TraceCheckUtils]: 62: Hoare triple {38240#(<= ~counter~0 4)} assume true; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,579 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {38240#(<= ~counter~0 4)} {38240#(<= ~counter~0 4)} #86#return; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,580 INFO L272 TraceCheckUtils]: 64: Hoare triple {38240#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,580 INFO L290 TraceCheckUtils]: 65: Hoare triple {38240#(<= ~counter~0 4)} ~cond := #in~cond; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,580 INFO L290 TraceCheckUtils]: 66: Hoare triple {38240#(<= ~counter~0 4)} assume !(0 == ~cond); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,580 INFO L290 TraceCheckUtils]: 67: Hoare triple {38240#(<= ~counter~0 4)} assume true; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,581 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {38240#(<= ~counter~0 4)} {38240#(<= ~counter~0 4)} #88#return; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,581 INFO L272 TraceCheckUtils]: 69: Hoare triple {38240#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,582 INFO L290 TraceCheckUtils]: 70: Hoare triple {38240#(<= ~counter~0 4)} ~cond := #in~cond; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,582 INFO L290 TraceCheckUtils]: 71: Hoare triple {38240#(<= ~counter~0 4)} assume !(0 == ~cond); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,582 INFO L290 TraceCheckUtils]: 72: Hoare triple {38240#(<= ~counter~0 4)} assume true; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,583 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {38240#(<= ~counter~0 4)} {38240#(<= ~counter~0 4)} #90#return; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,583 INFO L272 TraceCheckUtils]: 74: Hoare triple {38240#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,583 INFO L290 TraceCheckUtils]: 75: Hoare triple {38240#(<= ~counter~0 4)} ~cond := #in~cond; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,584 INFO L290 TraceCheckUtils]: 76: Hoare triple {38240#(<= ~counter~0 4)} assume !(0 == ~cond); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,584 INFO L290 TraceCheckUtils]: 77: Hoare triple {38240#(<= ~counter~0 4)} assume true; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,584 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {38240#(<= ~counter~0 4)} {38240#(<= ~counter~0 4)} #92#return; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,585 INFO L290 TraceCheckUtils]: 79: Hoare triple {38240#(<= ~counter~0 4)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,585 INFO L290 TraceCheckUtils]: 80: Hoare triple {38240#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,585 INFO L290 TraceCheckUtils]: 81: Hoare triple {38310#(<= ~counter~0 5)} assume !!(#t~post7 < 20);havoc #t~post7; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,586 INFO L272 TraceCheckUtils]: 82: Hoare triple {38310#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,586 INFO L290 TraceCheckUtils]: 83: Hoare triple {38310#(<= ~counter~0 5)} ~cond := #in~cond; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,586 INFO L290 TraceCheckUtils]: 84: Hoare triple {38310#(<= ~counter~0 5)} assume !(0 == ~cond); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,587 INFO L290 TraceCheckUtils]: 85: Hoare triple {38310#(<= ~counter~0 5)} assume true; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,587 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {38310#(<= ~counter~0 5)} {38310#(<= ~counter~0 5)} #86#return; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,587 INFO L272 TraceCheckUtils]: 87: Hoare triple {38310#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,588 INFO L290 TraceCheckUtils]: 88: Hoare triple {38310#(<= ~counter~0 5)} ~cond := #in~cond; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,588 INFO L290 TraceCheckUtils]: 89: Hoare triple {38310#(<= ~counter~0 5)} assume !(0 == ~cond); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,588 INFO L290 TraceCheckUtils]: 90: Hoare triple {38310#(<= ~counter~0 5)} assume true; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,589 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {38310#(<= ~counter~0 5)} {38310#(<= ~counter~0 5)} #88#return; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,589 INFO L272 TraceCheckUtils]: 92: Hoare triple {38310#(<= ~counter~0 5)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,589 INFO L290 TraceCheckUtils]: 93: Hoare triple {38310#(<= ~counter~0 5)} ~cond := #in~cond; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,590 INFO L290 TraceCheckUtils]: 94: Hoare triple {38310#(<= ~counter~0 5)} assume !(0 == ~cond); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,590 INFO L290 TraceCheckUtils]: 95: Hoare triple {38310#(<= ~counter~0 5)} assume true; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,590 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {38310#(<= ~counter~0 5)} {38310#(<= ~counter~0 5)} #90#return; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,591 INFO L272 TraceCheckUtils]: 97: Hoare triple {38310#(<= ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,591 INFO L290 TraceCheckUtils]: 98: Hoare triple {38310#(<= ~counter~0 5)} ~cond := #in~cond; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,591 INFO L290 TraceCheckUtils]: 99: Hoare triple {38310#(<= ~counter~0 5)} assume !(0 == ~cond); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,592 INFO L290 TraceCheckUtils]: 100: Hoare triple {38310#(<= ~counter~0 5)} assume true; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,592 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {38310#(<= ~counter~0 5)} {38310#(<= ~counter~0 5)} #92#return; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,592 INFO L290 TraceCheckUtils]: 102: Hoare triple {38310#(<= ~counter~0 5)} assume !(~c~0 >= ~b~0); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,593 INFO L290 TraceCheckUtils]: 103: Hoare triple {38310#(<= ~counter~0 5)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:24:55,593 INFO L290 TraceCheckUtils]: 104: Hoare triple {38310#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38383#(<= |main_#t~post6| 5)} is VALID [2022-04-28 12:24:55,593 INFO L290 TraceCheckUtils]: 105: Hoare triple {38383#(<= |main_#t~post6| 5)} assume !(#t~post6 < 20);havoc #t~post6; {38061#false} is VALID [2022-04-28 12:24:55,593 INFO L272 TraceCheckUtils]: 106: Hoare triple {38061#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {38061#false} is VALID [2022-04-28 12:24:55,593 INFO L290 TraceCheckUtils]: 107: Hoare triple {38061#false} ~cond := #in~cond; {38061#false} is VALID [2022-04-28 12:24:55,593 INFO L290 TraceCheckUtils]: 108: Hoare triple {38061#false} assume 0 == ~cond; {38061#false} is VALID [2022-04-28 12:24:55,593 INFO L290 TraceCheckUtils]: 109: Hoare triple {38061#false} assume !false; {38061#false} is VALID [2022-04-28 12:24:55,594 INFO L134 CoverageAnalysis]: Checked inductivity of 341 backedges. 24 proven. 221 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-28 12:24:55,594 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:24:56,034 INFO L290 TraceCheckUtils]: 109: Hoare triple {38061#false} assume !false; {38061#false} is VALID [2022-04-28 12:24:56,035 INFO L290 TraceCheckUtils]: 108: Hoare triple {38061#false} assume 0 == ~cond; {38061#false} is VALID [2022-04-28 12:24:56,035 INFO L290 TraceCheckUtils]: 107: Hoare triple {38061#false} ~cond := #in~cond; {38061#false} is VALID [2022-04-28 12:24:56,035 INFO L272 TraceCheckUtils]: 106: Hoare triple {38061#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {38061#false} is VALID [2022-04-28 12:24:56,035 INFO L290 TraceCheckUtils]: 105: Hoare triple {38411#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {38061#false} is VALID [2022-04-28 12:24:56,035 INFO L290 TraceCheckUtils]: 104: Hoare triple {38415#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38411#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:24:56,036 INFO L290 TraceCheckUtils]: 103: Hoare triple {38415#(< ~counter~0 20)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {38415#(< ~counter~0 20)} is VALID [2022-04-28 12:24:56,036 INFO L290 TraceCheckUtils]: 102: Hoare triple {38415#(< ~counter~0 20)} assume !(~c~0 >= ~b~0); {38415#(< ~counter~0 20)} is VALID [2022-04-28 12:24:56,036 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {38060#true} {38415#(< ~counter~0 20)} #92#return; {38415#(< ~counter~0 20)} is VALID [2022-04-28 12:24:56,036 INFO L290 TraceCheckUtils]: 100: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:24:56,036 INFO L290 TraceCheckUtils]: 99: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:24:56,037 INFO L290 TraceCheckUtils]: 98: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:24:56,037 INFO L272 TraceCheckUtils]: 97: Hoare triple {38415#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:24:56,037 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {38060#true} {38415#(< ~counter~0 20)} #90#return; {38415#(< ~counter~0 20)} is VALID [2022-04-28 12:24:56,037 INFO L290 TraceCheckUtils]: 95: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:24:56,037 INFO L290 TraceCheckUtils]: 94: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:24:56,037 INFO L290 TraceCheckUtils]: 93: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:24:56,037 INFO L272 TraceCheckUtils]: 92: Hoare triple {38415#(< ~counter~0 20)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:24:56,038 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {38060#true} {38415#(< ~counter~0 20)} #88#return; {38415#(< ~counter~0 20)} is VALID [2022-04-28 12:24:56,038 INFO L290 TraceCheckUtils]: 90: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:24:56,038 INFO L290 TraceCheckUtils]: 89: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:24:56,038 INFO L290 TraceCheckUtils]: 88: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:24:56,038 INFO L272 TraceCheckUtils]: 87: Hoare triple {38415#(< ~counter~0 20)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:24:56,038 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {38060#true} {38415#(< ~counter~0 20)} #86#return; {38415#(< ~counter~0 20)} is VALID [2022-04-28 12:24:56,038 INFO L290 TraceCheckUtils]: 85: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:24:56,039 INFO L290 TraceCheckUtils]: 84: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:24:56,039 INFO L290 TraceCheckUtils]: 83: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:24:56,039 INFO L272 TraceCheckUtils]: 82: Hoare triple {38415#(< ~counter~0 20)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:24:56,039 INFO L290 TraceCheckUtils]: 81: Hoare triple {38415#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {38415#(< ~counter~0 20)} is VALID [2022-04-28 12:24:56,040 INFO L290 TraceCheckUtils]: 80: Hoare triple {38488#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38415#(< ~counter~0 20)} is VALID [2022-04-28 12:24:56,040 INFO L290 TraceCheckUtils]: 79: Hoare triple {38488#(< ~counter~0 19)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {38488#(< ~counter~0 19)} is VALID [2022-04-28 12:24:56,041 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {38060#true} {38488#(< ~counter~0 19)} #92#return; {38488#(< ~counter~0 19)} is VALID [2022-04-28 12:24:56,041 INFO L290 TraceCheckUtils]: 77: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:24:56,041 INFO L290 TraceCheckUtils]: 76: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:24:56,041 INFO L290 TraceCheckUtils]: 75: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:24:56,041 INFO L272 TraceCheckUtils]: 74: Hoare triple {38488#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:24:56,041 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {38060#true} {38488#(< ~counter~0 19)} #90#return; {38488#(< ~counter~0 19)} is VALID [2022-04-28 12:24:56,041 INFO L290 TraceCheckUtils]: 72: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:24:56,041 INFO L290 TraceCheckUtils]: 71: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:24:56,041 INFO L290 TraceCheckUtils]: 70: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:24:56,042 INFO L272 TraceCheckUtils]: 69: Hoare triple {38488#(< ~counter~0 19)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:24:56,042 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {38060#true} {38488#(< ~counter~0 19)} #88#return; {38488#(< ~counter~0 19)} is VALID [2022-04-28 12:24:56,042 INFO L290 TraceCheckUtils]: 67: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:24:56,042 INFO L290 TraceCheckUtils]: 66: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:24:56,042 INFO L290 TraceCheckUtils]: 65: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:24:56,042 INFO L272 TraceCheckUtils]: 64: Hoare triple {38488#(< ~counter~0 19)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:24:56,043 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {38060#true} {38488#(< ~counter~0 19)} #86#return; {38488#(< ~counter~0 19)} is VALID [2022-04-28 12:24:56,043 INFO L290 TraceCheckUtils]: 62: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:24:56,043 INFO L290 TraceCheckUtils]: 61: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:24:56,043 INFO L290 TraceCheckUtils]: 60: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:24:56,043 INFO L272 TraceCheckUtils]: 59: Hoare triple {38488#(< ~counter~0 19)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:24:56,043 INFO L290 TraceCheckUtils]: 58: Hoare triple {38488#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {38488#(< ~counter~0 19)} is VALID [2022-04-28 12:24:56,044 INFO L290 TraceCheckUtils]: 57: Hoare triple {38558#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38488#(< ~counter~0 19)} is VALID [2022-04-28 12:24:56,044 INFO L290 TraceCheckUtils]: 56: Hoare triple {38558#(< ~counter~0 18)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {38558#(< ~counter~0 18)} is VALID [2022-04-28 12:24:56,044 INFO L290 TraceCheckUtils]: 55: Hoare triple {38558#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {38558#(< ~counter~0 18)} is VALID [2022-04-28 12:24:56,045 INFO L290 TraceCheckUtils]: 54: Hoare triple {38568#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38558#(< ~counter~0 18)} is VALID [2022-04-28 12:24:56,045 INFO L290 TraceCheckUtils]: 53: Hoare triple {38568#(< ~counter~0 17)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {38568#(< ~counter~0 17)} is VALID [2022-04-28 12:24:56,045 INFO L290 TraceCheckUtils]: 52: Hoare triple {38568#(< ~counter~0 17)} assume !(~c~0 >= ~b~0); {38568#(< ~counter~0 17)} is VALID [2022-04-28 12:24:56,046 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {38060#true} {38568#(< ~counter~0 17)} #92#return; {38568#(< ~counter~0 17)} is VALID [2022-04-28 12:24:56,046 INFO L290 TraceCheckUtils]: 50: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:24:56,046 INFO L290 TraceCheckUtils]: 49: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:24:56,046 INFO L290 TraceCheckUtils]: 48: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:24:56,046 INFO L272 TraceCheckUtils]: 47: Hoare triple {38568#(< ~counter~0 17)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:24:56,046 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {38060#true} {38568#(< ~counter~0 17)} #90#return; {38568#(< ~counter~0 17)} is VALID [2022-04-28 12:24:56,046 INFO L290 TraceCheckUtils]: 45: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:24:56,047 INFO L290 TraceCheckUtils]: 44: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:24:56,047 INFO L290 TraceCheckUtils]: 43: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:24:56,047 INFO L272 TraceCheckUtils]: 42: Hoare triple {38568#(< ~counter~0 17)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:24:56,047 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {38060#true} {38568#(< ~counter~0 17)} #88#return; {38568#(< ~counter~0 17)} is VALID [2022-04-28 12:24:56,047 INFO L290 TraceCheckUtils]: 40: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:24:56,047 INFO L290 TraceCheckUtils]: 39: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:24:56,047 INFO L290 TraceCheckUtils]: 38: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:24:56,047 INFO L272 TraceCheckUtils]: 37: Hoare triple {38568#(< ~counter~0 17)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:24:56,048 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {38060#true} {38568#(< ~counter~0 17)} #86#return; {38568#(< ~counter~0 17)} is VALID [2022-04-28 12:24:56,048 INFO L290 TraceCheckUtils]: 35: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:24:56,048 INFO L290 TraceCheckUtils]: 34: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:24:56,048 INFO L290 TraceCheckUtils]: 33: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:24:56,048 INFO L272 TraceCheckUtils]: 32: Hoare triple {38568#(< ~counter~0 17)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:24:56,048 INFO L290 TraceCheckUtils]: 31: Hoare triple {38568#(< ~counter~0 17)} assume !!(#t~post7 < 20);havoc #t~post7; {38568#(< ~counter~0 17)} is VALID [2022-04-28 12:24:56,049 INFO L290 TraceCheckUtils]: 30: Hoare triple {38641#(< ~counter~0 16)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38568#(< ~counter~0 17)} is VALID [2022-04-28 12:24:56,049 INFO L290 TraceCheckUtils]: 29: Hoare triple {38641#(< ~counter~0 16)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {38641#(< ~counter~0 16)} is VALID [2022-04-28 12:24:56,049 INFO L290 TraceCheckUtils]: 28: Hoare triple {38641#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {38641#(< ~counter~0 16)} is VALID [2022-04-28 12:24:56,050 INFO L290 TraceCheckUtils]: 27: Hoare triple {38651#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38641#(< ~counter~0 16)} is VALID [2022-04-28 12:24:56,050 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {38060#true} {38651#(< ~counter~0 15)} #84#return; {38651#(< ~counter~0 15)} is VALID [2022-04-28 12:24:56,050 INFO L290 TraceCheckUtils]: 25: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:24:56,050 INFO L290 TraceCheckUtils]: 24: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:24:56,050 INFO L290 TraceCheckUtils]: 23: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:24:56,050 INFO L272 TraceCheckUtils]: 22: Hoare triple {38651#(< ~counter~0 15)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:24:56,051 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38060#true} {38651#(< ~counter~0 15)} #82#return; {38651#(< ~counter~0 15)} is VALID [2022-04-28 12:24:56,051 INFO L290 TraceCheckUtils]: 20: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:24:56,051 INFO L290 TraceCheckUtils]: 19: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:24:56,051 INFO L290 TraceCheckUtils]: 18: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:24:56,051 INFO L272 TraceCheckUtils]: 17: Hoare triple {38651#(< ~counter~0 15)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:24:56,051 INFO L290 TraceCheckUtils]: 16: Hoare triple {38651#(< ~counter~0 15)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {38651#(< ~counter~0 15)} is VALID [2022-04-28 12:24:56,051 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {38060#true} {38651#(< ~counter~0 15)} #80#return; {38651#(< ~counter~0 15)} is VALID [2022-04-28 12:24:56,052 INFO L290 TraceCheckUtils]: 14: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:24:56,052 INFO L290 TraceCheckUtils]: 13: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:24:56,052 INFO L290 TraceCheckUtils]: 12: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:24:56,052 INFO L272 TraceCheckUtils]: 11: Hoare triple {38651#(< ~counter~0 15)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:24:56,052 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38060#true} {38651#(< ~counter~0 15)} #78#return; {38651#(< ~counter~0 15)} is VALID [2022-04-28 12:24:56,052 INFO L290 TraceCheckUtils]: 9: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:24:56,052 INFO L290 TraceCheckUtils]: 8: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:24:56,052 INFO L290 TraceCheckUtils]: 7: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:24:56,052 INFO L272 TraceCheckUtils]: 6: Hoare triple {38651#(< ~counter~0 15)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:24:56,052 INFO L290 TraceCheckUtils]: 5: Hoare triple {38651#(< ~counter~0 15)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {38651#(< ~counter~0 15)} is VALID [2022-04-28 12:24:56,053 INFO L272 TraceCheckUtils]: 4: Hoare triple {38651#(< ~counter~0 15)} call #t~ret8 := main(); {38651#(< ~counter~0 15)} is VALID [2022-04-28 12:24:56,053 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38651#(< ~counter~0 15)} {38060#true} #98#return; {38651#(< ~counter~0 15)} is VALID [2022-04-28 12:24:56,053 INFO L290 TraceCheckUtils]: 2: Hoare triple {38651#(< ~counter~0 15)} assume true; {38651#(< ~counter~0 15)} is VALID [2022-04-28 12:24:56,054 INFO L290 TraceCheckUtils]: 1: Hoare triple {38060#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {38651#(< ~counter~0 15)} is VALID [2022-04-28 12:24:56,054 INFO L272 TraceCheckUtils]: 0: Hoare triple {38060#true} call ULTIMATE.init(); {38060#true} is VALID [2022-04-28 12:24:56,054 INFO L134 CoverageAnalysis]: Checked inductivity of 341 backedges. 24 proven. 29 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 12:24:56,054 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:24:56,054 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [20439469] [2022-04-28 12:24:56,054 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:24:56,054 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [144615515] [2022-04-28 12:24:56,054 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [144615515] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:24:56,054 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:24:56,054 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 12:24:56,055 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:24:56,055 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1382651554] [2022-04-28 12:24:56,055 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1382651554] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:24:56,055 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:24:56,055 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:24:56,055 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2019616921] [2022-04-28 12:24:56,055 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:24:56,055 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 110 [2022-04-28 12:24:56,055 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:24:56,055 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:24:56,129 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 12:24:56,129 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:24:56,129 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:24:56,129 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:24:56,129 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:24:56,129 INFO L87 Difference]: Start difference. First operand 364 states and 479 transitions. Second operand has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:24:57,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:57,272 INFO L93 Difference]: Finished difference Result 434 states and 549 transitions. [2022-04-28 12:24:57,272 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 12:24:57,272 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 110 [2022-04-28 12:24:57,272 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:24:57,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:24:57,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 133 transitions. [2022-04-28 12:24:57,273 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:24:57,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 133 transitions. [2022-04-28 12:24:57,274 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 133 transitions. [2022-04-28 12:24:57,380 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 133 edges. 133 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:57,395 INFO L225 Difference]: With dead ends: 434 [2022-04-28 12:24:57,396 INFO L226 Difference]: Without dead ends: 425 [2022-04-28 12:24:57,396 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 223 GetRequests, 205 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=153, Invalid=227, Unknown=0, NotChecked=0, Total=380 [2022-04-28 12:24:57,396 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 42 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 66 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 211 SdHoareTripleChecker+Invalid, 106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 66 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:24:57,396 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [42 Valid, 211 Invalid, 106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 66 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:24:57,397 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 425 states. [2022-04-28 12:24:58,121 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 425 to 423. [2022-04-28 12:24:58,121 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:24:58,122 INFO L82 GeneralOperation]: Start isEquivalent. First operand 425 states. Second operand has 423 states, 272 states have (on average 1.2022058823529411) internal successors, (327), 279 states have internal predecessors, (327), 106 states have call successors, (106), 45 states have call predecessors, (106), 44 states have return successors, (103), 98 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-28 12:24:58,122 INFO L74 IsIncluded]: Start isIncluded. First operand 425 states. Second operand has 423 states, 272 states have (on average 1.2022058823529411) internal successors, (327), 279 states have internal predecessors, (327), 106 states have call successors, (106), 45 states have call predecessors, (106), 44 states have return successors, (103), 98 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-28 12:24:58,123 INFO L87 Difference]: Start difference. First operand 425 states. Second operand has 423 states, 272 states have (on average 1.2022058823529411) internal successors, (327), 279 states have internal predecessors, (327), 106 states have call successors, (106), 45 states have call predecessors, (106), 44 states have return successors, (103), 98 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-28 12:24:58,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:58,130 INFO L93 Difference]: Finished difference Result 425 states and 538 transitions. [2022-04-28 12:24:58,130 INFO L276 IsEmpty]: Start isEmpty. Operand 425 states and 538 transitions. [2022-04-28 12:24:58,131 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:24:58,131 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:24:58,131 INFO L74 IsIncluded]: Start isIncluded. First operand has 423 states, 272 states have (on average 1.2022058823529411) internal successors, (327), 279 states have internal predecessors, (327), 106 states have call successors, (106), 45 states have call predecessors, (106), 44 states have return successors, (103), 98 states have call predecessors, (103), 103 states have call successors, (103) Second operand 425 states. [2022-04-28 12:24:58,131 INFO L87 Difference]: Start difference. First operand has 423 states, 272 states have (on average 1.2022058823529411) internal successors, (327), 279 states have internal predecessors, (327), 106 states have call successors, (106), 45 states have call predecessors, (106), 44 states have return successors, (103), 98 states have call predecessors, (103), 103 states have call successors, (103) Second operand 425 states. [2022-04-28 12:24:58,138 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:58,139 INFO L93 Difference]: Finished difference Result 425 states and 538 transitions. [2022-04-28 12:24:58,139 INFO L276 IsEmpty]: Start isEmpty. Operand 425 states and 538 transitions. [2022-04-28 12:24:58,139 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:24:58,139 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:24:58,139 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:24:58,139 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:24:58,141 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 423 states, 272 states have (on average 1.2022058823529411) internal successors, (327), 279 states have internal predecessors, (327), 106 states have call successors, (106), 45 states have call predecessors, (106), 44 states have return successors, (103), 98 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-28 12:24:58,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 423 states to 423 states and 536 transitions. [2022-04-28 12:24:58,151 INFO L78 Accepts]: Start accepts. Automaton has 423 states and 536 transitions. Word has length 110 [2022-04-28 12:24:58,151 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:24:58,151 INFO L495 AbstractCegarLoop]: Abstraction has 423 states and 536 transitions. [2022-04-28 12:24:58,151 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:24:58,151 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 423 states and 536 transitions. [2022-04-28 12:24:58,977 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 536 edges. 536 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:58,977 INFO L276 IsEmpty]: Start isEmpty. Operand 423 states and 536 transitions. [2022-04-28 12:24:58,978 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-28 12:24:58,978 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:24:58,978 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:24:58,982 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2022-04-28 12:24:59,178 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2022-04-28 12:24:59,179 INFO L420 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:24:59,179 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:24:59,179 INFO L85 PathProgramCache]: Analyzing trace with hash -289933735, now seen corresponding path program 5 times [2022-04-28 12:24:59,179 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:24:59,179 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [418973446] [2022-04-28 12:24:59,179 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:24:59,179 INFO L85 PathProgramCache]: Analyzing trace with hash -289933735, now seen corresponding path program 6 times [2022-04-28 12:24:59,179 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:24:59,180 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [523531332] [2022-04-28 12:24:59,180 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:24:59,180 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:24:59,190 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:24:59,190 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1318583515] [2022-04-28 12:24:59,190 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:24:59,190 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:24:59,191 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:24:59,192 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:24:59,204 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-04-28 12:24:59,259 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:24:59,259 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:24:59,260 INFO L263 TraceCheckSpWp]: Trace formula consists of 269 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:24:59,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:24:59,279 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:24:59,559 INFO L272 TraceCheckUtils]: 0: Hoare triple {41307#true} call ULTIMATE.init(); {41307#true} is VALID [2022-04-28 12:24:59,560 INFO L290 TraceCheckUtils]: 1: Hoare triple {41307#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {41307#true} is VALID [2022-04-28 12:24:59,560 INFO L290 TraceCheckUtils]: 2: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,560 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41307#true} {41307#true} #98#return; {41307#true} is VALID [2022-04-28 12:24:59,560 INFO L272 TraceCheckUtils]: 4: Hoare triple {41307#true} call #t~ret8 := main(); {41307#true} is VALID [2022-04-28 12:24:59,560 INFO L290 TraceCheckUtils]: 5: Hoare triple {41307#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {41307#true} is VALID [2022-04-28 12:24:59,560 INFO L272 TraceCheckUtils]: 6: Hoare triple {41307#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,560 INFO L290 TraceCheckUtils]: 7: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,560 INFO L290 TraceCheckUtils]: 8: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,560 INFO L290 TraceCheckUtils]: 9: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,560 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41307#true} {41307#true} #78#return; {41307#true} is VALID [2022-04-28 12:24:59,560 INFO L272 TraceCheckUtils]: 11: Hoare triple {41307#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,560 INFO L290 TraceCheckUtils]: 12: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,560 INFO L290 TraceCheckUtils]: 13: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,560 INFO L290 TraceCheckUtils]: 14: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,560 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41307#true} {41307#true} #80#return; {41307#true} is VALID [2022-04-28 12:24:59,560 INFO L290 TraceCheckUtils]: 16: Hoare triple {41307#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {41307#true} is VALID [2022-04-28 12:24:59,560 INFO L272 TraceCheckUtils]: 17: Hoare triple {41307#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,560 INFO L290 TraceCheckUtils]: 18: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,561 INFO L290 TraceCheckUtils]: 19: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,561 INFO L290 TraceCheckUtils]: 20: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,561 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41307#true} {41307#true} #82#return; {41307#true} is VALID [2022-04-28 12:24:59,561 INFO L272 TraceCheckUtils]: 22: Hoare triple {41307#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,561 INFO L290 TraceCheckUtils]: 23: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,561 INFO L290 TraceCheckUtils]: 24: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,561 INFO L290 TraceCheckUtils]: 25: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,561 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41307#true} {41307#true} #84#return; {41307#true} is VALID [2022-04-28 12:24:59,561 INFO L290 TraceCheckUtils]: 27: Hoare triple {41307#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41307#true} is VALID [2022-04-28 12:24:59,561 INFO L290 TraceCheckUtils]: 28: Hoare triple {41307#true} assume !!(#t~post6 < 20);havoc #t~post6; {41307#true} is VALID [2022-04-28 12:24:59,561 INFO L290 TraceCheckUtils]: 29: Hoare triple {41307#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {41307#true} is VALID [2022-04-28 12:24:59,561 INFO L290 TraceCheckUtils]: 30: Hoare triple {41307#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41307#true} is VALID [2022-04-28 12:24:59,561 INFO L290 TraceCheckUtils]: 31: Hoare triple {41307#true} assume !!(#t~post7 < 20);havoc #t~post7; {41307#true} is VALID [2022-04-28 12:24:59,561 INFO L272 TraceCheckUtils]: 32: Hoare triple {41307#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,561 INFO L290 TraceCheckUtils]: 33: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,561 INFO L290 TraceCheckUtils]: 34: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,561 INFO L290 TraceCheckUtils]: 35: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,561 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {41307#true} {41307#true} #86#return; {41307#true} is VALID [2022-04-28 12:24:59,561 INFO L272 TraceCheckUtils]: 37: Hoare triple {41307#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,562 INFO L290 TraceCheckUtils]: 38: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,562 INFO L290 TraceCheckUtils]: 39: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,562 INFO L290 TraceCheckUtils]: 40: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,562 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {41307#true} {41307#true} #88#return; {41307#true} is VALID [2022-04-28 12:24:59,562 INFO L272 TraceCheckUtils]: 42: Hoare triple {41307#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,562 INFO L290 TraceCheckUtils]: 43: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,562 INFO L290 TraceCheckUtils]: 44: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,562 INFO L290 TraceCheckUtils]: 45: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,562 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {41307#true} {41307#true} #90#return; {41307#true} is VALID [2022-04-28 12:24:59,562 INFO L272 TraceCheckUtils]: 47: Hoare triple {41307#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,562 INFO L290 TraceCheckUtils]: 48: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,562 INFO L290 TraceCheckUtils]: 49: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,562 INFO L290 TraceCheckUtils]: 50: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,562 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {41307#true} {41307#true} #92#return; {41307#true} is VALID [2022-04-28 12:24:59,563 INFO L290 TraceCheckUtils]: 52: Hoare triple {41307#true} assume !(~c~0 >= ~b~0); {41468#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:24:59,563 INFO L290 TraceCheckUtils]: 53: Hoare triple {41468#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {41472#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:24:59,564 INFO L290 TraceCheckUtils]: 54: Hoare triple {41472#(< main_~b~0 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41472#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:24:59,564 INFO L290 TraceCheckUtils]: 55: Hoare triple {41472#(< main_~b~0 main_~a~0)} assume !!(#t~post6 < 20);havoc #t~post6; {41472#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:24:59,564 INFO L290 TraceCheckUtils]: 56: Hoare triple {41472#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:59,565 INFO L290 TraceCheckUtils]: 57: Hoare triple {41482#(< main_~b~0 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:59,565 INFO L290 TraceCheckUtils]: 58: Hoare triple {41482#(< main_~b~0 main_~c~0)} assume !!(#t~post7 < 20);havoc #t~post7; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:59,565 INFO L272 TraceCheckUtils]: 59: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,565 INFO L290 TraceCheckUtils]: 60: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,565 INFO L290 TraceCheckUtils]: 61: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,565 INFO L290 TraceCheckUtils]: 62: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,566 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #86#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:59,566 INFO L272 TraceCheckUtils]: 64: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,566 INFO L290 TraceCheckUtils]: 65: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,566 INFO L290 TraceCheckUtils]: 66: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,566 INFO L290 TraceCheckUtils]: 67: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,567 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #88#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:59,567 INFO L272 TraceCheckUtils]: 69: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,567 INFO L290 TraceCheckUtils]: 70: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,567 INFO L290 TraceCheckUtils]: 71: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,567 INFO L290 TraceCheckUtils]: 72: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,567 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #90#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:59,568 INFO L272 TraceCheckUtils]: 74: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,568 INFO L290 TraceCheckUtils]: 75: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,568 INFO L290 TraceCheckUtils]: 76: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,568 INFO L290 TraceCheckUtils]: 77: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,568 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #92#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:59,570 INFO L290 TraceCheckUtils]: 79: Hoare triple {41482#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:24:59,570 INFO L290 TraceCheckUtils]: 80: Hoare triple {41552#(< 0 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:24:59,570 INFO L290 TraceCheckUtils]: 81: Hoare triple {41552#(< 0 main_~c~0)} assume !!(#t~post7 < 20);havoc #t~post7; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:24:59,570 INFO L272 TraceCheckUtils]: 82: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,570 INFO L290 TraceCheckUtils]: 83: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,571 INFO L290 TraceCheckUtils]: 84: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,571 INFO L290 TraceCheckUtils]: 85: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,571 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #86#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:24:59,571 INFO L272 TraceCheckUtils]: 87: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,571 INFO L290 TraceCheckUtils]: 88: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,571 INFO L290 TraceCheckUtils]: 89: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,571 INFO L290 TraceCheckUtils]: 90: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,572 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #88#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:24:59,572 INFO L272 TraceCheckUtils]: 92: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,572 INFO L290 TraceCheckUtils]: 93: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,572 INFO L290 TraceCheckUtils]: 94: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,572 INFO L290 TraceCheckUtils]: 95: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,573 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #90#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:24:59,573 INFO L272 TraceCheckUtils]: 97: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,573 INFO L290 TraceCheckUtils]: 98: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,573 INFO L290 TraceCheckUtils]: 99: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,573 INFO L290 TraceCheckUtils]: 100: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,573 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #92#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:24:59,574 INFO L290 TraceCheckUtils]: 102: Hoare triple {41552#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:24:59,574 INFO L290 TraceCheckUtils]: 103: Hoare triple {41552#(< 0 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {41625#(< 0 main_~b~0)} is VALID [2022-04-28 12:24:59,574 INFO L290 TraceCheckUtils]: 104: Hoare triple {41625#(< 0 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41625#(< 0 main_~b~0)} is VALID [2022-04-28 12:24:59,575 INFO L290 TraceCheckUtils]: 105: Hoare triple {41625#(< 0 main_~b~0)} assume !!(#t~post6 < 20);havoc #t~post6; {41625#(< 0 main_~b~0)} is VALID [2022-04-28 12:24:59,575 INFO L290 TraceCheckUtils]: 106: Hoare triple {41625#(< 0 main_~b~0)} assume !(0 != ~b~0); {41308#false} is VALID [2022-04-28 12:24:59,575 INFO L272 TraceCheckUtils]: 107: Hoare triple {41308#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {41308#false} is VALID [2022-04-28 12:24:59,575 INFO L290 TraceCheckUtils]: 108: Hoare triple {41308#false} ~cond := #in~cond; {41308#false} is VALID [2022-04-28 12:24:59,575 INFO L290 TraceCheckUtils]: 109: Hoare triple {41308#false} assume 0 == ~cond; {41308#false} is VALID [2022-04-28 12:24:59,575 INFO L290 TraceCheckUtils]: 110: Hoare triple {41308#false} assume !false; {41308#false} is VALID [2022-04-28 12:24:59,576 INFO L134 CoverageAnalysis]: Checked inductivity of 343 backedges. 44 proven. 11 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 12:24:59,576 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:24:59,885 INFO L290 TraceCheckUtils]: 110: Hoare triple {41308#false} assume !false; {41308#false} is VALID [2022-04-28 12:24:59,885 INFO L290 TraceCheckUtils]: 109: Hoare triple {41308#false} assume 0 == ~cond; {41308#false} is VALID [2022-04-28 12:24:59,886 INFO L290 TraceCheckUtils]: 108: Hoare triple {41308#false} ~cond := #in~cond; {41308#false} is VALID [2022-04-28 12:24:59,886 INFO L272 TraceCheckUtils]: 107: Hoare triple {41308#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {41308#false} is VALID [2022-04-28 12:24:59,886 INFO L290 TraceCheckUtils]: 106: Hoare triple {41625#(< 0 main_~b~0)} assume !(0 != ~b~0); {41308#false} is VALID [2022-04-28 12:24:59,886 INFO L290 TraceCheckUtils]: 105: Hoare triple {41625#(< 0 main_~b~0)} assume !!(#t~post6 < 20);havoc #t~post6; {41625#(< 0 main_~b~0)} is VALID [2022-04-28 12:24:59,886 INFO L290 TraceCheckUtils]: 104: Hoare triple {41625#(< 0 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41625#(< 0 main_~b~0)} is VALID [2022-04-28 12:24:59,887 INFO L290 TraceCheckUtils]: 103: Hoare triple {41552#(< 0 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {41625#(< 0 main_~b~0)} is VALID [2022-04-28 12:24:59,887 INFO L290 TraceCheckUtils]: 102: Hoare triple {41552#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:24:59,888 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #92#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:24:59,888 INFO L290 TraceCheckUtils]: 100: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,888 INFO L290 TraceCheckUtils]: 99: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,888 INFO L290 TraceCheckUtils]: 98: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,888 INFO L272 TraceCheckUtils]: 97: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,889 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #90#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:24:59,889 INFO L290 TraceCheckUtils]: 95: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,889 INFO L290 TraceCheckUtils]: 94: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,889 INFO L290 TraceCheckUtils]: 93: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,889 INFO L272 TraceCheckUtils]: 92: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,889 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #88#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:24:59,889 INFO L290 TraceCheckUtils]: 90: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,889 INFO L290 TraceCheckUtils]: 89: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,889 INFO L290 TraceCheckUtils]: 88: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,889 INFO L272 TraceCheckUtils]: 87: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,890 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #86#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:24:59,890 INFO L290 TraceCheckUtils]: 85: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,890 INFO L290 TraceCheckUtils]: 84: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,890 INFO L290 TraceCheckUtils]: 83: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,890 INFO L272 TraceCheckUtils]: 82: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,890 INFO L290 TraceCheckUtils]: 81: Hoare triple {41552#(< 0 main_~c~0)} assume !!(#t~post7 < 20);havoc #t~post7; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:24:59,891 INFO L290 TraceCheckUtils]: 80: Hoare triple {41552#(< 0 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:24:59,892 INFO L290 TraceCheckUtils]: 79: Hoare triple {41482#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:24:59,893 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #92#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:59,893 INFO L290 TraceCheckUtils]: 77: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,893 INFO L290 TraceCheckUtils]: 76: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,893 INFO L290 TraceCheckUtils]: 75: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,893 INFO L272 TraceCheckUtils]: 74: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,893 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #90#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:59,894 INFO L290 TraceCheckUtils]: 72: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,894 INFO L290 TraceCheckUtils]: 71: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,894 INFO L290 TraceCheckUtils]: 70: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,894 INFO L272 TraceCheckUtils]: 69: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,894 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #88#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:59,894 INFO L290 TraceCheckUtils]: 67: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,894 INFO L290 TraceCheckUtils]: 66: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,894 INFO L290 TraceCheckUtils]: 65: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,894 INFO L272 TraceCheckUtils]: 64: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,895 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #86#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:59,895 INFO L290 TraceCheckUtils]: 62: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,895 INFO L290 TraceCheckUtils]: 61: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,895 INFO L290 TraceCheckUtils]: 60: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,895 INFO L272 TraceCheckUtils]: 59: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,895 INFO L290 TraceCheckUtils]: 58: Hoare triple {41482#(< main_~b~0 main_~c~0)} assume !!(#t~post7 < 20);havoc #t~post7; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:59,896 INFO L290 TraceCheckUtils]: 57: Hoare triple {41482#(< main_~b~0 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:59,896 INFO L290 TraceCheckUtils]: 56: Hoare triple {41472#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:59,896 INFO L290 TraceCheckUtils]: 55: Hoare triple {41472#(< main_~b~0 main_~a~0)} assume !!(#t~post6 < 20);havoc #t~post6; {41472#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:24:59,896 INFO L290 TraceCheckUtils]: 54: Hoare triple {41472#(< main_~b~0 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41472#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:24:59,897 INFO L290 TraceCheckUtils]: 53: Hoare triple {41468#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {41472#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:24:59,897 INFO L290 TraceCheckUtils]: 52: Hoare triple {41307#true} assume !(~c~0 >= ~b~0); {41468#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:24:59,897 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {41307#true} {41307#true} #92#return; {41307#true} is VALID [2022-04-28 12:24:59,897 INFO L290 TraceCheckUtils]: 50: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,897 INFO L290 TraceCheckUtils]: 49: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,897 INFO L290 TraceCheckUtils]: 48: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,897 INFO L272 TraceCheckUtils]: 47: Hoare triple {41307#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,897 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {41307#true} {41307#true} #90#return; {41307#true} is VALID [2022-04-28 12:24:59,897 INFO L290 TraceCheckUtils]: 45: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,897 INFO L290 TraceCheckUtils]: 44: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L290 TraceCheckUtils]: 43: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L272 TraceCheckUtils]: 42: Hoare triple {41307#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {41307#true} {41307#true} #88#return; {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L290 TraceCheckUtils]: 40: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L290 TraceCheckUtils]: 39: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L290 TraceCheckUtils]: 38: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L272 TraceCheckUtils]: 37: Hoare triple {41307#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {41307#true} {41307#true} #86#return; {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L290 TraceCheckUtils]: 35: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L290 TraceCheckUtils]: 34: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L290 TraceCheckUtils]: 33: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L272 TraceCheckUtils]: 32: Hoare triple {41307#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L290 TraceCheckUtils]: 31: Hoare triple {41307#true} assume !!(#t~post7 < 20);havoc #t~post7; {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L290 TraceCheckUtils]: 30: Hoare triple {41307#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L290 TraceCheckUtils]: 29: Hoare triple {41307#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L290 TraceCheckUtils]: 28: Hoare triple {41307#true} assume !!(#t~post6 < 20);havoc #t~post6; {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L290 TraceCheckUtils]: 27: Hoare triple {41307#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41307#true} {41307#true} #84#return; {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L290 TraceCheckUtils]: 25: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L290 TraceCheckUtils]: 24: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,898 INFO L290 TraceCheckUtils]: 23: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L272 TraceCheckUtils]: 22: Hoare triple {41307#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41307#true} {41307#true} #82#return; {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L290 TraceCheckUtils]: 20: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L290 TraceCheckUtils]: 19: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L290 TraceCheckUtils]: 18: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L272 TraceCheckUtils]: 17: Hoare triple {41307#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L290 TraceCheckUtils]: 16: Hoare triple {41307#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41307#true} {41307#true} #80#return; {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L290 TraceCheckUtils]: 14: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L290 TraceCheckUtils]: 13: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L290 TraceCheckUtils]: 12: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L272 TraceCheckUtils]: 11: Hoare triple {41307#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41307#true} {41307#true} #78#return; {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L290 TraceCheckUtils]: 9: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L290 TraceCheckUtils]: 8: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L290 TraceCheckUtils]: 7: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L272 TraceCheckUtils]: 6: Hoare triple {41307#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L290 TraceCheckUtils]: 5: Hoare triple {41307#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L272 TraceCheckUtils]: 4: Hoare triple {41307#true} call #t~ret8 := main(); {41307#true} is VALID [2022-04-28 12:24:59,899 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41307#true} {41307#true} #98#return; {41307#true} is VALID [2022-04-28 12:24:59,900 INFO L290 TraceCheckUtils]: 2: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:24:59,900 INFO L290 TraceCheckUtils]: 1: Hoare triple {41307#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {41307#true} is VALID [2022-04-28 12:24:59,900 INFO L272 TraceCheckUtils]: 0: Hoare triple {41307#true} call ULTIMATE.init(); {41307#true} is VALID [2022-04-28 12:24:59,900 INFO L134 CoverageAnalysis]: Checked inductivity of 343 backedges. 44 proven. 11 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 12:24:59,900 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:24:59,900 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [523531332] [2022-04-28 12:24:59,900 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:24:59,900 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1318583515] [2022-04-28 12:24:59,900 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1318583515] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:24:59,900 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:24:59,900 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 7 [2022-04-28 12:24:59,900 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:24:59,900 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [418973446] [2022-04-28 12:24:59,901 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [418973446] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:24:59,901 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:24:59,901 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:24:59,901 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1608226660] [2022-04-28 12:24:59,901 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:24:59,901 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) Word has length 111 [2022-04-28 12:24:59,901 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:24:59,901 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-28 12:24:59,960 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 12:24:59,960 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:24:59,960 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:24:59,960 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:24:59,960 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-04-28 12:24:59,960 INFO L87 Difference]: Start difference. First operand 423 states and 536 transitions. Second operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-28 12:25:02,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:25:02,161 INFO L93 Difference]: Finished difference Result 589 states and 810 transitions. [2022-04-28 12:25:02,162 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 12:25:02,162 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) Word has length 111 [2022-04-28 12:25:02,162 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:25:02,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-28 12:25:02,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 178 transitions. [2022-04-28 12:25:02,164 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-28 12:25:02,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 178 transitions. [2022-04-28 12:25:02,166 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 178 transitions. [2022-04-28 12:25:02,321 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 12:25:02,336 INFO L225 Difference]: With dead ends: 589 [2022-04-28 12:25:02,336 INFO L226 Difference]: Without dead ends: 581 [2022-04-28 12:25:02,336 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 237 GetRequests, 220 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 38 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=75, Invalid=197, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:25:02,337 INFO L413 NwaCegarLoop]: 108 mSDtfsCounter, 32 mSDsluCounter, 261 mSDsCounter, 0 mSdLazyCounter, 267 mSolverCounterSat, 45 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 369 SdHoareTripleChecker+Invalid, 312 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 45 IncrementalHoareTripleChecker+Valid, 267 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:25:02,337 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 369 Invalid, 312 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [45 Valid, 267 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:25:02,337 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 581 states. [2022-04-28 12:25:03,235 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 581 to 470. [2022-04-28 12:25:03,235 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:25:03,235 INFO L82 GeneralOperation]: Start isEquivalent. First operand 581 states. Second operand has 470 states, 301 states have (on average 1.2259136212624584) internal successors, (369), 306 states have internal predecessors, (369), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 12:25:03,236 INFO L74 IsIncluded]: Start isIncluded. First operand 581 states. Second operand has 470 states, 301 states have (on average 1.2259136212624584) internal successors, (369), 306 states have internal predecessors, (369), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 12:25:03,236 INFO L87 Difference]: Start difference. First operand 581 states. Second operand has 470 states, 301 states have (on average 1.2259136212624584) internal successors, (369), 306 states have internal predecessors, (369), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 12:25:03,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:25:03,251 INFO L93 Difference]: Finished difference Result 581 states and 798 transitions. [2022-04-28 12:25:03,251 INFO L276 IsEmpty]: Start isEmpty. Operand 581 states and 798 transitions. [2022-04-28 12:25:03,252 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:25:03,252 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:25:03,252 INFO L74 IsIncluded]: Start isIncluded. First operand has 470 states, 301 states have (on average 1.2259136212624584) internal successors, (369), 306 states have internal predecessors, (369), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) Second operand 581 states. [2022-04-28 12:25:03,253 INFO L87 Difference]: Start difference. First operand has 470 states, 301 states have (on average 1.2259136212624584) internal successors, (369), 306 states have internal predecessors, (369), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) Second operand 581 states. [2022-04-28 12:25:03,267 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:25:03,268 INFO L93 Difference]: Finished difference Result 581 states and 798 transitions. [2022-04-28 12:25:03,268 INFO L276 IsEmpty]: Start isEmpty. Operand 581 states and 798 transitions. [2022-04-28 12:25:03,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:25:03,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:25:03,269 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:25:03,269 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:25:03,269 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 470 states, 301 states have (on average 1.2259136212624584) internal successors, (369), 306 states have internal predecessors, (369), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 12:25:03,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 470 states to 470 states and 614 transitions. [2022-04-28 12:25:03,281 INFO L78 Accepts]: Start accepts. Automaton has 470 states and 614 transitions. Word has length 111 [2022-04-28 12:25:03,281 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:25:03,281 INFO L495 AbstractCegarLoop]: Abstraction has 470 states and 614 transitions. [2022-04-28 12:25:03,281 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-28 12:25:03,281 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 470 states and 614 transitions. [2022-04-28 12:25:04,259 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 614 edges. 614 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:25:04,259 INFO L276 IsEmpty]: Start isEmpty. Operand 470 states and 614 transitions. [2022-04-28 12:25:04,260 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 113 [2022-04-28 12:25:04,260 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:25:04,260 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:25:04,276 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Forceful destruction successful, exit code 0 [2022-04-28 12:25:04,461 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 28 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-04-28 12:25:04,461 INFO L420 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:25:04,461 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:25:04,461 INFO L85 PathProgramCache]: Analyzing trace with hash -1282766646, now seen corresponding path program 3 times [2022-04-28 12:25:04,461 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:25:04,461 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1835574776] [2022-04-28 12:25:04,462 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:25:04,462 INFO L85 PathProgramCache]: Analyzing trace with hash -1282766646, now seen corresponding path program 4 times [2022-04-28 12:25:04,462 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:25:04,462 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [46368238] [2022-04-28 12:25:04,462 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:25:04,462 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:25:04,471 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:25:04,471 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1124986705] [2022-04-28 12:25:04,471 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:25:04,471 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:25:04,471 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:25:04,472 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:25:04,472 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Waiting until timeout for monitored process [2022-04-28 12:25:04,530 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:25:04,530 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:25:04,531 INFO L263 TraceCheckSpWp]: Trace formula consists of 312 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 12:25:04,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:25:04,548 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:25:04,909 INFO L272 TraceCheckUtils]: 0: Hoare triple {45285#true} call ULTIMATE.init(); {45285#true} is VALID [2022-04-28 12:25:04,910 INFO L290 TraceCheckUtils]: 1: Hoare triple {45285#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,910 INFO L290 TraceCheckUtils]: 2: Hoare triple {45293#(<= ~counter~0 0)} assume true; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,911 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45293#(<= ~counter~0 0)} {45285#true} #98#return; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,911 INFO L272 TraceCheckUtils]: 4: Hoare triple {45293#(<= ~counter~0 0)} call #t~ret8 := main(); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,911 INFO L290 TraceCheckUtils]: 5: Hoare triple {45293#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,911 INFO L272 TraceCheckUtils]: 6: Hoare triple {45293#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,912 INFO L290 TraceCheckUtils]: 7: Hoare triple {45293#(<= ~counter~0 0)} ~cond := #in~cond; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,912 INFO L290 TraceCheckUtils]: 8: Hoare triple {45293#(<= ~counter~0 0)} assume !(0 == ~cond); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,912 INFO L290 TraceCheckUtils]: 9: Hoare triple {45293#(<= ~counter~0 0)} assume true; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,912 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {45293#(<= ~counter~0 0)} {45293#(<= ~counter~0 0)} #78#return; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,913 INFO L272 TraceCheckUtils]: 11: Hoare triple {45293#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,913 INFO L290 TraceCheckUtils]: 12: Hoare triple {45293#(<= ~counter~0 0)} ~cond := #in~cond; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,913 INFO L290 TraceCheckUtils]: 13: Hoare triple {45293#(<= ~counter~0 0)} assume !(0 == ~cond); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,913 INFO L290 TraceCheckUtils]: 14: Hoare triple {45293#(<= ~counter~0 0)} assume true; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,914 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {45293#(<= ~counter~0 0)} {45293#(<= ~counter~0 0)} #80#return; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,914 INFO L290 TraceCheckUtils]: 16: Hoare triple {45293#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,914 INFO L272 TraceCheckUtils]: 17: Hoare triple {45293#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,915 INFO L290 TraceCheckUtils]: 18: Hoare triple {45293#(<= ~counter~0 0)} ~cond := #in~cond; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,915 INFO L290 TraceCheckUtils]: 19: Hoare triple {45293#(<= ~counter~0 0)} assume !(0 == ~cond); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,915 INFO L290 TraceCheckUtils]: 20: Hoare triple {45293#(<= ~counter~0 0)} assume true; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,915 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {45293#(<= ~counter~0 0)} {45293#(<= ~counter~0 0)} #82#return; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,916 INFO L272 TraceCheckUtils]: 22: Hoare triple {45293#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,916 INFO L290 TraceCheckUtils]: 23: Hoare triple {45293#(<= ~counter~0 0)} ~cond := #in~cond; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,916 INFO L290 TraceCheckUtils]: 24: Hoare triple {45293#(<= ~counter~0 0)} assume !(0 == ~cond); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,916 INFO L290 TraceCheckUtils]: 25: Hoare triple {45293#(<= ~counter~0 0)} assume true; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,917 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {45293#(<= ~counter~0 0)} {45293#(<= ~counter~0 0)} #84#return; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:04,918 INFO L290 TraceCheckUtils]: 27: Hoare triple {45293#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45372#(<= ~counter~0 1)} is VALID [2022-04-28 12:25:04,918 INFO L290 TraceCheckUtils]: 28: Hoare triple {45372#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {45372#(<= ~counter~0 1)} is VALID [2022-04-28 12:25:04,918 INFO L290 TraceCheckUtils]: 29: Hoare triple {45372#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {45372#(<= ~counter~0 1)} is VALID [2022-04-28 12:25:04,919 INFO L290 TraceCheckUtils]: 30: Hoare triple {45372#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,919 INFO L290 TraceCheckUtils]: 31: Hoare triple {45382#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,920 INFO L272 TraceCheckUtils]: 32: Hoare triple {45382#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,920 INFO L290 TraceCheckUtils]: 33: Hoare triple {45382#(<= ~counter~0 2)} ~cond := #in~cond; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,921 INFO L290 TraceCheckUtils]: 34: Hoare triple {45382#(<= ~counter~0 2)} assume !(0 == ~cond); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,921 INFO L290 TraceCheckUtils]: 35: Hoare triple {45382#(<= ~counter~0 2)} assume true; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,921 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {45382#(<= ~counter~0 2)} {45382#(<= ~counter~0 2)} #86#return; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,924 INFO L272 TraceCheckUtils]: 37: Hoare triple {45382#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,924 INFO L290 TraceCheckUtils]: 38: Hoare triple {45382#(<= ~counter~0 2)} ~cond := #in~cond; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,924 INFO L290 TraceCheckUtils]: 39: Hoare triple {45382#(<= ~counter~0 2)} assume !(0 == ~cond); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,924 INFO L290 TraceCheckUtils]: 40: Hoare triple {45382#(<= ~counter~0 2)} assume true; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,925 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {45382#(<= ~counter~0 2)} {45382#(<= ~counter~0 2)} #88#return; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,925 INFO L272 TraceCheckUtils]: 42: Hoare triple {45382#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,925 INFO L290 TraceCheckUtils]: 43: Hoare triple {45382#(<= ~counter~0 2)} ~cond := #in~cond; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,926 INFO L290 TraceCheckUtils]: 44: Hoare triple {45382#(<= ~counter~0 2)} assume !(0 == ~cond); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,926 INFO L290 TraceCheckUtils]: 45: Hoare triple {45382#(<= ~counter~0 2)} assume true; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,926 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {45382#(<= ~counter~0 2)} {45382#(<= ~counter~0 2)} #90#return; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,927 INFO L272 TraceCheckUtils]: 47: Hoare triple {45382#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,927 INFO L290 TraceCheckUtils]: 48: Hoare triple {45382#(<= ~counter~0 2)} ~cond := #in~cond; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,927 INFO L290 TraceCheckUtils]: 49: Hoare triple {45382#(<= ~counter~0 2)} assume !(0 == ~cond); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,928 INFO L290 TraceCheckUtils]: 50: Hoare triple {45382#(<= ~counter~0 2)} assume true; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,928 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {45382#(<= ~counter~0 2)} {45382#(<= ~counter~0 2)} #92#return; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,928 INFO L290 TraceCheckUtils]: 52: Hoare triple {45382#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:04,929 INFO L290 TraceCheckUtils]: 53: Hoare triple {45382#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,929 INFO L290 TraceCheckUtils]: 54: Hoare triple {45452#(<= ~counter~0 3)} assume !!(#t~post7 < 20);havoc #t~post7; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,930 INFO L272 TraceCheckUtils]: 55: Hoare triple {45452#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,930 INFO L290 TraceCheckUtils]: 56: Hoare triple {45452#(<= ~counter~0 3)} ~cond := #in~cond; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,930 INFO L290 TraceCheckUtils]: 57: Hoare triple {45452#(<= ~counter~0 3)} assume !(0 == ~cond); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,930 INFO L290 TraceCheckUtils]: 58: Hoare triple {45452#(<= ~counter~0 3)} assume true; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,931 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {45452#(<= ~counter~0 3)} {45452#(<= ~counter~0 3)} #86#return; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,931 INFO L272 TraceCheckUtils]: 60: Hoare triple {45452#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,931 INFO L290 TraceCheckUtils]: 61: Hoare triple {45452#(<= ~counter~0 3)} ~cond := #in~cond; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,932 INFO L290 TraceCheckUtils]: 62: Hoare triple {45452#(<= ~counter~0 3)} assume !(0 == ~cond); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,932 INFO L290 TraceCheckUtils]: 63: Hoare triple {45452#(<= ~counter~0 3)} assume true; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,932 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {45452#(<= ~counter~0 3)} {45452#(<= ~counter~0 3)} #88#return; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,933 INFO L272 TraceCheckUtils]: 65: Hoare triple {45452#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,933 INFO L290 TraceCheckUtils]: 66: Hoare triple {45452#(<= ~counter~0 3)} ~cond := #in~cond; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,933 INFO L290 TraceCheckUtils]: 67: Hoare triple {45452#(<= ~counter~0 3)} assume !(0 == ~cond); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,933 INFO L290 TraceCheckUtils]: 68: Hoare triple {45452#(<= ~counter~0 3)} assume true; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,934 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {45452#(<= ~counter~0 3)} {45452#(<= ~counter~0 3)} #90#return; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,934 INFO L272 TraceCheckUtils]: 70: Hoare triple {45452#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,935 INFO L290 TraceCheckUtils]: 71: Hoare triple {45452#(<= ~counter~0 3)} ~cond := #in~cond; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,935 INFO L290 TraceCheckUtils]: 72: Hoare triple {45452#(<= ~counter~0 3)} assume !(0 == ~cond); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,935 INFO L290 TraceCheckUtils]: 73: Hoare triple {45452#(<= ~counter~0 3)} assume true; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,936 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {45452#(<= ~counter~0 3)} {45452#(<= ~counter~0 3)} #92#return; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,936 INFO L290 TraceCheckUtils]: 75: Hoare triple {45452#(<= ~counter~0 3)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:04,936 INFO L290 TraceCheckUtils]: 76: Hoare triple {45452#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,937 INFO L290 TraceCheckUtils]: 77: Hoare triple {45522#(<= ~counter~0 4)} assume !!(#t~post7 < 20);havoc #t~post7; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,937 INFO L272 TraceCheckUtils]: 78: Hoare triple {45522#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,937 INFO L290 TraceCheckUtils]: 79: Hoare triple {45522#(<= ~counter~0 4)} ~cond := #in~cond; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,938 INFO L290 TraceCheckUtils]: 80: Hoare triple {45522#(<= ~counter~0 4)} assume !(0 == ~cond); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,938 INFO L290 TraceCheckUtils]: 81: Hoare triple {45522#(<= ~counter~0 4)} assume true; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,938 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {45522#(<= ~counter~0 4)} {45522#(<= ~counter~0 4)} #86#return; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,939 INFO L272 TraceCheckUtils]: 83: Hoare triple {45522#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,939 INFO L290 TraceCheckUtils]: 84: Hoare triple {45522#(<= ~counter~0 4)} ~cond := #in~cond; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,939 INFO L290 TraceCheckUtils]: 85: Hoare triple {45522#(<= ~counter~0 4)} assume !(0 == ~cond); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,939 INFO L290 TraceCheckUtils]: 86: Hoare triple {45522#(<= ~counter~0 4)} assume true; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,940 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {45522#(<= ~counter~0 4)} {45522#(<= ~counter~0 4)} #88#return; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,940 INFO L272 TraceCheckUtils]: 88: Hoare triple {45522#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,941 INFO L290 TraceCheckUtils]: 89: Hoare triple {45522#(<= ~counter~0 4)} ~cond := #in~cond; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,941 INFO L290 TraceCheckUtils]: 90: Hoare triple {45522#(<= ~counter~0 4)} assume !(0 == ~cond); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,941 INFO L290 TraceCheckUtils]: 91: Hoare triple {45522#(<= ~counter~0 4)} assume true; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,941 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {45522#(<= ~counter~0 4)} {45522#(<= ~counter~0 4)} #90#return; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,942 INFO L272 TraceCheckUtils]: 93: Hoare triple {45522#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,942 INFO L290 TraceCheckUtils]: 94: Hoare triple {45522#(<= ~counter~0 4)} ~cond := #in~cond; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,942 INFO L290 TraceCheckUtils]: 95: Hoare triple {45522#(<= ~counter~0 4)} assume !(0 == ~cond); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,943 INFO L290 TraceCheckUtils]: 96: Hoare triple {45522#(<= ~counter~0 4)} assume true; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,943 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {45522#(<= ~counter~0 4)} {45522#(<= ~counter~0 4)} #92#return; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,943 INFO L290 TraceCheckUtils]: 98: Hoare triple {45522#(<= ~counter~0 4)} assume !(~c~0 >= ~b~0); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,944 INFO L290 TraceCheckUtils]: 99: Hoare triple {45522#(<= ~counter~0 4)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:04,944 INFO L290 TraceCheckUtils]: 100: Hoare triple {45522#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45595#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:04,944 INFO L290 TraceCheckUtils]: 101: Hoare triple {45595#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {45595#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:04,945 INFO L290 TraceCheckUtils]: 102: Hoare triple {45595#(<= ~counter~0 5)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {45595#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:04,945 INFO L290 TraceCheckUtils]: 103: Hoare triple {45595#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45605#(<= |main_#t~post7| 5)} is VALID [2022-04-28 12:25:04,945 INFO L290 TraceCheckUtils]: 104: Hoare triple {45605#(<= |main_#t~post7| 5)} assume !(#t~post7 < 20);havoc #t~post7; {45286#false} is VALID [2022-04-28 12:25:04,945 INFO L290 TraceCheckUtils]: 105: Hoare triple {45286#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {45286#false} is VALID [2022-04-28 12:25:04,945 INFO L290 TraceCheckUtils]: 106: Hoare triple {45286#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45286#false} is VALID [2022-04-28 12:25:04,945 INFO L290 TraceCheckUtils]: 107: Hoare triple {45286#false} assume !(#t~post6 < 20);havoc #t~post6; {45286#false} is VALID [2022-04-28 12:25:04,945 INFO L272 TraceCheckUtils]: 108: Hoare triple {45286#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {45286#false} is VALID [2022-04-28 12:25:04,946 INFO L290 TraceCheckUtils]: 109: Hoare triple {45286#false} ~cond := #in~cond; {45286#false} is VALID [2022-04-28 12:25:04,946 INFO L290 TraceCheckUtils]: 110: Hoare triple {45286#false} assume 0 == ~cond; {45286#false} is VALID [2022-04-28 12:25:04,946 INFO L290 TraceCheckUtils]: 111: Hoare triple {45286#false} assume !false; {45286#false} is VALID [2022-04-28 12:25:04,946 INFO L134 CoverageAnalysis]: Checked inductivity of 347 backedges. 29 proven. 222 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-28 12:25:04,946 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:25:05,333 INFO L290 TraceCheckUtils]: 111: Hoare triple {45286#false} assume !false; {45286#false} is VALID [2022-04-28 12:25:05,334 INFO L290 TraceCheckUtils]: 110: Hoare triple {45286#false} assume 0 == ~cond; {45286#false} is VALID [2022-04-28 12:25:05,334 INFO L290 TraceCheckUtils]: 109: Hoare triple {45286#false} ~cond := #in~cond; {45286#false} is VALID [2022-04-28 12:25:05,334 INFO L272 TraceCheckUtils]: 108: Hoare triple {45286#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {45286#false} is VALID [2022-04-28 12:25:05,334 INFO L290 TraceCheckUtils]: 107: Hoare triple {45286#false} assume !(#t~post6 < 20);havoc #t~post6; {45286#false} is VALID [2022-04-28 12:25:05,334 INFO L290 TraceCheckUtils]: 106: Hoare triple {45286#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45286#false} is VALID [2022-04-28 12:25:05,334 INFO L290 TraceCheckUtils]: 105: Hoare triple {45286#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {45286#false} is VALID [2022-04-28 12:25:05,335 INFO L290 TraceCheckUtils]: 104: Hoare triple {45651#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {45286#false} is VALID [2022-04-28 12:25:05,335 INFO L290 TraceCheckUtils]: 103: Hoare triple {45655#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45651#(< |main_#t~post7| 20)} is VALID [2022-04-28 12:25:05,337 INFO L290 TraceCheckUtils]: 102: Hoare triple {45655#(< ~counter~0 20)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {45655#(< ~counter~0 20)} is VALID [2022-04-28 12:25:05,337 INFO L290 TraceCheckUtils]: 101: Hoare triple {45655#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {45655#(< ~counter~0 20)} is VALID [2022-04-28 12:25:05,338 INFO L290 TraceCheckUtils]: 100: Hoare triple {45665#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45655#(< ~counter~0 20)} is VALID [2022-04-28 12:25:05,338 INFO L290 TraceCheckUtils]: 99: Hoare triple {45665#(< ~counter~0 19)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {45665#(< ~counter~0 19)} is VALID [2022-04-28 12:25:05,339 INFO L290 TraceCheckUtils]: 98: Hoare triple {45665#(< ~counter~0 19)} assume !(~c~0 >= ~b~0); {45665#(< ~counter~0 19)} is VALID [2022-04-28 12:25:05,339 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {45285#true} {45665#(< ~counter~0 19)} #92#return; {45665#(< ~counter~0 19)} is VALID [2022-04-28 12:25:05,339 INFO L290 TraceCheckUtils]: 96: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:25:05,339 INFO L290 TraceCheckUtils]: 95: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:25:05,339 INFO L290 TraceCheckUtils]: 94: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:25:05,339 INFO L272 TraceCheckUtils]: 93: Hoare triple {45665#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:25:05,340 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {45285#true} {45665#(< ~counter~0 19)} #90#return; {45665#(< ~counter~0 19)} is VALID [2022-04-28 12:25:05,340 INFO L290 TraceCheckUtils]: 91: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:25:05,340 INFO L290 TraceCheckUtils]: 90: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:25:05,340 INFO L290 TraceCheckUtils]: 89: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:25:05,340 INFO L272 TraceCheckUtils]: 88: Hoare triple {45665#(< ~counter~0 19)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:25:05,340 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {45285#true} {45665#(< ~counter~0 19)} #88#return; {45665#(< ~counter~0 19)} is VALID [2022-04-28 12:25:05,341 INFO L290 TraceCheckUtils]: 86: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:25:05,341 INFO L290 TraceCheckUtils]: 85: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:25:05,341 INFO L290 TraceCheckUtils]: 84: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:25:05,341 INFO L272 TraceCheckUtils]: 83: Hoare triple {45665#(< ~counter~0 19)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:25:05,341 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {45285#true} {45665#(< ~counter~0 19)} #86#return; {45665#(< ~counter~0 19)} is VALID [2022-04-28 12:25:05,341 INFO L290 TraceCheckUtils]: 81: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:25:05,341 INFO L290 TraceCheckUtils]: 80: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:25:05,341 INFO L290 TraceCheckUtils]: 79: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:25:05,341 INFO L272 TraceCheckUtils]: 78: Hoare triple {45665#(< ~counter~0 19)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:25:05,342 INFO L290 TraceCheckUtils]: 77: Hoare triple {45665#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {45665#(< ~counter~0 19)} is VALID [2022-04-28 12:25:05,342 INFO L290 TraceCheckUtils]: 76: Hoare triple {45738#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45665#(< ~counter~0 19)} is VALID [2022-04-28 12:25:05,343 INFO L290 TraceCheckUtils]: 75: Hoare triple {45738#(< ~counter~0 18)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {45738#(< ~counter~0 18)} is VALID [2022-04-28 12:25:05,343 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {45285#true} {45738#(< ~counter~0 18)} #92#return; {45738#(< ~counter~0 18)} is VALID [2022-04-28 12:25:05,343 INFO L290 TraceCheckUtils]: 73: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:25:05,343 INFO L290 TraceCheckUtils]: 72: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:25:05,344 INFO L290 TraceCheckUtils]: 71: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:25:05,344 INFO L272 TraceCheckUtils]: 70: Hoare triple {45738#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:25:05,344 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {45285#true} {45738#(< ~counter~0 18)} #90#return; {45738#(< ~counter~0 18)} is VALID [2022-04-28 12:25:05,344 INFO L290 TraceCheckUtils]: 68: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:25:05,344 INFO L290 TraceCheckUtils]: 67: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:25:05,344 INFO L290 TraceCheckUtils]: 66: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:25:05,344 INFO L272 TraceCheckUtils]: 65: Hoare triple {45738#(< ~counter~0 18)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:25:05,345 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {45285#true} {45738#(< ~counter~0 18)} #88#return; {45738#(< ~counter~0 18)} is VALID [2022-04-28 12:25:05,345 INFO L290 TraceCheckUtils]: 63: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:25:05,345 INFO L290 TraceCheckUtils]: 62: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:25:05,345 INFO L290 TraceCheckUtils]: 61: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:25:05,345 INFO L272 TraceCheckUtils]: 60: Hoare triple {45738#(< ~counter~0 18)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:25:05,346 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {45285#true} {45738#(< ~counter~0 18)} #86#return; {45738#(< ~counter~0 18)} is VALID [2022-04-28 12:25:05,346 INFO L290 TraceCheckUtils]: 58: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:25:05,346 INFO L290 TraceCheckUtils]: 57: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:25:05,346 INFO L290 TraceCheckUtils]: 56: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:25:05,346 INFO L272 TraceCheckUtils]: 55: Hoare triple {45738#(< ~counter~0 18)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:25:05,346 INFO L290 TraceCheckUtils]: 54: Hoare triple {45738#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {45738#(< ~counter~0 18)} is VALID [2022-04-28 12:25:05,347 INFO L290 TraceCheckUtils]: 53: Hoare triple {45808#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45738#(< ~counter~0 18)} is VALID [2022-04-28 12:25:05,347 INFO L290 TraceCheckUtils]: 52: Hoare triple {45808#(< ~counter~0 17)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {45808#(< ~counter~0 17)} is VALID [2022-04-28 12:25:05,348 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {45285#true} {45808#(< ~counter~0 17)} #92#return; {45808#(< ~counter~0 17)} is VALID [2022-04-28 12:25:05,348 INFO L290 TraceCheckUtils]: 50: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:25:05,348 INFO L290 TraceCheckUtils]: 49: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:25:05,348 INFO L290 TraceCheckUtils]: 48: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:25:05,348 INFO L272 TraceCheckUtils]: 47: Hoare triple {45808#(< ~counter~0 17)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:25:05,354 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {45285#true} {45808#(< ~counter~0 17)} #90#return; {45808#(< ~counter~0 17)} is VALID [2022-04-28 12:25:05,354 INFO L290 TraceCheckUtils]: 45: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:25:05,354 INFO L290 TraceCheckUtils]: 44: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:25:05,354 INFO L290 TraceCheckUtils]: 43: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:25:05,354 INFO L272 TraceCheckUtils]: 42: Hoare triple {45808#(< ~counter~0 17)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:25:05,354 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {45285#true} {45808#(< ~counter~0 17)} #88#return; {45808#(< ~counter~0 17)} is VALID [2022-04-28 12:25:05,354 INFO L290 TraceCheckUtils]: 40: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:25:05,354 INFO L290 TraceCheckUtils]: 39: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:25:05,355 INFO L290 TraceCheckUtils]: 38: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:25:05,355 INFO L272 TraceCheckUtils]: 37: Hoare triple {45808#(< ~counter~0 17)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:25:05,355 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {45285#true} {45808#(< ~counter~0 17)} #86#return; {45808#(< ~counter~0 17)} is VALID [2022-04-28 12:25:05,355 INFO L290 TraceCheckUtils]: 35: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:25:05,355 INFO L290 TraceCheckUtils]: 34: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:25:05,355 INFO L290 TraceCheckUtils]: 33: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:25:05,355 INFO L272 TraceCheckUtils]: 32: Hoare triple {45808#(< ~counter~0 17)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:25:05,355 INFO L290 TraceCheckUtils]: 31: Hoare triple {45808#(< ~counter~0 17)} assume !!(#t~post7 < 20);havoc #t~post7; {45808#(< ~counter~0 17)} is VALID [2022-04-28 12:25:05,356 INFO L290 TraceCheckUtils]: 30: Hoare triple {45878#(< ~counter~0 16)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45808#(< ~counter~0 17)} is VALID [2022-04-28 12:25:05,356 INFO L290 TraceCheckUtils]: 29: Hoare triple {45878#(< ~counter~0 16)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {45878#(< ~counter~0 16)} is VALID [2022-04-28 12:25:05,357 INFO L290 TraceCheckUtils]: 28: Hoare triple {45878#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {45878#(< ~counter~0 16)} is VALID [2022-04-28 12:25:05,357 INFO L290 TraceCheckUtils]: 27: Hoare triple {45888#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45878#(< ~counter~0 16)} is VALID [2022-04-28 12:25:05,358 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {45285#true} {45888#(< ~counter~0 15)} #84#return; {45888#(< ~counter~0 15)} is VALID [2022-04-28 12:25:05,358 INFO L290 TraceCheckUtils]: 25: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:25:05,358 INFO L290 TraceCheckUtils]: 24: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:25:05,358 INFO L290 TraceCheckUtils]: 23: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:25:05,358 INFO L272 TraceCheckUtils]: 22: Hoare triple {45888#(< ~counter~0 15)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:25:05,358 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {45285#true} {45888#(< ~counter~0 15)} #82#return; {45888#(< ~counter~0 15)} is VALID [2022-04-28 12:25:05,358 INFO L290 TraceCheckUtils]: 20: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:25:05,358 INFO L290 TraceCheckUtils]: 19: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:25:05,358 INFO L290 TraceCheckUtils]: 18: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:25:05,358 INFO L272 TraceCheckUtils]: 17: Hoare triple {45888#(< ~counter~0 15)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:25:05,358 INFO L290 TraceCheckUtils]: 16: Hoare triple {45888#(< ~counter~0 15)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {45888#(< ~counter~0 15)} is VALID [2022-04-28 12:25:05,359 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {45285#true} {45888#(< ~counter~0 15)} #80#return; {45888#(< ~counter~0 15)} is VALID [2022-04-28 12:25:05,359 INFO L290 TraceCheckUtils]: 14: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:25:05,359 INFO L290 TraceCheckUtils]: 13: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:25:05,359 INFO L290 TraceCheckUtils]: 12: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:25:05,359 INFO L272 TraceCheckUtils]: 11: Hoare triple {45888#(< ~counter~0 15)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:25:05,359 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {45285#true} {45888#(< ~counter~0 15)} #78#return; {45888#(< ~counter~0 15)} is VALID [2022-04-28 12:25:05,359 INFO L290 TraceCheckUtils]: 9: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:25:05,359 INFO L290 TraceCheckUtils]: 8: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:25:05,360 INFO L290 TraceCheckUtils]: 7: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:25:05,360 INFO L272 TraceCheckUtils]: 6: Hoare triple {45888#(< ~counter~0 15)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:25:05,360 INFO L290 TraceCheckUtils]: 5: Hoare triple {45888#(< ~counter~0 15)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {45888#(< ~counter~0 15)} is VALID [2022-04-28 12:25:05,360 INFO L272 TraceCheckUtils]: 4: Hoare triple {45888#(< ~counter~0 15)} call #t~ret8 := main(); {45888#(< ~counter~0 15)} is VALID [2022-04-28 12:25:05,360 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45888#(< ~counter~0 15)} {45285#true} #98#return; {45888#(< ~counter~0 15)} is VALID [2022-04-28 12:25:05,361 INFO L290 TraceCheckUtils]: 2: Hoare triple {45888#(< ~counter~0 15)} assume true; {45888#(< ~counter~0 15)} is VALID [2022-04-28 12:25:05,361 INFO L290 TraceCheckUtils]: 1: Hoare triple {45285#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {45888#(< ~counter~0 15)} is VALID [2022-04-28 12:25:05,361 INFO L272 TraceCheckUtils]: 0: Hoare triple {45285#true} call ULTIMATE.init(); {45285#true} is VALID [2022-04-28 12:25:05,361 INFO L134 CoverageAnalysis]: Checked inductivity of 347 backedges. 29 proven. 30 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 12:25:05,361 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:25:05,361 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [46368238] [2022-04-28 12:25:05,362 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:25:05,362 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1124986705] [2022-04-28 12:25:05,362 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1124986705] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:25:05,362 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:25:05,362 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 12:25:05,362 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:25:05,362 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1835574776] [2022-04-28 12:25:05,362 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1835574776] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:25:05,362 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:25:05,362 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:25:05,362 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1751724047] [2022-04-28 12:25:05,362 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:25:05,362 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 112 [2022-04-28 12:25:05,363 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:25:05,363 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:25:05,420 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 12:25:05,420 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:25:05,420 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:25:05,420 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:25:05,420 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:25:05,420 INFO L87 Difference]: Start difference. First operand 470 states and 614 transitions. Second operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:25:06,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:25:06,761 INFO L93 Difference]: Finished difference Result 644 states and 881 transitions. [2022-04-28 12:25:06,761 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 12:25:06,761 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 112 [2022-04-28 12:25:06,761 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:25:06,761 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:25:06,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 152 transitions. [2022-04-28 12:25:06,762 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:25:06,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 152 transitions. [2022-04-28 12:25:06,763 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 152 transitions. [2022-04-28 12:25:06,876 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:25:06,886 INFO L225 Difference]: With dead ends: 644 [2022-04-28 12:25:06,886 INFO L226 Difference]: Without dead ends: 474 [2022-04-28 12:25:06,887 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 227 GetRequests, 209 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=152, Invalid=228, Unknown=0, NotChecked=0, Total=380 [2022-04-28 12:25:06,887 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 47 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 79 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 213 SdHoareTripleChecker+Invalid, 125 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 46 IncrementalHoareTripleChecker+Valid, 79 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:25:06,888 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [47 Valid, 213 Invalid, 125 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 79 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:25:06,888 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 474 states. [2022-04-28 12:25:07,791 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 474 to 474. [2022-04-28 12:25:07,791 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:25:07,792 INFO L82 GeneralOperation]: Start isEquivalent. First operand 474 states. Second operand has 474 states, 305 states have (on average 1.2163934426229508) internal successors, (371), 310 states have internal predecessors, (371), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 12:25:07,792 INFO L74 IsIncluded]: Start isIncluded. First operand 474 states. Second operand has 474 states, 305 states have (on average 1.2163934426229508) internal successors, (371), 310 states have internal predecessors, (371), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 12:25:07,792 INFO L87 Difference]: Start difference. First operand 474 states. Second operand has 474 states, 305 states have (on average 1.2163934426229508) internal successors, (371), 310 states have internal predecessors, (371), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 12:25:07,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:25:07,801 INFO L93 Difference]: Finished difference Result 474 states and 616 transitions. [2022-04-28 12:25:07,801 INFO L276 IsEmpty]: Start isEmpty. Operand 474 states and 616 transitions. [2022-04-28 12:25:07,802 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:25:07,802 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:25:07,803 INFO L74 IsIncluded]: Start isIncluded. First operand has 474 states, 305 states have (on average 1.2163934426229508) internal successors, (371), 310 states have internal predecessors, (371), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) Second operand 474 states. [2022-04-28 12:25:07,803 INFO L87 Difference]: Start difference. First operand has 474 states, 305 states have (on average 1.2163934426229508) internal successors, (371), 310 states have internal predecessors, (371), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) Second operand 474 states. [2022-04-28 12:25:07,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:25:07,812 INFO L93 Difference]: Finished difference Result 474 states and 616 transitions. [2022-04-28 12:25:07,812 INFO L276 IsEmpty]: Start isEmpty. Operand 474 states and 616 transitions. [2022-04-28 12:25:07,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:25:07,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:25:07,813 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:25:07,813 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:25:07,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 474 states, 305 states have (on average 1.2163934426229508) internal successors, (371), 310 states have internal predecessors, (371), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 12:25:07,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 474 states to 474 states and 616 transitions. [2022-04-28 12:25:07,825 INFO L78 Accepts]: Start accepts. Automaton has 474 states and 616 transitions. Word has length 112 [2022-04-28 12:25:07,825 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:25:07,826 INFO L495 AbstractCegarLoop]: Abstraction has 474 states and 616 transitions. [2022-04-28 12:25:07,826 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:25:07,826 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 474 states and 616 transitions. [2022-04-28 12:25:08,813 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 616 edges. 616 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:25:08,813 INFO L276 IsEmpty]: Start isEmpty. Operand 474 states and 616 transitions. [2022-04-28 12:25:08,814 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-28 12:25:08,814 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:25:08,814 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:25:08,831 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Forceful destruction successful, exit code 0 [2022-04-28 12:25:09,014 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 29 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-04-28 12:25:09,014 INFO L420 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:25:09,015 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:25:09,015 INFO L85 PathProgramCache]: Analyzing trace with hash 1546024104, now seen corresponding path program 5 times [2022-04-28 12:25:09,015 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:25:09,015 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [63299425] [2022-04-28 12:25:09,015 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:25:09,015 INFO L85 PathProgramCache]: Analyzing trace with hash 1546024104, now seen corresponding path program 6 times [2022-04-28 12:25:09,015 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:25:09,015 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [628323296] [2022-04-28 12:25:09,015 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:25:09,015 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:25:09,025 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:25:09,025 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1594434671] [2022-04-28 12:25:09,025 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:25:09,025 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:25:09,025 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:25:09,026 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:25:09,027 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2022-04-28 12:25:09,110 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 12:25:09,110 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:25:09,111 INFO L263 TraceCheckSpWp]: Trace formula consists of 332 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 12:25:09,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:25:09,139 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:25:09,533 INFO L272 TraceCheckUtils]: 0: Hoare triple {49164#true} call ULTIMATE.init(); {49164#true} is VALID [2022-04-28 12:25:09,533 INFO L290 TraceCheckUtils]: 1: Hoare triple {49164#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {49172#(<= ~counter~0 0)} assume true; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,534 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49172#(<= ~counter~0 0)} {49164#true} #98#return; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,534 INFO L272 TraceCheckUtils]: 4: Hoare triple {49172#(<= ~counter~0 0)} call #t~ret8 := main(); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,534 INFO L290 TraceCheckUtils]: 5: Hoare triple {49172#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,534 INFO L272 TraceCheckUtils]: 6: Hoare triple {49172#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,535 INFO L290 TraceCheckUtils]: 7: Hoare triple {49172#(<= ~counter~0 0)} ~cond := #in~cond; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,535 INFO L290 TraceCheckUtils]: 8: Hoare triple {49172#(<= ~counter~0 0)} assume !(0 == ~cond); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,535 INFO L290 TraceCheckUtils]: 9: Hoare triple {49172#(<= ~counter~0 0)} assume true; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,535 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {49172#(<= ~counter~0 0)} {49172#(<= ~counter~0 0)} #78#return; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,536 INFO L272 TraceCheckUtils]: 11: Hoare triple {49172#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,536 INFO L290 TraceCheckUtils]: 12: Hoare triple {49172#(<= ~counter~0 0)} ~cond := #in~cond; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,536 INFO L290 TraceCheckUtils]: 13: Hoare triple {49172#(<= ~counter~0 0)} assume !(0 == ~cond); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,536 INFO L290 TraceCheckUtils]: 14: Hoare triple {49172#(<= ~counter~0 0)} assume true; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,537 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {49172#(<= ~counter~0 0)} {49172#(<= ~counter~0 0)} #80#return; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,537 INFO L290 TraceCheckUtils]: 16: Hoare triple {49172#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,537 INFO L272 TraceCheckUtils]: 17: Hoare triple {49172#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,538 INFO L290 TraceCheckUtils]: 18: Hoare triple {49172#(<= ~counter~0 0)} ~cond := #in~cond; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,538 INFO L290 TraceCheckUtils]: 19: Hoare triple {49172#(<= ~counter~0 0)} assume !(0 == ~cond); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,538 INFO L290 TraceCheckUtils]: 20: Hoare triple {49172#(<= ~counter~0 0)} assume true; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,538 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {49172#(<= ~counter~0 0)} {49172#(<= ~counter~0 0)} #82#return; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,539 INFO L272 TraceCheckUtils]: 22: Hoare triple {49172#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,539 INFO L290 TraceCheckUtils]: 23: Hoare triple {49172#(<= ~counter~0 0)} ~cond := #in~cond; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,539 INFO L290 TraceCheckUtils]: 24: Hoare triple {49172#(<= ~counter~0 0)} assume !(0 == ~cond); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,539 INFO L290 TraceCheckUtils]: 25: Hoare triple {49172#(<= ~counter~0 0)} assume true; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,540 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {49172#(<= ~counter~0 0)} {49172#(<= ~counter~0 0)} #84#return; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:25:09,541 INFO L290 TraceCheckUtils]: 27: Hoare triple {49172#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49251#(<= ~counter~0 1)} is VALID [2022-04-28 12:25:09,541 INFO L290 TraceCheckUtils]: 28: Hoare triple {49251#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {49251#(<= ~counter~0 1)} is VALID [2022-04-28 12:25:09,541 INFO L290 TraceCheckUtils]: 29: Hoare triple {49251#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {49251#(<= ~counter~0 1)} is VALID [2022-04-28 12:25:09,542 INFO L290 TraceCheckUtils]: 30: Hoare triple {49251#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,542 INFO L290 TraceCheckUtils]: 31: Hoare triple {49261#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,543 INFO L272 TraceCheckUtils]: 32: Hoare triple {49261#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,543 INFO L290 TraceCheckUtils]: 33: Hoare triple {49261#(<= ~counter~0 2)} ~cond := #in~cond; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,543 INFO L290 TraceCheckUtils]: 34: Hoare triple {49261#(<= ~counter~0 2)} assume !(0 == ~cond); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,543 INFO L290 TraceCheckUtils]: 35: Hoare triple {49261#(<= ~counter~0 2)} assume true; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,544 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {49261#(<= ~counter~0 2)} {49261#(<= ~counter~0 2)} #86#return; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,544 INFO L272 TraceCheckUtils]: 37: Hoare triple {49261#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,544 INFO L290 TraceCheckUtils]: 38: Hoare triple {49261#(<= ~counter~0 2)} ~cond := #in~cond; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,545 INFO L290 TraceCheckUtils]: 39: Hoare triple {49261#(<= ~counter~0 2)} assume !(0 == ~cond); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,545 INFO L290 TraceCheckUtils]: 40: Hoare triple {49261#(<= ~counter~0 2)} assume true; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,545 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {49261#(<= ~counter~0 2)} {49261#(<= ~counter~0 2)} #88#return; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,546 INFO L272 TraceCheckUtils]: 42: Hoare triple {49261#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,546 INFO L290 TraceCheckUtils]: 43: Hoare triple {49261#(<= ~counter~0 2)} ~cond := #in~cond; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,546 INFO L290 TraceCheckUtils]: 44: Hoare triple {49261#(<= ~counter~0 2)} assume !(0 == ~cond); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,546 INFO L290 TraceCheckUtils]: 45: Hoare triple {49261#(<= ~counter~0 2)} assume true; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,547 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {49261#(<= ~counter~0 2)} {49261#(<= ~counter~0 2)} #90#return; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,547 INFO L272 TraceCheckUtils]: 47: Hoare triple {49261#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,548 INFO L290 TraceCheckUtils]: 48: Hoare triple {49261#(<= ~counter~0 2)} ~cond := #in~cond; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,548 INFO L290 TraceCheckUtils]: 49: Hoare triple {49261#(<= ~counter~0 2)} assume !(0 == ~cond); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,548 INFO L290 TraceCheckUtils]: 50: Hoare triple {49261#(<= ~counter~0 2)} assume true; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,549 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {49261#(<= ~counter~0 2)} {49261#(<= ~counter~0 2)} #92#return; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,549 INFO L290 TraceCheckUtils]: 52: Hoare triple {49261#(<= ~counter~0 2)} assume !(~c~0 >= ~b~0); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,549 INFO L290 TraceCheckUtils]: 53: Hoare triple {49261#(<= ~counter~0 2)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:25:09,550 INFO L290 TraceCheckUtils]: 54: Hoare triple {49261#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49334#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:09,550 INFO L290 TraceCheckUtils]: 55: Hoare triple {49334#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {49334#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:09,550 INFO L290 TraceCheckUtils]: 56: Hoare triple {49334#(<= ~counter~0 3)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {49334#(<= ~counter~0 3)} is VALID [2022-04-28 12:25:09,551 INFO L290 TraceCheckUtils]: 57: Hoare triple {49334#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,551 INFO L290 TraceCheckUtils]: 58: Hoare triple {49344#(<= ~counter~0 4)} assume !!(#t~post7 < 20);havoc #t~post7; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,551 INFO L272 TraceCheckUtils]: 59: Hoare triple {49344#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,552 INFO L290 TraceCheckUtils]: 60: Hoare triple {49344#(<= ~counter~0 4)} ~cond := #in~cond; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,552 INFO L290 TraceCheckUtils]: 61: Hoare triple {49344#(<= ~counter~0 4)} assume !(0 == ~cond); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,552 INFO L290 TraceCheckUtils]: 62: Hoare triple {49344#(<= ~counter~0 4)} assume true; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,553 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {49344#(<= ~counter~0 4)} {49344#(<= ~counter~0 4)} #86#return; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,553 INFO L272 TraceCheckUtils]: 64: Hoare triple {49344#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,553 INFO L290 TraceCheckUtils]: 65: Hoare triple {49344#(<= ~counter~0 4)} ~cond := #in~cond; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,554 INFO L290 TraceCheckUtils]: 66: Hoare triple {49344#(<= ~counter~0 4)} assume !(0 == ~cond); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,554 INFO L290 TraceCheckUtils]: 67: Hoare triple {49344#(<= ~counter~0 4)} assume true; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,554 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {49344#(<= ~counter~0 4)} {49344#(<= ~counter~0 4)} #88#return; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,555 INFO L272 TraceCheckUtils]: 69: Hoare triple {49344#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,555 INFO L290 TraceCheckUtils]: 70: Hoare triple {49344#(<= ~counter~0 4)} ~cond := #in~cond; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,555 INFO L290 TraceCheckUtils]: 71: Hoare triple {49344#(<= ~counter~0 4)} assume !(0 == ~cond); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,555 INFO L290 TraceCheckUtils]: 72: Hoare triple {49344#(<= ~counter~0 4)} assume true; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,556 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {49344#(<= ~counter~0 4)} {49344#(<= ~counter~0 4)} #90#return; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,556 INFO L272 TraceCheckUtils]: 74: Hoare triple {49344#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,557 INFO L290 TraceCheckUtils]: 75: Hoare triple {49344#(<= ~counter~0 4)} ~cond := #in~cond; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,557 INFO L290 TraceCheckUtils]: 76: Hoare triple {49344#(<= ~counter~0 4)} assume !(0 == ~cond); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,557 INFO L290 TraceCheckUtils]: 77: Hoare triple {49344#(<= ~counter~0 4)} assume true; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,558 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {49344#(<= ~counter~0 4)} {49344#(<= ~counter~0 4)} #92#return; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,558 INFO L290 TraceCheckUtils]: 79: Hoare triple {49344#(<= ~counter~0 4)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:25:09,558 INFO L290 TraceCheckUtils]: 80: Hoare triple {49344#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,559 INFO L290 TraceCheckUtils]: 81: Hoare triple {49414#(<= ~counter~0 5)} assume !!(#t~post7 < 20);havoc #t~post7; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,559 INFO L272 TraceCheckUtils]: 82: Hoare triple {49414#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,559 INFO L290 TraceCheckUtils]: 83: Hoare triple {49414#(<= ~counter~0 5)} ~cond := #in~cond; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,559 INFO L290 TraceCheckUtils]: 84: Hoare triple {49414#(<= ~counter~0 5)} assume !(0 == ~cond); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,560 INFO L290 TraceCheckUtils]: 85: Hoare triple {49414#(<= ~counter~0 5)} assume true; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,560 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {49414#(<= ~counter~0 5)} {49414#(<= ~counter~0 5)} #86#return; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,561 INFO L272 TraceCheckUtils]: 87: Hoare triple {49414#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,561 INFO L290 TraceCheckUtils]: 88: Hoare triple {49414#(<= ~counter~0 5)} ~cond := #in~cond; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,561 INFO L290 TraceCheckUtils]: 89: Hoare triple {49414#(<= ~counter~0 5)} assume !(0 == ~cond); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,561 INFO L290 TraceCheckUtils]: 90: Hoare triple {49414#(<= ~counter~0 5)} assume true; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,562 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {49414#(<= ~counter~0 5)} {49414#(<= ~counter~0 5)} #88#return; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,562 INFO L272 TraceCheckUtils]: 92: Hoare triple {49414#(<= ~counter~0 5)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,562 INFO L290 TraceCheckUtils]: 93: Hoare triple {49414#(<= ~counter~0 5)} ~cond := #in~cond; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,563 INFO L290 TraceCheckUtils]: 94: Hoare triple {49414#(<= ~counter~0 5)} assume !(0 == ~cond); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,563 INFO L290 TraceCheckUtils]: 95: Hoare triple {49414#(<= ~counter~0 5)} assume true; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,563 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {49414#(<= ~counter~0 5)} {49414#(<= ~counter~0 5)} #90#return; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,564 INFO L272 TraceCheckUtils]: 97: Hoare triple {49414#(<= ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,564 INFO L290 TraceCheckUtils]: 98: Hoare triple {49414#(<= ~counter~0 5)} ~cond := #in~cond; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,564 INFO L290 TraceCheckUtils]: 99: Hoare triple {49414#(<= ~counter~0 5)} assume !(0 == ~cond); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,565 INFO L290 TraceCheckUtils]: 100: Hoare triple {49414#(<= ~counter~0 5)} assume true; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,565 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {49414#(<= ~counter~0 5)} {49414#(<= ~counter~0 5)} #92#return; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,565 INFO L290 TraceCheckUtils]: 102: Hoare triple {49414#(<= ~counter~0 5)} assume !(~c~0 >= ~b~0); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,566 INFO L290 TraceCheckUtils]: 103: Hoare triple {49414#(<= ~counter~0 5)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:25:09,566 INFO L290 TraceCheckUtils]: 104: Hoare triple {49414#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49487#(<= ~counter~0 6)} is VALID [2022-04-28 12:25:09,567 INFO L290 TraceCheckUtils]: 105: Hoare triple {49487#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {49487#(<= ~counter~0 6)} is VALID [2022-04-28 12:25:09,567 INFO L290 TraceCheckUtils]: 106: Hoare triple {49487#(<= ~counter~0 6)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {49487#(<= ~counter~0 6)} is VALID [2022-04-28 12:25:09,568 INFO L290 TraceCheckUtils]: 107: Hoare triple {49487#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49497#(<= |main_#t~post7| 6)} is VALID [2022-04-28 12:25:09,568 INFO L290 TraceCheckUtils]: 108: Hoare triple {49497#(<= |main_#t~post7| 6)} assume !(#t~post7 < 20);havoc #t~post7; {49165#false} is VALID [2022-04-28 12:25:09,568 INFO L290 TraceCheckUtils]: 109: Hoare triple {49165#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {49165#false} is VALID [2022-04-28 12:25:09,568 INFO L290 TraceCheckUtils]: 110: Hoare triple {49165#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49165#false} is VALID [2022-04-28 12:25:09,568 INFO L290 TraceCheckUtils]: 111: Hoare triple {49165#false} assume !(#t~post6 < 20);havoc #t~post6; {49165#false} is VALID [2022-04-28 12:25:09,568 INFO L272 TraceCheckUtils]: 112: Hoare triple {49165#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {49165#false} is VALID [2022-04-28 12:25:09,568 INFO L290 TraceCheckUtils]: 113: Hoare triple {49165#false} ~cond := #in~cond; {49165#false} is VALID [2022-04-28 12:25:09,568 INFO L290 TraceCheckUtils]: 114: Hoare triple {49165#false} assume 0 == ~cond; {49165#false} is VALID [2022-04-28 12:25:09,568 INFO L290 TraceCheckUtils]: 115: Hoare triple {49165#false} assume !false; {49165#false} is VALID [2022-04-28 12:25:09,569 INFO L134 CoverageAnalysis]: Checked inductivity of 357 backedges. 32 proven. 229 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-28 12:25:09,569 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:25:10,006 INFO L290 TraceCheckUtils]: 115: Hoare triple {49165#false} assume !false; {49165#false} is VALID [2022-04-28 12:25:10,006 INFO L290 TraceCheckUtils]: 114: Hoare triple {49165#false} assume 0 == ~cond; {49165#false} is VALID [2022-04-28 12:25:10,006 INFO L290 TraceCheckUtils]: 113: Hoare triple {49165#false} ~cond := #in~cond; {49165#false} is VALID [2022-04-28 12:25:10,006 INFO L272 TraceCheckUtils]: 112: Hoare triple {49165#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {49165#false} is VALID [2022-04-28 12:25:10,006 INFO L290 TraceCheckUtils]: 111: Hoare triple {49165#false} assume !(#t~post6 < 20);havoc #t~post6; {49165#false} is VALID [2022-04-28 12:25:10,006 INFO L290 TraceCheckUtils]: 110: Hoare triple {49165#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49165#false} is VALID [2022-04-28 12:25:10,006 INFO L290 TraceCheckUtils]: 109: Hoare triple {49165#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {49165#false} is VALID [2022-04-28 12:25:10,007 INFO L290 TraceCheckUtils]: 108: Hoare triple {49543#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {49165#false} is VALID [2022-04-28 12:25:10,007 INFO L290 TraceCheckUtils]: 107: Hoare triple {49547#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49543#(< |main_#t~post7| 20)} is VALID [2022-04-28 12:25:10,007 INFO L290 TraceCheckUtils]: 106: Hoare triple {49547#(< ~counter~0 20)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {49547#(< ~counter~0 20)} is VALID [2022-04-28 12:25:10,008 INFO L290 TraceCheckUtils]: 105: Hoare triple {49547#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {49547#(< ~counter~0 20)} is VALID [2022-04-28 12:25:10,009 INFO L290 TraceCheckUtils]: 104: Hoare triple {49557#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49547#(< ~counter~0 20)} is VALID [2022-04-28 12:25:10,009 INFO L290 TraceCheckUtils]: 103: Hoare triple {49557#(< ~counter~0 19)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {49557#(< ~counter~0 19)} is VALID [2022-04-28 12:25:10,009 INFO L290 TraceCheckUtils]: 102: Hoare triple {49557#(< ~counter~0 19)} assume !(~c~0 >= ~b~0); {49557#(< ~counter~0 19)} is VALID [2022-04-28 12:25:10,010 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {49164#true} {49557#(< ~counter~0 19)} #92#return; {49557#(< ~counter~0 19)} is VALID [2022-04-28 12:25:10,010 INFO L290 TraceCheckUtils]: 100: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:25:10,010 INFO L290 TraceCheckUtils]: 99: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:25:10,010 INFO L290 TraceCheckUtils]: 98: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:25:10,010 INFO L272 TraceCheckUtils]: 97: Hoare triple {49557#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:25:10,010 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {49164#true} {49557#(< ~counter~0 19)} #90#return; {49557#(< ~counter~0 19)} is VALID [2022-04-28 12:25:10,011 INFO L290 TraceCheckUtils]: 95: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:25:10,011 INFO L290 TraceCheckUtils]: 94: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:25:10,011 INFO L290 TraceCheckUtils]: 93: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:25:10,011 INFO L272 TraceCheckUtils]: 92: Hoare triple {49557#(< ~counter~0 19)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:25:10,013 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {49164#true} {49557#(< ~counter~0 19)} #88#return; {49557#(< ~counter~0 19)} is VALID [2022-04-28 12:25:10,013 INFO L290 TraceCheckUtils]: 90: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:25:10,013 INFO L290 TraceCheckUtils]: 89: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:25:10,013 INFO L290 TraceCheckUtils]: 88: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:25:10,013 INFO L272 TraceCheckUtils]: 87: Hoare triple {49557#(< ~counter~0 19)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:25:10,014 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {49164#true} {49557#(< ~counter~0 19)} #86#return; {49557#(< ~counter~0 19)} is VALID [2022-04-28 12:25:10,014 INFO L290 TraceCheckUtils]: 85: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:25:10,014 INFO L290 TraceCheckUtils]: 84: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:25:10,014 INFO L290 TraceCheckUtils]: 83: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:25:10,014 INFO L272 TraceCheckUtils]: 82: Hoare triple {49557#(< ~counter~0 19)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:25:10,014 INFO L290 TraceCheckUtils]: 81: Hoare triple {49557#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {49557#(< ~counter~0 19)} is VALID [2022-04-28 12:25:10,015 INFO L290 TraceCheckUtils]: 80: Hoare triple {49630#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49557#(< ~counter~0 19)} is VALID [2022-04-28 12:25:10,015 INFO L290 TraceCheckUtils]: 79: Hoare triple {49630#(< ~counter~0 18)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {49630#(< ~counter~0 18)} is VALID [2022-04-28 12:25:10,016 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {49164#true} {49630#(< ~counter~0 18)} #92#return; {49630#(< ~counter~0 18)} is VALID [2022-04-28 12:25:10,016 INFO L290 TraceCheckUtils]: 77: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:25:10,016 INFO L290 TraceCheckUtils]: 76: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:25:10,016 INFO L290 TraceCheckUtils]: 75: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:25:10,016 INFO L272 TraceCheckUtils]: 74: Hoare triple {49630#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:25:10,016 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {49164#true} {49630#(< ~counter~0 18)} #90#return; {49630#(< ~counter~0 18)} is VALID [2022-04-28 12:25:10,017 INFO L290 TraceCheckUtils]: 72: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:25:10,017 INFO L290 TraceCheckUtils]: 71: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:25:10,017 INFO L290 TraceCheckUtils]: 70: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:25:10,017 INFO L272 TraceCheckUtils]: 69: Hoare triple {49630#(< ~counter~0 18)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:25:10,017 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {49164#true} {49630#(< ~counter~0 18)} #88#return; {49630#(< ~counter~0 18)} is VALID [2022-04-28 12:25:10,017 INFO L290 TraceCheckUtils]: 67: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:25:10,017 INFO L290 TraceCheckUtils]: 66: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:25:10,017 INFO L290 TraceCheckUtils]: 65: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:25:10,017 INFO L272 TraceCheckUtils]: 64: Hoare triple {49630#(< ~counter~0 18)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:25:10,018 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {49164#true} {49630#(< ~counter~0 18)} #86#return; {49630#(< ~counter~0 18)} is VALID [2022-04-28 12:25:10,018 INFO L290 TraceCheckUtils]: 62: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:25:10,018 INFO L290 TraceCheckUtils]: 61: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:25:10,018 INFO L290 TraceCheckUtils]: 60: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:25:10,018 INFO L272 TraceCheckUtils]: 59: Hoare triple {49630#(< ~counter~0 18)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:25:10,018 INFO L290 TraceCheckUtils]: 58: Hoare triple {49630#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {49630#(< ~counter~0 18)} is VALID [2022-04-28 12:25:10,019 INFO L290 TraceCheckUtils]: 57: Hoare triple {49700#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49630#(< ~counter~0 18)} is VALID [2022-04-28 12:25:10,019 INFO L290 TraceCheckUtils]: 56: Hoare triple {49700#(< ~counter~0 17)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {49700#(< ~counter~0 17)} is VALID [2022-04-28 12:25:10,019 INFO L290 TraceCheckUtils]: 55: Hoare triple {49700#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {49700#(< ~counter~0 17)} is VALID [2022-04-28 12:25:10,020 INFO L290 TraceCheckUtils]: 54: Hoare triple {49710#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49700#(< ~counter~0 17)} is VALID [2022-04-28 12:25:10,020 INFO L290 TraceCheckUtils]: 53: Hoare triple {49710#(< ~counter~0 16)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {49710#(< ~counter~0 16)} is VALID [2022-04-28 12:25:10,020 INFO L290 TraceCheckUtils]: 52: Hoare triple {49710#(< ~counter~0 16)} assume !(~c~0 >= ~b~0); {49710#(< ~counter~0 16)} is VALID [2022-04-28 12:25:10,021 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {49164#true} {49710#(< ~counter~0 16)} #92#return; {49710#(< ~counter~0 16)} is VALID [2022-04-28 12:25:10,021 INFO L290 TraceCheckUtils]: 50: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:25:10,021 INFO L290 TraceCheckUtils]: 49: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:25:10,021 INFO L290 TraceCheckUtils]: 48: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:25:10,021 INFO L272 TraceCheckUtils]: 47: Hoare triple {49710#(< ~counter~0 16)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:25:10,022 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {49164#true} {49710#(< ~counter~0 16)} #90#return; {49710#(< ~counter~0 16)} is VALID [2022-04-28 12:25:10,022 INFO L290 TraceCheckUtils]: 45: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:25:10,022 INFO L290 TraceCheckUtils]: 44: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:25:10,022 INFO L290 TraceCheckUtils]: 43: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:25:10,022 INFO L272 TraceCheckUtils]: 42: Hoare triple {49710#(< ~counter~0 16)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:25:10,022 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {49164#true} {49710#(< ~counter~0 16)} #88#return; {49710#(< ~counter~0 16)} is VALID [2022-04-28 12:25:10,022 INFO L290 TraceCheckUtils]: 40: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:25:10,022 INFO L290 TraceCheckUtils]: 39: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:25:10,023 INFO L290 TraceCheckUtils]: 38: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:25:10,023 INFO L272 TraceCheckUtils]: 37: Hoare triple {49710#(< ~counter~0 16)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:25:10,025 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {49164#true} {49710#(< ~counter~0 16)} #86#return; {49710#(< ~counter~0 16)} is VALID [2022-04-28 12:25:10,025 INFO L290 TraceCheckUtils]: 35: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:25:10,025 INFO L290 TraceCheckUtils]: 34: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:25:10,026 INFO L290 TraceCheckUtils]: 33: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:25:10,026 INFO L272 TraceCheckUtils]: 32: Hoare triple {49710#(< ~counter~0 16)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:25:10,026 INFO L290 TraceCheckUtils]: 31: Hoare triple {49710#(< ~counter~0 16)} assume !!(#t~post7 < 20);havoc #t~post7; {49710#(< ~counter~0 16)} is VALID [2022-04-28 12:25:10,026 INFO L290 TraceCheckUtils]: 30: Hoare triple {49783#(< ~counter~0 15)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49710#(< ~counter~0 16)} is VALID [2022-04-28 12:25:10,027 INFO L290 TraceCheckUtils]: 29: Hoare triple {49783#(< ~counter~0 15)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {49783#(< ~counter~0 15)} is VALID [2022-04-28 12:25:10,027 INFO L290 TraceCheckUtils]: 28: Hoare triple {49783#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {49783#(< ~counter~0 15)} is VALID [2022-04-28 12:25:10,028 INFO L290 TraceCheckUtils]: 27: Hoare triple {49793#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49783#(< ~counter~0 15)} is VALID [2022-04-28 12:25:10,028 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {49164#true} {49793#(< ~counter~0 14)} #84#return; {49793#(< ~counter~0 14)} is VALID [2022-04-28 12:25:10,028 INFO L290 TraceCheckUtils]: 25: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:25:10,028 INFO L290 TraceCheckUtils]: 24: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:25:10,028 INFO L290 TraceCheckUtils]: 23: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:25:10,028 INFO L272 TraceCheckUtils]: 22: Hoare triple {49793#(< ~counter~0 14)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:25:10,028 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {49164#true} {49793#(< ~counter~0 14)} #82#return; {49793#(< ~counter~0 14)} is VALID [2022-04-28 12:25:10,029 INFO L290 TraceCheckUtils]: 20: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:25:10,029 INFO L290 TraceCheckUtils]: 19: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:25:10,029 INFO L290 TraceCheckUtils]: 18: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:25:10,029 INFO L272 TraceCheckUtils]: 17: Hoare triple {49793#(< ~counter~0 14)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:25:10,029 INFO L290 TraceCheckUtils]: 16: Hoare triple {49793#(< ~counter~0 14)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {49793#(< ~counter~0 14)} is VALID [2022-04-28 12:25:10,029 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {49164#true} {49793#(< ~counter~0 14)} #80#return; {49793#(< ~counter~0 14)} is VALID [2022-04-28 12:25:10,029 INFO L290 TraceCheckUtils]: 14: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:25:10,029 INFO L290 TraceCheckUtils]: 13: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:25:10,029 INFO L290 TraceCheckUtils]: 12: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:25:10,029 INFO L272 TraceCheckUtils]: 11: Hoare triple {49793#(< ~counter~0 14)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:25:10,030 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {49164#true} {49793#(< ~counter~0 14)} #78#return; {49793#(< ~counter~0 14)} is VALID [2022-04-28 12:25:10,030 INFO L290 TraceCheckUtils]: 9: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:25:10,030 INFO L290 TraceCheckUtils]: 8: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:25:10,030 INFO L290 TraceCheckUtils]: 7: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:25:10,030 INFO L272 TraceCheckUtils]: 6: Hoare triple {49793#(< ~counter~0 14)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:25:10,031 INFO L290 TraceCheckUtils]: 5: Hoare triple {49793#(< ~counter~0 14)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {49793#(< ~counter~0 14)} is VALID [2022-04-28 12:25:10,031 INFO L272 TraceCheckUtils]: 4: Hoare triple {49793#(< ~counter~0 14)} call #t~ret8 := main(); {49793#(< ~counter~0 14)} is VALID [2022-04-28 12:25:10,032 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49793#(< ~counter~0 14)} {49164#true} #98#return; {49793#(< ~counter~0 14)} is VALID [2022-04-28 12:25:10,032 INFO L290 TraceCheckUtils]: 2: Hoare triple {49793#(< ~counter~0 14)} assume true; {49793#(< ~counter~0 14)} is VALID [2022-04-28 12:25:10,032 INFO L290 TraceCheckUtils]: 1: Hoare triple {49164#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {49793#(< ~counter~0 14)} is VALID [2022-04-28 12:25:10,032 INFO L272 TraceCheckUtils]: 0: Hoare triple {49164#true} call ULTIMATE.init(); {49164#true} is VALID [2022-04-28 12:25:10,033 INFO L134 CoverageAnalysis]: Checked inductivity of 357 backedges. 32 proven. 37 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 12:25:10,033 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:25:10,033 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [628323296] [2022-04-28 12:25:10,033 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:25:10,033 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1594434671] [2022-04-28 12:25:10,033 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1594434671] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:25:10,033 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:25:10,033 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2022-04-28 12:25:10,033 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:25:10,033 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [63299425] [2022-04-28 12:25:10,033 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [63299425] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:25:10,033 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:25:10,033 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:25:10,033 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [154387320] [2022-04-28 12:25:10,033 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:25:10,034 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 116 [2022-04-28 12:25:10,035 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:25:10,035 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:25:10,101 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:25:10,101 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:25:10,101 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:25:10,102 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:25:10,102 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=181, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:25:10,102 INFO L87 Difference]: Start difference. First operand 474 states and 616 transitions. Second operand has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:25:11,536 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:25:11,537 INFO L93 Difference]: Finished difference Result 731 states and 966 transitions. [2022-04-28 12:25:11,537 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 12:25:11,537 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 116 [2022-04-28 12:25:11,537 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:25:11,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:25:11,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 175 transitions. [2022-04-28 12:25:11,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:25:11,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 175 transitions. [2022-04-28 12:25:11,540 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 175 transitions. [2022-04-28 12:25:11,669 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 175 edges. 175 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:25:11,683 INFO L225 Difference]: With dead ends: 731 [2022-04-28 12:25:11,683 INFO L226 Difference]: Without dead ends: 561 [2022-04-28 12:25:11,684 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 236 GetRequests, 215 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=205, Invalid=301, Unknown=0, NotChecked=0, Total=506 [2022-04-28 12:25:11,684 INFO L413 NwaCegarLoop]: 64 mSDtfsCounter, 76 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 92 mSolverCounterSat, 52 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 76 SdHoareTripleChecker+Valid, 222 SdHoareTripleChecker+Invalid, 144 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 52 IncrementalHoareTripleChecker+Valid, 92 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:25:11,684 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [76 Valid, 222 Invalid, 144 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [52 Valid, 92 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:25:11,685 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 561 states. [2022-04-28 12:25:12,719 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 561 to 553. [2022-04-28 12:25:12,719 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:25:12,720 INFO L82 GeneralOperation]: Start isEquivalent. First operand 561 states. Second operand has 553 states, 361 states have (on average 1.1911357340720221) internal successors, (430), 367 states have internal predecessors, (430), 133 states have call successors, (133), 59 states have call predecessors, (133), 58 states have return successors, (129), 126 states have call predecessors, (129), 129 states have call successors, (129) [2022-04-28 12:25:12,720 INFO L74 IsIncluded]: Start isIncluded. First operand 561 states. Second operand has 553 states, 361 states have (on average 1.1911357340720221) internal successors, (430), 367 states have internal predecessors, (430), 133 states have call successors, (133), 59 states have call predecessors, (133), 58 states have return successors, (129), 126 states have call predecessors, (129), 129 states have call successors, (129) [2022-04-28 12:25:12,721 INFO L87 Difference]: Start difference. First operand 561 states. Second operand has 553 states, 361 states have (on average 1.1911357340720221) internal successors, (430), 367 states have internal predecessors, (430), 133 states have call successors, (133), 59 states have call predecessors, (133), 58 states have return successors, (129), 126 states have call predecessors, (129), 129 states have call successors, (129) [2022-04-28 12:25:12,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:25:12,732 INFO L93 Difference]: Finished difference Result 561 states and 699 transitions. [2022-04-28 12:25:12,732 INFO L276 IsEmpty]: Start isEmpty. Operand 561 states and 699 transitions. [2022-04-28 12:25:12,732 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:25:12,732 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:25:12,733 INFO L74 IsIncluded]: Start isIncluded. First operand has 553 states, 361 states have (on average 1.1911357340720221) internal successors, (430), 367 states have internal predecessors, (430), 133 states have call successors, (133), 59 states have call predecessors, (133), 58 states have return successors, (129), 126 states have call predecessors, (129), 129 states have call successors, (129) Second operand 561 states. [2022-04-28 12:25:12,733 INFO L87 Difference]: Start difference. First operand has 553 states, 361 states have (on average 1.1911357340720221) internal successors, (430), 367 states have internal predecessors, (430), 133 states have call successors, (133), 59 states have call predecessors, (133), 58 states have return successors, (129), 126 states have call predecessors, (129), 129 states have call successors, (129) Second operand 561 states. [2022-04-28 12:25:12,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:25:12,744 INFO L93 Difference]: Finished difference Result 561 states and 699 transitions. [2022-04-28 12:25:12,744 INFO L276 IsEmpty]: Start isEmpty. Operand 561 states and 699 transitions. [2022-04-28 12:25:12,745 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:25:12,745 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:25:12,745 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:25:12,745 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:25:12,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 553 states, 361 states have (on average 1.1911357340720221) internal successors, (430), 367 states have internal predecessors, (430), 133 states have call successors, (133), 59 states have call predecessors, (133), 58 states have return successors, (129), 126 states have call predecessors, (129), 129 states have call successors, (129) [2022-04-28 12:25:12,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 553 states to 553 states and 692 transitions. [2022-04-28 12:25:12,760 INFO L78 Accepts]: Start accepts. Automaton has 553 states and 692 transitions. Word has length 116 [2022-04-28 12:25:12,760 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:25:12,760 INFO L495 AbstractCegarLoop]: Abstraction has 553 states and 692 transitions. [2022-04-28 12:25:12,760 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:25:12,760 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 553 states and 692 transitions. [2022-04-28 12:25:13,851 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 692 edges. 692 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:25:13,851 INFO L276 IsEmpty]: Start isEmpty. Operand 553 states and 692 transitions. [2022-04-28 12:25:13,852 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 119 [2022-04-28 12:25:13,852 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:25:13,852 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:25:13,870 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Ended with exit code 0 [2022-04-28 12:25:14,052 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29,30 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:25:14,052 INFO L420 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:25:14,053 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:25:14,053 INFO L85 PathProgramCache]: Analyzing trace with hash 1978671899, now seen corresponding path program 3 times [2022-04-28 12:25:14,053 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:25:14,053 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1492549033] [2022-04-28 12:25:14,053 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:25:14,053 INFO L85 PathProgramCache]: Analyzing trace with hash 1978671899, now seen corresponding path program 4 times [2022-04-28 12:25:14,053 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:25:14,053 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [251202314] [2022-04-28 12:25:14,053 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:25:14,054 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:25:14,063 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:25:14,063 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [550985222] [2022-04-28 12:25:14,063 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:25:14,063 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:25:14,063 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:25:14,064 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:25:14,064 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Waiting until timeout for monitored process [2022-04-28 12:25:14,119 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:25:14,119 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:25:14,120 INFO L263 TraceCheckSpWp]: Trace formula consists of 274 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 12:25:14,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:25:14,143 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:25:17,402 INFO L272 TraceCheckUtils]: 0: Hoare triple {53577#true} call ULTIMATE.init(); {53577#true} is VALID [2022-04-28 12:25:17,402 INFO L290 TraceCheckUtils]: 1: Hoare triple {53577#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {53577#true} is VALID [2022-04-28 12:25:17,402 INFO L290 TraceCheckUtils]: 2: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:17,403 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53577#true} {53577#true} #98#return; {53577#true} is VALID [2022-04-28 12:25:17,403 INFO L272 TraceCheckUtils]: 4: Hoare triple {53577#true} call #t~ret8 := main(); {53577#true} is VALID [2022-04-28 12:25:17,403 INFO L290 TraceCheckUtils]: 5: Hoare triple {53577#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {53577#true} is VALID [2022-04-28 12:25:17,403 INFO L272 TraceCheckUtils]: 6: Hoare triple {53577#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:17,403 INFO L290 TraceCheckUtils]: 7: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:17,403 INFO L290 TraceCheckUtils]: 8: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:17,403 INFO L290 TraceCheckUtils]: 9: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:17,403 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {53577#true} {53577#true} #78#return; {53577#true} is VALID [2022-04-28 12:25:17,403 INFO L272 TraceCheckUtils]: 11: Hoare triple {53577#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:17,403 INFO L290 TraceCheckUtils]: 12: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:17,403 INFO L290 TraceCheckUtils]: 13: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:17,403 INFO L290 TraceCheckUtils]: 14: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:17,403 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {53577#true} {53577#true} #80#return; {53577#true} is VALID [2022-04-28 12:25:17,404 INFO L290 TraceCheckUtils]: 16: Hoare triple {53577#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:25:17,404 INFO L272 TraceCheckUtils]: 17: Hoare triple {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:17,404 INFO L290 TraceCheckUtils]: 18: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:17,404 INFO L290 TraceCheckUtils]: 19: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:17,404 INFO L290 TraceCheckUtils]: 20: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:17,404 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {53577#true} {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} #82#return; {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:25:17,404 INFO L272 TraceCheckUtils]: 22: Hoare triple {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:17,404 INFO L290 TraceCheckUtils]: 23: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:17,404 INFO L290 TraceCheckUtils]: 24: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:17,404 INFO L290 TraceCheckUtils]: 25: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:17,405 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {53577#true} {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} #84#return; {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:25:17,405 INFO L290 TraceCheckUtils]: 27: Hoare triple {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:25:17,405 INFO L290 TraceCheckUtils]: 28: Hoare triple {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:25:17,406 INFO L290 TraceCheckUtils]: 29: Hoare triple {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:25:17,406 INFO L290 TraceCheckUtils]: 30: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:25:17,406 INFO L290 TraceCheckUtils]: 31: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} assume !!(#t~post7 < 20);havoc #t~post7; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:25:17,406 INFO L272 TraceCheckUtils]: 32: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:17,406 INFO L290 TraceCheckUtils]: 33: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:17,407 INFO L290 TraceCheckUtils]: 34: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:17,407 INFO L290 TraceCheckUtils]: 35: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:17,407 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {53577#true} {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} #86#return; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:25:17,407 INFO L272 TraceCheckUtils]: 37: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:17,407 INFO L290 TraceCheckUtils]: 38: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:17,407 INFO L290 TraceCheckUtils]: 39: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:17,407 INFO L290 TraceCheckUtils]: 40: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:17,408 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {53577#true} {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} #88#return; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:25:17,408 INFO L272 TraceCheckUtils]: 42: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:17,408 INFO L290 TraceCheckUtils]: 43: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:17,408 INFO L290 TraceCheckUtils]: 44: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:17,408 INFO L290 TraceCheckUtils]: 45: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:17,408 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {53577#true} {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} #90#return; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:25:17,409 INFO L272 TraceCheckUtils]: 47: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:17,409 INFO L290 TraceCheckUtils]: 48: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:17,409 INFO L290 TraceCheckUtils]: 49: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:17,409 INFO L290 TraceCheckUtils]: 50: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:17,409 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {53577#true} {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} #92#return; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:25:17,410 INFO L290 TraceCheckUtils]: 52: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:25:17,410 INFO L290 TraceCheckUtils]: 53: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:25:17,410 INFO L290 TraceCheckUtils]: 54: Hoare triple {53743#(= main_~s~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:25:17,410 INFO L290 TraceCheckUtils]: 55: Hoare triple {53743#(= main_~s~0 0)} assume !!(#t~post6 < 20);havoc #t~post6; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:25:17,411 INFO L290 TraceCheckUtils]: 56: Hoare triple {53743#(= main_~s~0 0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:25:17,411 INFO L290 TraceCheckUtils]: 57: Hoare triple {53743#(= main_~s~0 0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:25:17,411 INFO L290 TraceCheckUtils]: 58: Hoare triple {53743#(= main_~s~0 0)} assume !!(#t~post7 < 20);havoc #t~post7; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:25:17,411 INFO L272 TraceCheckUtils]: 59: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:17,411 INFO L290 TraceCheckUtils]: 60: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:17,411 INFO L290 TraceCheckUtils]: 61: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:17,411 INFO L290 TraceCheckUtils]: 62: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:17,412 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {53577#true} {53743#(= main_~s~0 0)} #86#return; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:25:17,412 INFO L272 TraceCheckUtils]: 64: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:17,412 INFO L290 TraceCheckUtils]: 65: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:17,412 INFO L290 TraceCheckUtils]: 66: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:17,412 INFO L290 TraceCheckUtils]: 67: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:17,413 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {53577#true} {53743#(= main_~s~0 0)} #88#return; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:25:17,413 INFO L272 TraceCheckUtils]: 69: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:17,413 INFO L290 TraceCheckUtils]: 70: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:17,413 INFO L290 TraceCheckUtils]: 71: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:17,413 INFO L290 TraceCheckUtils]: 72: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:17,414 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {53577#true} {53743#(= main_~s~0 0)} #90#return; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:25:17,414 INFO L272 TraceCheckUtils]: 74: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:17,414 INFO L290 TraceCheckUtils]: 75: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:17,414 INFO L290 TraceCheckUtils]: 76: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:17,414 INFO L290 TraceCheckUtils]: 77: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:17,414 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {53577#true} {53743#(= main_~s~0 0)} #92#return; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:25:17,415 INFO L290 TraceCheckUtils]: 79: Hoare triple {53743#(= main_~s~0 0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:25:17,415 INFO L290 TraceCheckUtils]: 80: Hoare triple {53743#(= main_~s~0 0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:25:17,415 INFO L290 TraceCheckUtils]: 81: Hoare triple {53743#(= main_~s~0 0)} assume !!(#t~post7 < 20);havoc #t~post7; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:25:17,415 INFO L272 TraceCheckUtils]: 82: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:17,415 INFO L290 TraceCheckUtils]: 83: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:17,415 INFO L290 TraceCheckUtils]: 84: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:17,415 INFO L290 TraceCheckUtils]: 85: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:17,416 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {53577#true} {53743#(= main_~s~0 0)} #86#return; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:25:17,416 INFO L272 TraceCheckUtils]: 87: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:17,416 INFO L290 TraceCheckUtils]: 88: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:17,416 INFO L290 TraceCheckUtils]: 89: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:17,416 INFO L290 TraceCheckUtils]: 90: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:17,417 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {53577#true} {53743#(= main_~s~0 0)} #88#return; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:25:17,417 INFO L272 TraceCheckUtils]: 92: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:17,417 INFO L290 TraceCheckUtils]: 93: Hoare triple {53577#true} ~cond := #in~cond; {53864#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:25:17,417 INFO L290 TraceCheckUtils]: 94: Hoare triple {53864#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:25:17,417 INFO L290 TraceCheckUtils]: 95: Hoare triple {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:25:17,418 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} {53743#(= main_~s~0 0)} #90#return; {53875#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:25:17,418 INFO L272 TraceCheckUtils]: 97: Hoare triple {53875#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:17,418 INFO L290 TraceCheckUtils]: 98: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:17,418 INFO L290 TraceCheckUtils]: 99: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:17,418 INFO L290 TraceCheckUtils]: 100: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:17,419 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {53577#true} {53875#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #92#return; {53875#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:25:17,419 INFO L290 TraceCheckUtils]: 102: Hoare triple {53875#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {53875#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:25:17,420 INFO L290 TraceCheckUtils]: 103: Hoare triple {53875#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:25:17,420 INFO L290 TraceCheckUtils]: 104: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:25:17,421 INFO L290 TraceCheckUtils]: 105: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:25:17,421 INFO L290 TraceCheckUtils]: 106: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:25:17,421 INFO L290 TraceCheckUtils]: 107: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:25:17,422 INFO L290 TraceCheckUtils]: 108: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} assume !!(#t~post7 < 20);havoc #t~post7; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:25:17,422 INFO L272 TraceCheckUtils]: 109: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:17,422 INFO L290 TraceCheckUtils]: 110: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:17,422 INFO L290 TraceCheckUtils]: 111: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:17,422 INFO L290 TraceCheckUtils]: 112: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:17,423 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {53577#true} {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} #86#return; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:25:17,423 INFO L272 TraceCheckUtils]: 114: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53931#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:25:17,424 INFO L290 TraceCheckUtils]: 115: Hoare triple {53931#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {53935#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:25:17,424 INFO L290 TraceCheckUtils]: 116: Hoare triple {53935#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {53578#false} is VALID [2022-04-28 12:25:17,424 INFO L290 TraceCheckUtils]: 117: Hoare triple {53578#false} assume !false; {53578#false} is VALID [2022-04-28 12:25:17,424 INFO L134 CoverageAnalysis]: Checked inductivity of 405 backedges. 57 proven. 43 refuted. 0 times theorem prover too weak. 305 trivial. 0 not checked. [2022-04-28 12:25:17,424 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:25:34,213 INFO L290 TraceCheckUtils]: 117: Hoare triple {53578#false} assume !false; {53578#false} is VALID [2022-04-28 12:25:34,214 INFO L290 TraceCheckUtils]: 116: Hoare triple {53935#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {53578#false} is VALID [2022-04-28 12:25:34,214 INFO L290 TraceCheckUtils]: 115: Hoare triple {53931#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {53935#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:25:34,215 INFO L272 TraceCheckUtils]: 114: Hoare triple {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53931#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:25:34,215 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {53577#true} {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #86#return; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:25:34,215 INFO L290 TraceCheckUtils]: 112: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:34,215 INFO L290 TraceCheckUtils]: 111: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:34,215 INFO L290 TraceCheckUtils]: 110: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:34,215 INFO L272 TraceCheckUtils]: 109: Hoare triple {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:34,217 INFO L290 TraceCheckUtils]: 108: Hoare triple {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post7 < 20);havoc #t~post7; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:25:34,217 INFO L290 TraceCheckUtils]: 107: Hoare triple {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:25:34,218 INFO L290 TraceCheckUtils]: 106: Hoare triple {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:25:34,218 INFO L290 TraceCheckUtils]: 105: Hoare triple {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:25:34,218 INFO L290 TraceCheckUtils]: 104: Hoare triple {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:25:34,219 INFO L290 TraceCheckUtils]: 103: Hoare triple {53985#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:25:34,219 INFO L290 TraceCheckUtils]: 102: Hoare triple {53985#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {53985#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:25:34,219 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {53577#true} {53985#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #92#return; {53985#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:25:34,220 INFO L290 TraceCheckUtils]: 100: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:34,220 INFO L290 TraceCheckUtils]: 99: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:34,220 INFO L290 TraceCheckUtils]: 98: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:34,220 INFO L272 TraceCheckUtils]: 97: Hoare triple {53985#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:34,220 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} {53577#true} #90#return; {53985#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:25:34,220 INFO L290 TraceCheckUtils]: 95: Hoare triple {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:25:34,221 INFO L290 TraceCheckUtils]: 94: Hoare triple {54016#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:25:34,221 INFO L290 TraceCheckUtils]: 93: Hoare triple {53577#true} ~cond := #in~cond; {54016#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:25:34,221 INFO L272 TraceCheckUtils]: 92: Hoare triple {53577#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:34,221 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {53577#true} {53577#true} #88#return; {53577#true} is VALID [2022-04-28 12:25:34,221 INFO L290 TraceCheckUtils]: 90: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:34,221 INFO L290 TraceCheckUtils]: 89: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:34,221 INFO L290 TraceCheckUtils]: 88: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:34,221 INFO L272 TraceCheckUtils]: 87: Hoare triple {53577#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:34,221 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {53577#true} {53577#true} #86#return; {53577#true} is VALID [2022-04-28 12:25:34,221 INFO L290 TraceCheckUtils]: 85: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:34,221 INFO L290 TraceCheckUtils]: 84: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L290 TraceCheckUtils]: 83: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L272 TraceCheckUtils]: 82: Hoare triple {53577#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L290 TraceCheckUtils]: 81: Hoare triple {53577#true} assume !!(#t~post7 < 20);havoc #t~post7; {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L290 TraceCheckUtils]: 80: Hoare triple {53577#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L290 TraceCheckUtils]: 79: Hoare triple {53577#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {53577#true} {53577#true} #92#return; {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L290 TraceCheckUtils]: 77: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L290 TraceCheckUtils]: 76: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L290 TraceCheckUtils]: 75: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L272 TraceCheckUtils]: 74: Hoare triple {53577#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {53577#true} {53577#true} #90#return; {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L290 TraceCheckUtils]: 72: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L290 TraceCheckUtils]: 71: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L290 TraceCheckUtils]: 70: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L272 TraceCheckUtils]: 69: Hoare triple {53577#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {53577#true} {53577#true} #88#return; {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L290 TraceCheckUtils]: 67: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L290 TraceCheckUtils]: 66: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L290 TraceCheckUtils]: 65: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L272 TraceCheckUtils]: 64: Hoare triple {53577#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:34,222 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {53577#true} {53577#true} #86#return; {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L290 TraceCheckUtils]: 62: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L290 TraceCheckUtils]: 61: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L290 TraceCheckUtils]: 60: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L272 TraceCheckUtils]: 59: Hoare triple {53577#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L290 TraceCheckUtils]: 58: Hoare triple {53577#true} assume !!(#t~post7 < 20);havoc #t~post7; {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L290 TraceCheckUtils]: 57: Hoare triple {53577#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L290 TraceCheckUtils]: 56: Hoare triple {53577#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L290 TraceCheckUtils]: 55: Hoare triple {53577#true} assume !!(#t~post6 < 20);havoc #t~post6; {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L290 TraceCheckUtils]: 54: Hoare triple {53577#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L290 TraceCheckUtils]: 53: Hoare triple {53577#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L290 TraceCheckUtils]: 52: Hoare triple {53577#true} assume !(~c~0 >= ~b~0); {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {53577#true} {53577#true} #92#return; {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L290 TraceCheckUtils]: 50: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L290 TraceCheckUtils]: 49: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L290 TraceCheckUtils]: 48: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L272 TraceCheckUtils]: 47: Hoare triple {53577#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {53577#true} {53577#true} #90#return; {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L290 TraceCheckUtils]: 45: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L290 TraceCheckUtils]: 44: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:34,223 INFO L290 TraceCheckUtils]: 43: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L272 TraceCheckUtils]: 42: Hoare triple {53577#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {53577#true} {53577#true} #88#return; {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L290 TraceCheckUtils]: 40: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L290 TraceCheckUtils]: 39: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L290 TraceCheckUtils]: 38: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L272 TraceCheckUtils]: 37: Hoare triple {53577#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {53577#true} {53577#true} #86#return; {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L290 TraceCheckUtils]: 35: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L290 TraceCheckUtils]: 34: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L290 TraceCheckUtils]: 33: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L272 TraceCheckUtils]: 32: Hoare triple {53577#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L290 TraceCheckUtils]: 31: Hoare triple {53577#true} assume !!(#t~post7 < 20);havoc #t~post7; {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L290 TraceCheckUtils]: 30: Hoare triple {53577#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L290 TraceCheckUtils]: 29: Hoare triple {53577#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L290 TraceCheckUtils]: 28: Hoare triple {53577#true} assume !!(#t~post6 < 20);havoc #t~post6; {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L290 TraceCheckUtils]: 27: Hoare triple {53577#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {53577#true} {53577#true} #84#return; {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L290 TraceCheckUtils]: 25: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L290 TraceCheckUtils]: 24: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L290 TraceCheckUtils]: 23: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:34,224 INFO L272 TraceCheckUtils]: 22: Hoare triple {53577#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {53577#true} {53577#true} #82#return; {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L290 TraceCheckUtils]: 20: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L290 TraceCheckUtils]: 19: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L290 TraceCheckUtils]: 18: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L272 TraceCheckUtils]: 17: Hoare triple {53577#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L290 TraceCheckUtils]: 16: Hoare triple {53577#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {53577#true} {53577#true} #80#return; {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L290 TraceCheckUtils]: 14: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L290 TraceCheckUtils]: 13: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L290 TraceCheckUtils]: 12: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L272 TraceCheckUtils]: 11: Hoare triple {53577#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {53577#true} {53577#true} #78#return; {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L290 TraceCheckUtils]: 9: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L290 TraceCheckUtils]: 8: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L290 TraceCheckUtils]: 7: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L272 TraceCheckUtils]: 6: Hoare triple {53577#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L290 TraceCheckUtils]: 5: Hoare triple {53577#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L272 TraceCheckUtils]: 4: Hoare triple {53577#true} call #t~ret8 := main(); {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53577#true} {53577#true} #98#return; {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L290 TraceCheckUtils]: 2: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:25:34,225 INFO L290 TraceCheckUtils]: 1: Hoare triple {53577#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {53577#true} is VALID [2022-04-28 12:25:34,226 INFO L272 TraceCheckUtils]: 0: Hoare triple {53577#true} call ULTIMATE.init(); {53577#true} is VALID [2022-04-28 12:25:34,226 INFO L134 CoverageAnalysis]: Checked inductivity of 405 backedges. 78 proven. 7 refuted. 0 times theorem prover too weak. 320 trivial. 0 not checked. [2022-04-28 12:25:34,226 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:25:34,226 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [251202314] [2022-04-28 12:25:34,226 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:25:34,226 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [550985222] [2022-04-28 12:25:34,226 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [550985222] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:25:34,226 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:25:34,226 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 14 [2022-04-28 12:25:34,226 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:25:34,226 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1492549033] [2022-04-28 12:25:34,227 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1492549033] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:25:34,227 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:25:34,227 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:25:34,227 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [774795732] [2022-04-28 12:25:34,227 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:25:34,227 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 118 [2022-04-28 12:25:34,227 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:25:34,227 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:25:34,288 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 12:25:34,288 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:25:34,288 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:25:34,288 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:25:34,289 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=149, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:25:34,289 INFO L87 Difference]: Start difference. First operand 553 states and 692 transitions. Second operand has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:25:36,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:25:36,620 INFO L93 Difference]: Finished difference Result 606 states and 774 transitions. [2022-04-28 12:25:36,620 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:25:36,621 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 118 [2022-04-28 12:25:36,621 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:25:36,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:25:36,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 127 transitions. [2022-04-28 12:25:36,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:25:36,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 127 transitions. [2022-04-28 12:25:36,623 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 127 transitions. [2022-04-28 12:25:36,743 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:25:36,758 INFO L225 Difference]: With dead ends: 606 [2022-04-28 12:25:36,759 INFO L226 Difference]: Without dead ends: 603 [2022-04-28 12:25:36,759 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 239 GetRequests, 222 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=58, Invalid=248, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:25:36,759 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 33 mSDsluCounter, 287 mSDsCounter, 0 mSdLazyCounter, 393 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 344 SdHoareTripleChecker+Invalid, 423 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 393 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:25:36,759 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 344 Invalid, 423 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 393 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 12:25:36,760 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 603 states. [2022-04-28 12:25:37,817 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 603 to 596. [2022-04-28 12:25:37,817 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:25:37,818 INFO L82 GeneralOperation]: Start isEquivalent. First operand 603 states. Second operand has 596 states, 386 states have (on average 1.2098445595854923) internal successors, (467), 393 states have internal predecessors, (467), 150 states have call successors, (150), 60 states have call predecessors, (150), 59 states have return successors, (146), 142 states have call predecessors, (146), 146 states have call successors, (146) [2022-04-28 12:25:37,818 INFO L74 IsIncluded]: Start isIncluded. First operand 603 states. Second operand has 596 states, 386 states have (on average 1.2098445595854923) internal successors, (467), 393 states have internal predecessors, (467), 150 states have call successors, (150), 60 states have call predecessors, (150), 59 states have return successors, (146), 142 states have call predecessors, (146), 146 states have call successors, (146) [2022-04-28 12:25:37,818 INFO L87 Difference]: Start difference. First operand 603 states. Second operand has 596 states, 386 states have (on average 1.2098445595854923) internal successors, (467), 393 states have internal predecessors, (467), 150 states have call successors, (150), 60 states have call predecessors, (150), 59 states have return successors, (146), 142 states have call predecessors, (146), 146 states have call successors, (146) [2022-04-28 12:25:37,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:25:37,831 INFO L93 Difference]: Finished difference Result 603 states and 770 transitions. [2022-04-28 12:25:37,831 INFO L276 IsEmpty]: Start isEmpty. Operand 603 states and 770 transitions. [2022-04-28 12:25:37,832 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:25:37,832 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:25:37,835 INFO L74 IsIncluded]: Start isIncluded. First operand has 596 states, 386 states have (on average 1.2098445595854923) internal successors, (467), 393 states have internal predecessors, (467), 150 states have call successors, (150), 60 states have call predecessors, (150), 59 states have return successors, (146), 142 states have call predecessors, (146), 146 states have call successors, (146) Second operand 603 states. [2022-04-28 12:25:37,835 INFO L87 Difference]: Start difference. First operand has 596 states, 386 states have (on average 1.2098445595854923) internal successors, (467), 393 states have internal predecessors, (467), 150 states have call successors, (150), 60 states have call predecessors, (150), 59 states have return successors, (146), 142 states have call predecessors, (146), 146 states have call successors, (146) Second operand 603 states. [2022-04-28 12:25:37,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:25:37,848 INFO L93 Difference]: Finished difference Result 603 states and 770 transitions. [2022-04-28 12:25:37,848 INFO L276 IsEmpty]: Start isEmpty. Operand 603 states and 770 transitions. [2022-04-28 12:25:37,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:25:37,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:25:37,849 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:25:37,849 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:25:37,850 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 596 states, 386 states have (on average 1.2098445595854923) internal successors, (467), 393 states have internal predecessors, (467), 150 states have call successors, (150), 60 states have call predecessors, (150), 59 states have return successors, (146), 142 states have call predecessors, (146), 146 states have call successors, (146) [2022-04-28 12:25:37,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 596 states to 596 states and 763 transitions. [2022-04-28 12:25:37,866 INFO L78 Accepts]: Start accepts. Automaton has 596 states and 763 transitions. Word has length 118 [2022-04-28 12:25:37,866 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:25:37,866 INFO L495 AbstractCegarLoop]: Abstraction has 596 states and 763 transitions. [2022-04-28 12:25:37,866 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:25:37,866 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 596 states and 763 transitions. [2022-04-28 12:25:39,133 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 763 edges. 763 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:25:39,133 INFO L276 IsEmpty]: Start isEmpty. Operand 596 states and 763 transitions. [2022-04-28 12:25:39,133 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 125 [2022-04-28 12:25:39,133 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:25:39,134 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:25:39,150 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Ended with exit code 0 [2022-04-28 12:25:39,350 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 31 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable30 [2022-04-28 12:25:39,350 INFO L420 AbstractCegarLoop]: === Iteration 32 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:25:39,350 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:25:39,350 INFO L85 PathProgramCache]: Analyzing trace with hash 992936989, now seen corresponding path program 5 times [2022-04-28 12:25:39,350 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:25:39,350 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [385493645] [2022-04-28 12:25:39,350 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:25:39,351 INFO L85 PathProgramCache]: Analyzing trace with hash 992936989, now seen corresponding path program 6 times [2022-04-28 12:25:39,351 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:25:39,351 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2122207340] [2022-04-28 12:25:39,351 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:25:39,351 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:25:39,359 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:25:39,359 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1167879889] [2022-04-28 12:25:39,359 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:25:39,360 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:25:39,360 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:25:39,360 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:25:39,361 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Waiting until timeout for monitored process [2022-04-28 12:25:39,729 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:25:39,729 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:25:39,731 INFO L263 TraceCheckSpWp]: Trace formula consists of 238 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-28 12:25:39,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:25:39,755 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:25:58,640 INFO L272 TraceCheckUtils]: 0: Hoare triple {57916#true} call ULTIMATE.init(); {57916#true} is VALID [2022-04-28 12:25:58,640 INFO L290 TraceCheckUtils]: 1: Hoare triple {57916#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {57916#true} is VALID [2022-04-28 12:25:58,640 INFO L290 TraceCheckUtils]: 2: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:25:58,640 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57916#true} {57916#true} #98#return; {57916#true} is VALID [2022-04-28 12:25:58,640 INFO L272 TraceCheckUtils]: 4: Hoare triple {57916#true} call #t~ret8 := main(); {57916#true} is VALID [2022-04-28 12:25:58,640 INFO L290 TraceCheckUtils]: 5: Hoare triple {57916#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {57916#true} is VALID [2022-04-28 12:25:58,640 INFO L272 TraceCheckUtils]: 6: Hoare triple {57916#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:25:58,640 INFO L290 TraceCheckUtils]: 7: Hoare triple {57916#true} ~cond := #in~cond; {57942#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:25:58,641 INFO L290 TraceCheckUtils]: 8: Hoare triple {57942#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {57946#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:25:58,641 INFO L290 TraceCheckUtils]: 9: Hoare triple {57946#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {57946#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:25:58,641 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {57946#(not (= |assume_abort_if_not_#in~cond| 0))} {57916#true} #78#return; {57953#(<= 1 main_~x~0)} is VALID [2022-04-28 12:25:58,641 INFO L272 TraceCheckUtils]: 11: Hoare triple {57953#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:25:58,641 INFO L290 TraceCheckUtils]: 12: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:25:58,642 INFO L290 TraceCheckUtils]: 13: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:25:58,642 INFO L290 TraceCheckUtils]: 14: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:25:58,642 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {57916#true} {57953#(<= 1 main_~x~0)} #80#return; {57953#(<= 1 main_~x~0)} is VALID [2022-04-28 12:25:58,642 INFO L290 TraceCheckUtils]: 16: Hoare triple {57953#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {57972#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,642 INFO L272 TraceCheckUtils]: 17: Hoare triple {57972#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:25:58,642 INFO L290 TraceCheckUtils]: 18: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:25:58,642 INFO L290 TraceCheckUtils]: 19: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:25:58,642 INFO L290 TraceCheckUtils]: 20: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:25:58,643 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {57916#true} {57972#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #82#return; {57972#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,643 INFO L272 TraceCheckUtils]: 22: Hoare triple {57972#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:25:58,643 INFO L290 TraceCheckUtils]: 23: Hoare triple {57916#true} ~cond := #in~cond; {57942#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:25:58,644 INFO L290 TraceCheckUtils]: 24: Hoare triple {57942#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {57946#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:25:58,644 INFO L290 TraceCheckUtils]: 25: Hoare triple {57946#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {57946#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:25:58,645 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {57946#(not (= |assume_abort_if_not_#in~cond| 0))} {57972#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #84#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,645 INFO L290 TraceCheckUtils]: 27: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,645 INFO L290 TraceCheckUtils]: 28: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,646 INFO L290 TraceCheckUtils]: 29: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,646 INFO L290 TraceCheckUtils]: 30: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,647 INFO L290 TraceCheckUtils]: 31: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,647 INFO L272 TraceCheckUtils]: 32: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:25:58,647 INFO L290 TraceCheckUtils]: 33: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:25:58,647 INFO L290 TraceCheckUtils]: 34: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:25:58,647 INFO L290 TraceCheckUtils]: 35: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:25:58,648 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #86#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,648 INFO L272 TraceCheckUtils]: 37: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:25:58,648 INFO L290 TraceCheckUtils]: 38: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:25:58,648 INFO L290 TraceCheckUtils]: 39: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:25:58,648 INFO L290 TraceCheckUtils]: 40: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:25:58,649 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #88#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,649 INFO L272 TraceCheckUtils]: 42: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:25:58,649 INFO L290 TraceCheckUtils]: 43: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:25:58,649 INFO L290 TraceCheckUtils]: 44: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:25:58,649 INFO L290 TraceCheckUtils]: 45: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:25:58,649 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #90#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,649 INFO L272 TraceCheckUtils]: 47: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:25:58,649 INFO L290 TraceCheckUtils]: 48: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:25:58,649 INFO L290 TraceCheckUtils]: 49: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:25:58,650 INFO L290 TraceCheckUtils]: 50: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:25:58,650 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #92#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,650 INFO L290 TraceCheckUtils]: 52: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,651 INFO L290 TraceCheckUtils]: 53: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,651 INFO L290 TraceCheckUtils]: 54: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,651 INFO L272 TraceCheckUtils]: 55: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:25:58,651 INFO L290 TraceCheckUtils]: 56: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:25:58,651 INFO L290 TraceCheckUtils]: 57: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:25:58,652 INFO L290 TraceCheckUtils]: 58: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:25:58,652 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #86#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,652 INFO L272 TraceCheckUtils]: 60: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:25:58,652 INFO L290 TraceCheckUtils]: 61: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:25:58,652 INFO L290 TraceCheckUtils]: 62: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:25:58,652 INFO L290 TraceCheckUtils]: 63: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:25:58,653 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #88#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,653 INFO L272 TraceCheckUtils]: 65: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:25:58,653 INFO L290 TraceCheckUtils]: 66: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:25:58,653 INFO L290 TraceCheckUtils]: 67: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:25:58,653 INFO L290 TraceCheckUtils]: 68: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:25:58,654 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #90#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,654 INFO L272 TraceCheckUtils]: 70: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:25:58,654 INFO L290 TraceCheckUtils]: 71: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:25:58,654 INFO L290 TraceCheckUtils]: 72: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:25:58,654 INFO L290 TraceCheckUtils]: 73: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:25:58,655 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #92#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,656 INFO L290 TraceCheckUtils]: 75: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,656 INFO L290 TraceCheckUtils]: 76: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,657 INFO L290 TraceCheckUtils]: 77: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,657 INFO L272 TraceCheckUtils]: 78: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:25:58,657 INFO L290 TraceCheckUtils]: 79: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:25:58,657 INFO L290 TraceCheckUtils]: 80: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:25:58,657 INFO L290 TraceCheckUtils]: 81: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:25:58,658 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {57916#true} {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #86#return; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,658 INFO L272 TraceCheckUtils]: 83: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:25:58,658 INFO L290 TraceCheckUtils]: 84: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:25:58,658 INFO L290 TraceCheckUtils]: 85: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:25:58,658 INFO L290 TraceCheckUtils]: 86: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:25:58,659 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {57916#true} {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #88#return; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,659 INFO L272 TraceCheckUtils]: 88: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:25:58,659 INFO L290 TraceCheckUtils]: 89: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:25:58,659 INFO L290 TraceCheckUtils]: 90: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:25:58,659 INFO L290 TraceCheckUtils]: 91: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:25:58,659 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {57916#true} {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #90#return; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,659 INFO L272 TraceCheckUtils]: 93: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:25:58,659 INFO L290 TraceCheckUtils]: 94: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:25:58,660 INFO L290 TraceCheckUtils]: 95: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:25:58,660 INFO L290 TraceCheckUtils]: 96: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:25:58,660 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {57916#true} {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #92#return; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,661 INFO L290 TraceCheckUtils]: 98: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {58221#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (not (<= main_~y~0 main_~c~0)) (<= 0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:25:58,661 INFO L290 TraceCheckUtils]: 99: Hoare triple {58221#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (not (<= main_~y~0 main_~c~0)) (<= 0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {58225#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 12:25:58,662 INFO L290 TraceCheckUtils]: 100: Hoare triple {58225#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {58225#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 12:25:58,662 INFO L290 TraceCheckUtils]: 101: Hoare triple {58225#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} assume !!(#t~post6 < 20);havoc #t~post6; {58225#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 12:25:58,662 INFO L290 TraceCheckUtils]: 102: Hoare triple {58225#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 12:25:58,663 INFO L290 TraceCheckUtils]: 103: Hoare triple {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 12:25:58,663 INFO L290 TraceCheckUtils]: 104: Hoare triple {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} assume !!(#t~post7 < 20);havoc #t~post7; {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 12:25:58,663 INFO L272 TraceCheckUtils]: 105: Hoare triple {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:25:58,663 INFO L290 TraceCheckUtils]: 106: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:25:58,663 INFO L290 TraceCheckUtils]: 107: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:25:58,663 INFO L290 TraceCheckUtils]: 108: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:25:58,664 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {57916#true} {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} #86#return; {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 12:25:58,664 INFO L272 TraceCheckUtils]: 110: Hoare triple {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:25:58,664 INFO L290 TraceCheckUtils]: 111: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:25:58,664 INFO L290 TraceCheckUtils]: 112: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:25:58,664 INFO L290 TraceCheckUtils]: 113: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:25:58,665 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {57916#true} {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} #88#return; {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 12:25:58,665 INFO L272 TraceCheckUtils]: 115: Hoare triple {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:25:58,665 INFO L290 TraceCheckUtils]: 116: Hoare triple {57916#true} ~cond := #in~cond; {58278#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:25:58,665 INFO L290 TraceCheckUtils]: 117: Hoare triple {58278#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {58282#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:25:58,665 INFO L290 TraceCheckUtils]: 118: Hoare triple {58282#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {58282#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:25:58,666 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {58282#(not (= |__VERIFIER_assert_#in~cond| 0))} {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} #90#return; {58289#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 12:25:58,670 INFO L272 TraceCheckUtils]: 120: Hoare triple {58289#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {58293#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:25:58,671 INFO L290 TraceCheckUtils]: 121: Hoare triple {58293#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {58297#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:25:58,671 INFO L290 TraceCheckUtils]: 122: Hoare triple {58297#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {57917#false} is VALID [2022-04-28 12:25:58,671 INFO L290 TraceCheckUtils]: 123: Hoare triple {57917#false} assume !false; {57917#false} is VALID [2022-04-28 12:25:58,672 INFO L134 CoverageAnalysis]: Checked inductivity of 516 backedges. 91 proven. 28 refuted. 0 times theorem prover too weak. 397 trivial. 0 not checked. [2022-04-28 12:25:58,672 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:26:43,426 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:26:43,426 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2122207340] [2022-04-28 12:26:43,426 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:26:43,426 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1167879889] [2022-04-28 12:26:43,427 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1167879889] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:26:43,427 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:26:43,427 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-28 12:26:43,427 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:26:43,427 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [385493645] [2022-04-28 12:26:43,427 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [385493645] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:26:43,427 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:26:43,427 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 12:26:43,427 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1369440744] [2022-04-28 12:26:43,427 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:26:43,427 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 124 [2022-04-28 12:26:43,428 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:26:43,428 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:26:43,509 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 12:26:43,509 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 12:26:43,509 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:26:43,509 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 12:26:43,510 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=103, Invalid=402, Unknown=1, NotChecked=0, Total=506 [2022-04-28 12:26:43,510 INFO L87 Difference]: Start difference. First operand 596 states and 763 transitions. Second operand has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:26:59,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:26:59,138 INFO L93 Difference]: Finished difference Result 619 states and 791 transitions. [2022-04-28 12:26:59,138 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 12:26:59,138 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 124 [2022-04-28 12:26:59,138 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:26:59,138 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:26:59,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 111 transitions. [2022-04-28 12:26:59,147 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:26:59,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 111 transitions. [2022-04-28 12:26:59,148 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 111 transitions. [2022-04-28 12:26:59,288 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 12:26:59,307 INFO L225 Difference]: With dead ends: 619 [2022-04-28 12:26:59,307 INFO L226 Difference]: Without dead ends: 615 [2022-04-28 12:26:59,307 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 177 GetRequests, 151 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 165 ImplicationChecksByTransitivity, 4.7s TimeCoverageRelationStatistics Valid=133, Invalid=568, Unknown=1, NotChecked=0, Total=702 [2022-04-28 12:26:59,308 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 54 mSDsluCounter, 268 mSDsCounter, 0 mSdLazyCounter, 624 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 64 SdHoareTripleChecker+Valid, 318 SdHoareTripleChecker+Invalid, 656 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 624 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:26:59,308 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [64 Valid, 318 Invalid, 656 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 624 Invalid, 0 Unknown, 0 Unchecked, 3.3s Time] [2022-04-28 12:26:59,308 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 615 states. [2022-04-28 12:27:00,549 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 615 to 609. [2022-04-28 12:27:00,549 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:27:00,550 INFO L82 GeneralOperation]: Start isEquivalent. First operand 615 states. Second operand has 609 states, 394 states have (on average 1.2081218274111676) internal successors, (476), 400 states have internal predecessors, (476), 154 states have call successors, (154), 62 states have call predecessors, (154), 60 states have return successors, (150), 146 states have call predecessors, (150), 150 states have call successors, (150) [2022-04-28 12:27:00,550 INFO L74 IsIncluded]: Start isIncluded. First operand 615 states. Second operand has 609 states, 394 states have (on average 1.2081218274111676) internal successors, (476), 400 states have internal predecessors, (476), 154 states have call successors, (154), 62 states have call predecessors, (154), 60 states have return successors, (150), 146 states have call predecessors, (150), 150 states have call successors, (150) [2022-04-28 12:27:00,550 INFO L87 Difference]: Start difference. First operand 615 states. Second operand has 609 states, 394 states have (on average 1.2081218274111676) internal successors, (476), 400 states have internal predecessors, (476), 154 states have call successors, (154), 62 states have call predecessors, (154), 60 states have return successors, (150), 146 states have call predecessors, (150), 150 states have call successors, (150) [2022-04-28 12:27:00,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:27:00,564 INFO L93 Difference]: Finished difference Result 615 states and 786 transitions. [2022-04-28 12:27:00,564 INFO L276 IsEmpty]: Start isEmpty. Operand 615 states and 786 transitions. [2022-04-28 12:27:00,565 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:27:00,565 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:27:00,565 INFO L74 IsIncluded]: Start isIncluded. First operand has 609 states, 394 states have (on average 1.2081218274111676) internal successors, (476), 400 states have internal predecessors, (476), 154 states have call successors, (154), 62 states have call predecessors, (154), 60 states have return successors, (150), 146 states have call predecessors, (150), 150 states have call successors, (150) Second operand 615 states. [2022-04-28 12:27:00,565 INFO L87 Difference]: Start difference. First operand has 609 states, 394 states have (on average 1.2081218274111676) internal successors, (476), 400 states have internal predecessors, (476), 154 states have call successors, (154), 62 states have call predecessors, (154), 60 states have return successors, (150), 146 states have call predecessors, (150), 150 states have call successors, (150) Second operand 615 states. [2022-04-28 12:27:00,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:27:00,578 INFO L93 Difference]: Finished difference Result 615 states and 786 transitions. [2022-04-28 12:27:00,578 INFO L276 IsEmpty]: Start isEmpty. Operand 615 states and 786 transitions. [2022-04-28 12:27:00,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:27:00,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:27:00,579 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:27:00,579 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:27:00,580 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 609 states, 394 states have (on average 1.2081218274111676) internal successors, (476), 400 states have internal predecessors, (476), 154 states have call successors, (154), 62 states have call predecessors, (154), 60 states have return successors, (150), 146 states have call predecessors, (150), 150 states have call successors, (150) [2022-04-28 12:27:00,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 609 states to 609 states and 780 transitions. [2022-04-28 12:27:00,596 INFO L78 Accepts]: Start accepts. Automaton has 609 states and 780 transitions. Word has length 124 [2022-04-28 12:27:00,596 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:27:00,596 INFO L495 AbstractCegarLoop]: Abstraction has 609 states and 780 transitions. [2022-04-28 12:27:00,596 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:27:00,596 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 609 states and 780 transitions. [2022-04-28 12:27:01,933 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 780 edges. 780 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:27:01,933 INFO L276 IsEmpty]: Start isEmpty. Operand 609 states and 780 transitions. [2022-04-28 12:27:01,934 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 124 [2022-04-28 12:27:01,934 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:27:01,934 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:27:01,941 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Forceful destruction successful, exit code 0 [2022-04-28 12:27:02,134 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable31,32 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:27:02,135 INFO L420 AbstractCegarLoop]: === Iteration 33 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:27:02,135 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:27:02,135 INFO L85 PathProgramCache]: Analyzing trace with hash -1110867224, now seen corresponding path program 7 times [2022-04-28 12:27:02,135 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:27:02,135 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [502331007] [2022-04-28 12:27:02,135 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:27:02,135 INFO L85 PathProgramCache]: Analyzing trace with hash -1110867224, now seen corresponding path program 8 times [2022-04-28 12:27:02,135 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:27:02,136 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [629095310] [2022-04-28 12:27:02,136 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:27:02,136 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:27:02,146 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:27:02,146 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2015190806] [2022-04-28 12:27:02,146 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:27:02,146 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:27:02,146 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:27:02,149 INFO L229 MonitoredProcess]: Starting monitored process 33 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:27:02,149 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Waiting until timeout for monitored process [2022-04-28 12:27:02,207 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:27:02,207 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:27:02,208 INFO L263 TraceCheckSpWp]: Trace formula consists of 331 conjuncts, 71 conjunts are in the unsatisfiable core [2022-04-28 12:27:02,225 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:27:02,227 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:27:15,448 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:27:22,225 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:27:22,490 INFO L272 TraceCheckUtils]: 0: Hoare triple {62154#true} call ULTIMATE.init(); {62154#true} is VALID [2022-04-28 12:27:22,490 INFO L290 TraceCheckUtils]: 1: Hoare triple {62154#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {62154#true} is VALID [2022-04-28 12:27:22,490 INFO L290 TraceCheckUtils]: 2: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:27:22,490 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {62154#true} {62154#true} #98#return; {62154#true} is VALID [2022-04-28 12:27:22,491 INFO L272 TraceCheckUtils]: 4: Hoare triple {62154#true} call #t~ret8 := main(); {62154#true} is VALID [2022-04-28 12:27:22,491 INFO L290 TraceCheckUtils]: 5: Hoare triple {62154#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {62154#true} is VALID [2022-04-28 12:27:22,491 INFO L272 TraceCheckUtils]: 6: Hoare triple {62154#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:27:22,491 INFO L290 TraceCheckUtils]: 7: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:27:22,491 INFO L290 TraceCheckUtils]: 8: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:27:22,491 INFO L290 TraceCheckUtils]: 9: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:27:22,491 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {62154#true} {62154#true} #78#return; {62154#true} is VALID [2022-04-28 12:27:22,491 INFO L272 TraceCheckUtils]: 11: Hoare triple {62154#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:27:22,491 INFO L290 TraceCheckUtils]: 12: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:27:22,491 INFO L290 TraceCheckUtils]: 13: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:27:22,491 INFO L290 TraceCheckUtils]: 14: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:27:22,491 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {62154#true} {62154#true} #80#return; {62154#true} is VALID [2022-04-28 12:27:22,491 INFO L290 TraceCheckUtils]: 16: Hoare triple {62154#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:27:22,491 INFO L272 TraceCheckUtils]: 17: Hoare triple {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:27:22,492 INFO L290 TraceCheckUtils]: 18: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:27:22,492 INFO L290 TraceCheckUtils]: 19: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:27:22,492 INFO L290 TraceCheckUtils]: 20: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:27:22,492 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {62154#true} {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #82#return; {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:27:22,492 INFO L272 TraceCheckUtils]: 22: Hoare triple {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:27:22,492 INFO L290 TraceCheckUtils]: 23: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:27:22,492 INFO L290 TraceCheckUtils]: 24: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:27:22,492 INFO L290 TraceCheckUtils]: 25: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:27:22,493 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {62154#true} {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #84#return; {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:27:22,493 INFO L290 TraceCheckUtils]: 27: Hoare triple {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:27:22,494 INFO L290 TraceCheckUtils]: 28: Hoare triple {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 20);havoc #t~post6; {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:27:22,494 INFO L290 TraceCheckUtils]: 29: Hoare triple {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:27:22,494 INFO L290 TraceCheckUtils]: 30: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:27:22,495 INFO L290 TraceCheckUtils]: 31: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !!(#t~post7 < 20);havoc #t~post7; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:27:22,495 INFO L272 TraceCheckUtils]: 32: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:27:22,495 INFO L290 TraceCheckUtils]: 33: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:27:22,495 INFO L290 TraceCheckUtils]: 34: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:27:22,495 INFO L290 TraceCheckUtils]: 35: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:27:22,495 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {62154#true} {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #86#return; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:27:22,495 INFO L272 TraceCheckUtils]: 37: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:27:22,496 INFO L290 TraceCheckUtils]: 38: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:27:22,496 INFO L290 TraceCheckUtils]: 39: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:27:22,496 INFO L290 TraceCheckUtils]: 40: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:27:22,496 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {62154#true} {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #88#return; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:27:22,496 INFO L272 TraceCheckUtils]: 42: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:27:22,496 INFO L290 TraceCheckUtils]: 43: Hoare triple {62154#true} ~cond := #in~cond; {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:27:22,497 INFO L290 TraceCheckUtils]: 44: Hoare triple {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:27:22,497 INFO L290 TraceCheckUtils]: 45: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:27:22,498 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #90#return; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:27:22,498 INFO L272 TraceCheckUtils]: 47: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:27:22,498 INFO L290 TraceCheckUtils]: 48: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:27:22,498 INFO L290 TraceCheckUtils]: 49: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:27:22,498 INFO L290 TraceCheckUtils]: 50: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:27:22,498 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {62154#true} {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #92#return; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:27:22,499 INFO L290 TraceCheckUtils]: 52: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:27:22,499 INFO L290 TraceCheckUtils]: 53: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {62322#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:27:22,499 INFO L290 TraceCheckUtils]: 54: Hoare triple {62322#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {62322#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:27:22,500 INFO L290 TraceCheckUtils]: 55: Hoare triple {62322#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(#t~post6 < 20);havoc #t~post6; {62322#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:27:22,500 INFO L290 TraceCheckUtils]: 56: Hoare triple {62322#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:27:22,500 INFO L290 TraceCheckUtils]: 57: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:27:22,501 INFO L290 TraceCheckUtils]: 58: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(#t~post7 < 20);havoc #t~post7; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:27:22,501 INFO L272 TraceCheckUtils]: 59: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:27:22,501 INFO L290 TraceCheckUtils]: 60: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:27:22,501 INFO L290 TraceCheckUtils]: 61: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:27:22,501 INFO L290 TraceCheckUtils]: 62: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:27:22,502 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {62154#true} {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #86#return; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:27:22,502 INFO L272 TraceCheckUtils]: 64: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:27:22,502 INFO L290 TraceCheckUtils]: 65: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:27:22,502 INFO L290 TraceCheckUtils]: 66: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:27:22,502 INFO L290 TraceCheckUtils]: 67: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:27:22,502 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {62154#true} {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #88#return; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:27:22,502 INFO L272 TraceCheckUtils]: 69: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:27:22,502 INFO L290 TraceCheckUtils]: 70: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:27:22,503 INFO L290 TraceCheckUtils]: 71: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:27:22,503 INFO L290 TraceCheckUtils]: 72: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:27:22,503 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {62154#true} {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #90#return; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:27:22,503 INFO L272 TraceCheckUtils]: 74: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:27:22,503 INFO L290 TraceCheckUtils]: 75: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:27:22,503 INFO L290 TraceCheckUtils]: 76: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:27:22,503 INFO L290 TraceCheckUtils]: 77: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:27:22,504 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {62154#true} {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #92#return; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:27:22,505 INFO L290 TraceCheckUtils]: 79: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} is VALID [2022-04-28 12:27:22,505 INFO L290 TraceCheckUtils]: 80: Hoare triple {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} is VALID [2022-04-28 12:27:22,506 INFO L290 TraceCheckUtils]: 81: Hoare triple {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} is VALID [2022-04-28 12:27:22,506 INFO L272 TraceCheckUtils]: 82: Hoare triple {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:27:22,506 INFO L290 TraceCheckUtils]: 83: Hoare triple {62154#true} ~cond := #in~cond; {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:27:22,506 INFO L290 TraceCheckUtils]: 84: Hoare triple {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:27:22,506 INFO L290 TraceCheckUtils]: 85: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:27:22,507 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} #86#return; {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} is VALID [2022-04-28 12:27:22,507 INFO L272 TraceCheckUtils]: 87: Hoare triple {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:27:22,507 INFO L290 TraceCheckUtils]: 88: Hoare triple {62154#true} ~cond := #in~cond; {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:27:22,508 INFO L290 TraceCheckUtils]: 89: Hoare triple {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:27:22,508 INFO L290 TraceCheckUtils]: 90: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:27:22,509 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} #88#return; {62439#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 12:27:22,509 INFO L272 TraceCheckUtils]: 92: Hoare triple {62439#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:27:22,509 INFO L290 TraceCheckUtils]: 93: Hoare triple {62154#true} ~cond := #in~cond; {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:27:22,510 INFO L290 TraceCheckUtils]: 94: Hoare triple {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:27:22,510 INFO L290 TraceCheckUtils]: 95: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:27:22,511 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62439#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} #90#return; {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:27:22,511 INFO L272 TraceCheckUtils]: 97: Hoare triple {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:27:22,511 INFO L290 TraceCheckUtils]: 98: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:27:22,511 INFO L290 TraceCheckUtils]: 99: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:27:22,511 INFO L290 TraceCheckUtils]: 100: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:27:22,512 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {62154#true} {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))))} #92#return; {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:27:22,512 INFO L290 TraceCheckUtils]: 102: Hoare triple {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:27:22,519 INFO L290 TraceCheckUtils]: 103: Hoare triple {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 12:27:22,520 INFO L290 TraceCheckUtils]: 104: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 12:27:22,522 INFO L290 TraceCheckUtils]: 105: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 12:27:22,522 INFO L290 TraceCheckUtils]: 106: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 12:27:22,523 INFO L290 TraceCheckUtils]: 107: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 12:27:22,525 INFO L290 TraceCheckUtils]: 108: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 12:27:22,525 INFO L272 TraceCheckUtils]: 109: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:27:22,525 INFO L290 TraceCheckUtils]: 110: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:27:22,525 INFO L290 TraceCheckUtils]: 111: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:27:22,525 INFO L290 TraceCheckUtils]: 112: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:27:22,525 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {62154#true} {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} #86#return; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 12:27:22,525 INFO L272 TraceCheckUtils]: 114: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:27:22,526 INFO L290 TraceCheckUtils]: 115: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:27:22,526 INFO L290 TraceCheckUtils]: 116: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:27:22,526 INFO L290 TraceCheckUtils]: 117: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:27:22,526 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {62154#true} {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} #88#return; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 12:27:22,529 INFO L272 TraceCheckUtils]: 119: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62526#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:27:22,529 INFO L290 TraceCheckUtils]: 120: Hoare triple {62526#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {62530#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:27:22,529 INFO L290 TraceCheckUtils]: 121: Hoare triple {62530#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {62155#false} is VALID [2022-04-28 12:27:22,530 INFO L290 TraceCheckUtils]: 122: Hoare triple {62155#false} assume !false; {62155#false} is VALID [2022-04-28 12:27:22,530 INFO L134 CoverageAnalysis]: Checked inductivity of 462 backedges. 93 proven. 101 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-28 12:27:22,530 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:28:50,786 INFO L290 TraceCheckUtils]: 122: Hoare triple {62155#false} assume !false; {62155#false} is VALID [2022-04-28 12:28:50,786 INFO L290 TraceCheckUtils]: 121: Hoare triple {62530#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {62155#false} is VALID [2022-04-28 12:28:50,786 INFO L290 TraceCheckUtils]: 120: Hoare triple {62526#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {62530#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:28:50,787 INFO L272 TraceCheckUtils]: 119: Hoare triple {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62526#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:28:50,788 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {62154#true} {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #88#return; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:28:50,788 INFO L290 TraceCheckUtils]: 117: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:28:50,788 INFO L290 TraceCheckUtils]: 116: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:28:50,788 INFO L290 TraceCheckUtils]: 115: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:28:50,788 INFO L272 TraceCheckUtils]: 114: Hoare triple {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:28:50,788 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {62154#true} {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #86#return; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:28:50,789 INFO L290 TraceCheckUtils]: 112: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:28:50,789 INFO L290 TraceCheckUtils]: 111: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:28:50,789 INFO L290 TraceCheckUtils]: 110: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:28:50,789 INFO L272 TraceCheckUtils]: 109: Hoare triple {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:28:50,789 INFO L290 TraceCheckUtils]: 108: Hoare triple {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post7 < 20);havoc #t~post7; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:28:50,789 INFO L290 TraceCheckUtils]: 107: Hoare triple {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:28:50,790 INFO L290 TraceCheckUtils]: 106: Hoare triple {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:28:50,790 INFO L290 TraceCheckUtils]: 105: Hoare triple {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:28:50,790 INFO L290 TraceCheckUtils]: 104: Hoare triple {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:28:51,869 INFO L290 TraceCheckUtils]: 103: Hoare triple {62595#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:28:51,870 INFO L290 TraceCheckUtils]: 102: Hoare triple {62595#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} assume !(~c~0 >= ~b~0); {62595#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-28 12:28:51,870 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {62154#true} {62595#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} #92#return; {62595#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-28 12:28:51,870 INFO L290 TraceCheckUtils]: 100: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:28:51,870 INFO L290 TraceCheckUtils]: 99: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:28:51,870 INFO L290 TraceCheckUtils]: 98: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:28:51,870 INFO L272 TraceCheckUtils]: 97: Hoare triple {62595#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:28:51,871 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62617#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #90#return; {62595#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-28 12:28:51,871 INFO L290 TraceCheckUtils]: 95: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:28:51,872 INFO L290 TraceCheckUtils]: 94: Hoare triple {62627#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:28:51,872 INFO L290 TraceCheckUtils]: 93: Hoare triple {62154#true} ~cond := #in~cond; {62627#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:28:51,872 INFO L272 TraceCheckUtils]: 92: Hoare triple {62617#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:28:51,873 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62634#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #88#return; {62617#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:28:51,873 INFO L290 TraceCheckUtils]: 90: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:28:51,873 INFO L290 TraceCheckUtils]: 89: Hoare triple {62627#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:28:51,874 INFO L290 TraceCheckUtils]: 88: Hoare triple {62154#true} ~cond := #in~cond; {62627#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:28:51,874 INFO L272 TraceCheckUtils]: 87: Hoare triple {62634#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:28:51,891 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62154#true} #86#return; {62634#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:28:51,891 INFO L290 TraceCheckUtils]: 85: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:28:51,891 INFO L290 TraceCheckUtils]: 84: Hoare triple {62627#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:28:51,892 INFO L290 TraceCheckUtils]: 83: Hoare triple {62154#true} ~cond := #in~cond; {62627#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:28:51,892 INFO L272 TraceCheckUtils]: 82: Hoare triple {62154#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:28:51,892 INFO L290 TraceCheckUtils]: 81: Hoare triple {62154#true} assume !!(#t~post7 < 20);havoc #t~post7; {62154#true} is VALID [2022-04-28 12:28:51,892 INFO L290 TraceCheckUtils]: 80: Hoare triple {62154#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62154#true} is VALID [2022-04-28 12:28:51,892 INFO L290 TraceCheckUtils]: 79: Hoare triple {62154#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {62154#true} is VALID [2022-04-28 12:28:51,892 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {62154#true} {62154#true} #92#return; {62154#true} is VALID [2022-04-28 12:28:51,892 INFO L290 TraceCheckUtils]: 77: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:28:51,892 INFO L290 TraceCheckUtils]: 76: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:28:51,892 INFO L290 TraceCheckUtils]: 75: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:28:51,892 INFO L272 TraceCheckUtils]: 74: Hoare triple {62154#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:28:51,892 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {62154#true} {62154#true} #90#return; {62154#true} is VALID [2022-04-28 12:28:51,892 INFO L290 TraceCheckUtils]: 72: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:28:51,892 INFO L290 TraceCheckUtils]: 71: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:28:51,892 INFO L290 TraceCheckUtils]: 70: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:28:51,892 INFO L272 TraceCheckUtils]: 69: Hoare triple {62154#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {62154#true} {62154#true} #88#return; {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L290 TraceCheckUtils]: 67: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L290 TraceCheckUtils]: 66: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L290 TraceCheckUtils]: 65: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L272 TraceCheckUtils]: 64: Hoare triple {62154#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {62154#true} {62154#true} #86#return; {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L290 TraceCheckUtils]: 62: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L290 TraceCheckUtils]: 61: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L290 TraceCheckUtils]: 60: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L272 TraceCheckUtils]: 59: Hoare triple {62154#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L290 TraceCheckUtils]: 58: Hoare triple {62154#true} assume !!(#t~post7 < 20);havoc #t~post7; {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L290 TraceCheckUtils]: 57: Hoare triple {62154#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L290 TraceCheckUtils]: 56: Hoare triple {62154#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L290 TraceCheckUtils]: 55: Hoare triple {62154#true} assume !!(#t~post6 < 20);havoc #t~post6; {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L290 TraceCheckUtils]: 54: Hoare triple {62154#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L290 TraceCheckUtils]: 53: Hoare triple {62154#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L290 TraceCheckUtils]: 52: Hoare triple {62154#true} assume !(~c~0 >= ~b~0); {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {62154#true} {62154#true} #92#return; {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L290 TraceCheckUtils]: 50: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L290 TraceCheckUtils]: 49: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:28:51,893 INFO L290 TraceCheckUtils]: 48: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L272 TraceCheckUtils]: 47: Hoare triple {62154#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {62154#true} {62154#true} #90#return; {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L290 TraceCheckUtils]: 45: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L290 TraceCheckUtils]: 44: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L290 TraceCheckUtils]: 43: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L272 TraceCheckUtils]: 42: Hoare triple {62154#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {62154#true} {62154#true} #88#return; {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L290 TraceCheckUtils]: 40: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L290 TraceCheckUtils]: 39: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L290 TraceCheckUtils]: 38: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L272 TraceCheckUtils]: 37: Hoare triple {62154#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {62154#true} {62154#true} #86#return; {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L290 TraceCheckUtils]: 35: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L290 TraceCheckUtils]: 34: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L290 TraceCheckUtils]: 33: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L272 TraceCheckUtils]: 32: Hoare triple {62154#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L290 TraceCheckUtils]: 31: Hoare triple {62154#true} assume !!(#t~post7 < 20);havoc #t~post7; {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L290 TraceCheckUtils]: 30: Hoare triple {62154#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L290 TraceCheckUtils]: 29: Hoare triple {62154#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L290 TraceCheckUtils]: 28: Hoare triple {62154#true} assume !!(#t~post6 < 20);havoc #t~post6; {62154#true} is VALID [2022-04-28 12:28:51,894 INFO L290 TraceCheckUtils]: 27: Hoare triple {62154#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {62154#true} {62154#true} #84#return; {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L290 TraceCheckUtils]: 25: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L290 TraceCheckUtils]: 24: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L290 TraceCheckUtils]: 23: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L272 TraceCheckUtils]: 22: Hoare triple {62154#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {62154#true} {62154#true} #82#return; {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L290 TraceCheckUtils]: 20: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L290 TraceCheckUtils]: 19: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L290 TraceCheckUtils]: 18: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L272 TraceCheckUtils]: 17: Hoare triple {62154#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L290 TraceCheckUtils]: 16: Hoare triple {62154#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {62154#true} {62154#true} #80#return; {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L290 TraceCheckUtils]: 14: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L290 TraceCheckUtils]: 13: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L290 TraceCheckUtils]: 12: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L272 TraceCheckUtils]: 11: Hoare triple {62154#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {62154#true} {62154#true} #78#return; {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L290 TraceCheckUtils]: 9: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L290 TraceCheckUtils]: 8: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L290 TraceCheckUtils]: 7: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:28:51,895 INFO L272 TraceCheckUtils]: 6: Hoare triple {62154#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:28:51,896 INFO L290 TraceCheckUtils]: 5: Hoare triple {62154#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {62154#true} is VALID [2022-04-28 12:28:51,896 INFO L272 TraceCheckUtils]: 4: Hoare triple {62154#true} call #t~ret8 := main(); {62154#true} is VALID [2022-04-28 12:28:51,896 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {62154#true} {62154#true} #98#return; {62154#true} is VALID [2022-04-28 12:28:51,896 INFO L290 TraceCheckUtils]: 2: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:28:51,896 INFO L290 TraceCheckUtils]: 1: Hoare triple {62154#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {62154#true} is VALID [2022-04-28 12:28:51,896 INFO L272 TraceCheckUtils]: 0: Hoare triple {62154#true} call ULTIMATE.init(); {62154#true} is VALID [2022-04-28 12:28:51,896 INFO L134 CoverageAnalysis]: Checked inductivity of 462 backedges. 125 proven. 32 refuted. 0 times theorem prover too weak. 305 trivial. 0 not checked. [2022-04-28 12:28:51,896 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:28:51,896 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [629095310] [2022-04-28 12:28:51,896 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:28:51,896 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2015190806] [2022-04-28 12:28:51,896 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2015190806] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:28:51,896 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:28:51,897 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 10] total 19 [2022-04-28 12:28:51,897 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:28:51,897 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [502331007] [2022-04-28 12:28:51,897 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [502331007] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:28:51,897 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:28:51,897 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 12:28:51,897 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [893297383] [2022-04-28 12:28:51,897 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:28:51,897 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) Word has length 123 [2022-04-28 12:28:51,897 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:28:51,897 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 12:28:51,987 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 12:28:51,987 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 12:28:51,987 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:28:51,987 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 12:28:51,987 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=284, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:28:51,988 INFO L87 Difference]: Start difference. First operand 609 states and 780 transitions. Second operand has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 12:28:55,624 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:28:55,624 INFO L93 Difference]: Finished difference Result 638 states and 824 transitions. [2022-04-28 12:28:55,624 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 12:28:55,624 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) Word has length 123 [2022-04-28 12:28:55,625 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:28:55,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 12:28:55,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 138 transitions. [2022-04-28 12:28:55,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 12:28:55,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 138 transitions. [2022-04-28 12:28:55,627 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 138 transitions. [2022-04-28 12:28:55,781 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 12:28:55,801 INFO L225 Difference]: With dead ends: 638 [2022-04-28 12:28:55,801 INFO L226 Difference]: Without dead ends: 636 [2022-04-28 12:28:55,802 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 249 GetRequests, 226 SyntacticMatches, 2 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=87, Invalid=419, Unknown=0, NotChecked=0, Total=506 [2022-04-28 12:28:55,802 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 38 mSDsluCounter, 331 mSDsCounter, 0 mSdLazyCounter, 659 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 389 SdHoareTripleChecker+Invalid, 693 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 659 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 12:28:55,802 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 389 Invalid, 693 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 659 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 12:28:55,803 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 636 states. [2022-04-28 12:28:57,061 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 636 to 632. [2022-04-28 12:28:57,061 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:28:57,062 INFO L82 GeneralOperation]: Start isEquivalent. First operand 636 states. Second operand has 632 states, 404 states have (on average 1.2128712871287128) internal successors, (490), 410 states have internal predecessors, (490), 166 states have call successors, (166), 63 states have call predecessors, (166), 61 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) [2022-04-28 12:28:57,062 INFO L74 IsIncluded]: Start isIncluded. First operand 636 states. Second operand has 632 states, 404 states have (on average 1.2128712871287128) internal successors, (490), 410 states have internal predecessors, (490), 166 states have call successors, (166), 63 states have call predecessors, (166), 61 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) [2022-04-28 12:28:57,063 INFO L87 Difference]: Start difference. First operand 636 states. Second operand has 632 states, 404 states have (on average 1.2128712871287128) internal successors, (490), 410 states have internal predecessors, (490), 166 states have call successors, (166), 63 states have call predecessors, (166), 61 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) [2022-04-28 12:28:57,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:28:57,076 INFO L93 Difference]: Finished difference Result 636 states and 822 transitions. [2022-04-28 12:28:57,076 INFO L276 IsEmpty]: Start isEmpty. Operand 636 states and 822 transitions. [2022-04-28 12:28:57,077 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:28:57,077 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:28:57,078 INFO L74 IsIncluded]: Start isIncluded. First operand has 632 states, 404 states have (on average 1.2128712871287128) internal successors, (490), 410 states have internal predecessors, (490), 166 states have call successors, (166), 63 states have call predecessors, (166), 61 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) Second operand 636 states. [2022-04-28 12:28:57,078 INFO L87 Difference]: Start difference. First operand has 632 states, 404 states have (on average 1.2128712871287128) internal successors, (490), 410 states have internal predecessors, (490), 166 states have call successors, (166), 63 states have call predecessors, (166), 61 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) Second operand 636 states. [2022-04-28 12:28:57,092 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:28:57,092 INFO L93 Difference]: Finished difference Result 636 states and 822 transitions. [2022-04-28 12:28:57,092 INFO L276 IsEmpty]: Start isEmpty. Operand 636 states and 822 transitions. [2022-04-28 12:28:57,093 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:28:57,093 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:28:57,093 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:28:57,093 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:28:57,093 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 632 states, 404 states have (on average 1.2128712871287128) internal successors, (490), 410 states have internal predecessors, (490), 166 states have call successors, (166), 63 states have call predecessors, (166), 61 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) [2022-04-28 12:28:57,111 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 632 states to 632 states and 818 transitions. [2022-04-28 12:28:57,111 INFO L78 Accepts]: Start accepts. Automaton has 632 states and 818 transitions. Word has length 123 [2022-04-28 12:28:57,111 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:28:57,111 INFO L495 AbstractCegarLoop]: Abstraction has 632 states and 818 transitions. [2022-04-28 12:28:57,111 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 12:28:57,112 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 632 states and 818 transitions. [2022-04-28 12:28:58,652 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 818 edges. 818 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:28:58,652 INFO L276 IsEmpty]: Start isEmpty. Operand 632 states and 818 transitions. [2022-04-28 12:28:58,653 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 129 [2022-04-28 12:28:58,653 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:28:58,653 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:28:58,669 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Forceful destruction successful, exit code 0 [2022-04-28 12:28:58,855 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable32,33 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:28:58,855 INFO L420 AbstractCegarLoop]: === Iteration 34 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:28:58,855 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:28:58,856 INFO L85 PathProgramCache]: Analyzing trace with hash -270396677, now seen corresponding path program 9 times [2022-04-28 12:28:58,856 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:28:58,856 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1569263547] [2022-04-28 12:28:58,856 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:28:58,856 INFO L85 PathProgramCache]: Analyzing trace with hash -270396677, now seen corresponding path program 10 times [2022-04-28 12:28:58,856 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:28:58,856 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [321009927] [2022-04-28 12:28:58,856 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:28:58,856 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:28:58,866 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:28:58,866 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1509266921] [2022-04-28 12:28:58,866 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:28:58,866 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:28:58,866 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:28:58,867 INFO L229 MonitoredProcess]: Starting monitored process 34 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:28:58,867 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Waiting until timeout for monitored process [2022-04-28 12:28:58,955 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:28:58,955 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:28:58,956 INFO L263 TraceCheckSpWp]: Trace formula consists of 292 conjuncts, 68 conjunts are in the unsatisfiable core [2022-04-28 12:28:58,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:28:58,979 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:29:00,427 INFO L272 TraceCheckUtils]: 0: Hoare triple {66730#true} call ULTIMATE.init(); {66730#true} is VALID [2022-04-28 12:29:00,427 INFO L290 TraceCheckUtils]: 1: Hoare triple {66730#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {66730#true} is VALID [2022-04-28 12:29:00,427 INFO L290 TraceCheckUtils]: 2: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:29:00,427 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66730#true} {66730#true} #98#return; {66730#true} is VALID [2022-04-28 12:29:00,427 INFO L272 TraceCheckUtils]: 4: Hoare triple {66730#true} call #t~ret8 := main(); {66730#true} is VALID [2022-04-28 12:29:00,427 INFO L290 TraceCheckUtils]: 5: Hoare triple {66730#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {66730#true} is VALID [2022-04-28 12:29:00,427 INFO L272 TraceCheckUtils]: 6: Hoare triple {66730#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:29:00,427 INFO L290 TraceCheckUtils]: 7: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:29:00,428 INFO L290 TraceCheckUtils]: 8: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:29:00,428 INFO L290 TraceCheckUtils]: 9: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:29:00,428 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {66730#true} {66730#true} #78#return; {66730#true} is VALID [2022-04-28 12:29:00,428 INFO L272 TraceCheckUtils]: 11: Hoare triple {66730#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:29:00,428 INFO L290 TraceCheckUtils]: 12: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:29:00,428 INFO L290 TraceCheckUtils]: 13: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:29:00,428 INFO L290 TraceCheckUtils]: 14: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:29:00,428 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {66730#true} {66730#true} #80#return; {66730#true} is VALID [2022-04-28 12:29:00,428 INFO L290 TraceCheckUtils]: 16: Hoare triple {66730#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:29:00,428 INFO L272 TraceCheckUtils]: 17: Hoare triple {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:29:00,428 INFO L290 TraceCheckUtils]: 18: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:29:00,428 INFO L290 TraceCheckUtils]: 19: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:29:00,429 INFO L290 TraceCheckUtils]: 20: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:29:00,429 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {66730#true} {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:29:00,429 INFO L272 TraceCheckUtils]: 22: Hoare triple {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:29:00,429 INFO L290 TraceCheckUtils]: 23: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:29:00,429 INFO L290 TraceCheckUtils]: 24: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:29:00,429 INFO L290 TraceCheckUtils]: 25: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:29:00,430 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {66730#true} {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:29:00,430 INFO L290 TraceCheckUtils]: 27: Hoare triple {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:29:00,431 INFO L290 TraceCheckUtils]: 28: Hoare triple {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:29:00,431 INFO L290 TraceCheckUtils]: 29: Hoare triple {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:29:00,432 INFO L290 TraceCheckUtils]: 30: Hoare triple {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:29:00,432 INFO L290 TraceCheckUtils]: 31: Hoare triple {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:29:00,432 INFO L272 TraceCheckUtils]: 32: Hoare triple {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:29:00,432 INFO L290 TraceCheckUtils]: 33: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:29:00,432 INFO L290 TraceCheckUtils]: 34: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:29:00,432 INFO L290 TraceCheckUtils]: 35: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:29:00,433 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {66730#true} {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:29:00,433 INFO L272 TraceCheckUtils]: 37: Hoare triple {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:29:00,433 INFO L290 TraceCheckUtils]: 38: Hoare triple {66730#true} ~cond := #in~cond; {66851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:29:00,433 INFO L290 TraceCheckUtils]: 39: Hoare triple {66851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:00,434 INFO L290 TraceCheckUtils]: 40: Hoare triple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:00,435 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #88#return; {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:29:00,435 INFO L272 TraceCheckUtils]: 42: Hoare triple {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:29:00,435 INFO L290 TraceCheckUtils]: 43: Hoare triple {66730#true} ~cond := #in~cond; {66851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:29:00,435 INFO L290 TraceCheckUtils]: 44: Hoare triple {66851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:00,435 INFO L290 TraceCheckUtils]: 45: Hoare triple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:00,436 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #90#return; {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:29:00,436 INFO L272 TraceCheckUtils]: 47: Hoare triple {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:29:00,436 INFO L290 TraceCheckUtils]: 48: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:29:00,436 INFO L290 TraceCheckUtils]: 49: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:29:00,436 INFO L290 TraceCheckUtils]: 50: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:29:00,437 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {66730#true} {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #92#return; {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:29:00,437 INFO L290 TraceCheckUtils]: 52: Hoare triple {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:29:00,438 INFO L290 TraceCheckUtils]: 53: Hoare triple {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {66899#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,438 INFO L290 TraceCheckUtils]: 54: Hoare triple {66899#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {66899#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,439 INFO L290 TraceCheckUtils]: 55: Hoare triple {66899#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {66899#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,439 INFO L290 TraceCheckUtils]: 56: Hoare triple {66899#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,439 INFO L290 TraceCheckUtils]: 57: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,440 INFO L290 TraceCheckUtils]: 58: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post7 < 20);havoc #t~post7; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,440 INFO L272 TraceCheckUtils]: 59: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:29:00,440 INFO L290 TraceCheckUtils]: 60: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:29:00,440 INFO L290 TraceCheckUtils]: 61: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:29:00,440 INFO L290 TraceCheckUtils]: 62: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:29:00,441 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {66730#true} {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,441 INFO L272 TraceCheckUtils]: 64: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:29:00,441 INFO L290 TraceCheckUtils]: 65: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:29:00,441 INFO L290 TraceCheckUtils]: 66: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:29:00,441 INFO L290 TraceCheckUtils]: 67: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:29:00,441 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {66730#true} {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,442 INFO L272 TraceCheckUtils]: 69: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:29:00,442 INFO L290 TraceCheckUtils]: 70: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:29:00,442 INFO L290 TraceCheckUtils]: 71: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:29:00,442 INFO L290 TraceCheckUtils]: 72: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:29:00,442 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {66730#true} {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,442 INFO L272 TraceCheckUtils]: 74: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:29:00,442 INFO L290 TraceCheckUtils]: 75: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:29:00,442 INFO L290 TraceCheckUtils]: 76: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:29:00,443 INFO L290 TraceCheckUtils]: 77: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:29:00,443 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {66730#true} {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #92#return; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,444 INFO L290 TraceCheckUtils]: 79: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,444 INFO L290 TraceCheckUtils]: 80: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,444 INFO L290 TraceCheckUtils]: 81: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post7 < 20);havoc #t~post7; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,445 INFO L272 TraceCheckUtils]: 82: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:29:00,445 INFO L290 TraceCheckUtils]: 83: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:29:00,445 INFO L290 TraceCheckUtils]: 84: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:29:00,445 INFO L290 TraceCheckUtils]: 85: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:29:00,445 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {66730#true} {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,445 INFO L272 TraceCheckUtils]: 87: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:29:00,445 INFO L290 TraceCheckUtils]: 88: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:29:00,445 INFO L290 TraceCheckUtils]: 89: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:29:00,446 INFO L290 TraceCheckUtils]: 90: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:29:00,446 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {66730#true} {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,446 INFO L272 TraceCheckUtils]: 92: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:29:00,446 INFO L290 TraceCheckUtils]: 93: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:29:00,446 INFO L290 TraceCheckUtils]: 94: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:29:00,446 INFO L290 TraceCheckUtils]: 95: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:29:00,447 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {66730#true} {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,447 INFO L272 TraceCheckUtils]: 97: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:29:00,447 INFO L290 TraceCheckUtils]: 98: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:29:00,447 INFO L290 TraceCheckUtils]: 99: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:29:00,447 INFO L290 TraceCheckUtils]: 100: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:29:00,448 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {66730#true} {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #92#return; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,448 INFO L290 TraceCheckUtils]: 102: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,449 INFO L290 TraceCheckUtils]: 103: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,449 INFO L290 TraceCheckUtils]: 104: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,450 INFO L290 TraceCheckUtils]: 105: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,450 INFO L290 TraceCheckUtils]: 106: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,450 INFO L290 TraceCheckUtils]: 107: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,451 INFO L290 TraceCheckUtils]: 108: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post7 < 20);havoc #t~post7; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,451 INFO L272 TraceCheckUtils]: 109: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:29:00,451 INFO L290 TraceCheckUtils]: 110: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:29:00,451 INFO L290 TraceCheckUtils]: 111: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:29:00,451 INFO L290 TraceCheckUtils]: 112: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:29:00,451 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {66730#true} {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,452 INFO L272 TraceCheckUtils]: 114: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:29:00,452 INFO L290 TraceCheckUtils]: 115: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:29:00,452 INFO L290 TraceCheckUtils]: 116: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:29:00,452 INFO L290 TraceCheckUtils]: 117: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:29:00,452 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {66730#true} {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,452 INFO L272 TraceCheckUtils]: 119: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:29:00,453 INFO L290 TraceCheckUtils]: 120: Hoare triple {66730#true} ~cond := #in~cond; {66851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:29:00,453 INFO L290 TraceCheckUtils]: 121: Hoare triple {66851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:00,453 INFO L290 TraceCheckUtils]: 122: Hoare triple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:00,454 INFO L284 TraceCheckUtils]: 123: Hoare quadruple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:29:00,455 INFO L272 TraceCheckUtils]: 124: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {67116#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:29:00,456 INFO L290 TraceCheckUtils]: 125: Hoare triple {67116#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {67120#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:29:00,456 INFO L290 TraceCheckUtils]: 126: Hoare triple {67120#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {66731#false} is VALID [2022-04-28 12:29:00,456 INFO L290 TraceCheckUtils]: 127: Hoare triple {66731#false} assume !false; {66731#false} is VALID [2022-04-28 12:29:00,457 INFO L134 CoverageAnalysis]: Checked inductivity of 523 backedges. 69 proven. 118 refuted. 0 times theorem prover too weak. 336 trivial. 0 not checked. [2022-04-28 12:29:00,457 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:30:21,627 INFO L290 TraceCheckUtils]: 127: Hoare triple {66731#false} assume !false; {66731#false} is VALID [2022-04-28 12:30:21,627 INFO L290 TraceCheckUtils]: 126: Hoare triple {67120#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {66731#false} is VALID [2022-04-28 12:30:21,627 INFO L290 TraceCheckUtils]: 125: Hoare triple {67116#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {67120#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:30:21,628 INFO L272 TraceCheckUtils]: 124: Hoare triple {67136#(= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {67116#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:30:21,629 INFO L284 TraceCheckUtils]: 123: Hoare quadruple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} {67140#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #90#return; {67136#(= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))} is VALID [2022-04-28 12:30:21,629 INFO L290 TraceCheckUtils]: 122: Hoare triple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:21,629 INFO L290 TraceCheckUtils]: 121: Hoare triple {67150#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:21,630 INFO L290 TraceCheckUtils]: 120: Hoare triple {66730#true} ~cond := #in~cond; {67150#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:30:21,630 INFO L272 TraceCheckUtils]: 119: Hoare triple {67140#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:21,630 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {66730#true} {67140#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #88#return; {67140#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:30:21,630 INFO L290 TraceCheckUtils]: 117: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:21,630 INFO L290 TraceCheckUtils]: 116: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:21,631 INFO L290 TraceCheckUtils]: 115: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:21,631 INFO L272 TraceCheckUtils]: 114: Hoare triple {67140#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:21,631 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {66730#true} {67140#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #86#return; {67140#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:30:21,631 INFO L290 TraceCheckUtils]: 112: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:21,631 INFO L290 TraceCheckUtils]: 111: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:21,631 INFO L290 TraceCheckUtils]: 110: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:21,631 INFO L272 TraceCheckUtils]: 109: Hoare triple {67140#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:21,632 INFO L290 TraceCheckUtils]: 108: Hoare triple {67140#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(#t~post7 < 20);havoc #t~post7; {67140#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:30:21,632 INFO L290 TraceCheckUtils]: 107: Hoare triple {67140#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {67140#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:30:21,633 INFO L290 TraceCheckUtils]: 106: Hoare triple {67140#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {67140#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:30:21,633 INFO L290 TraceCheckUtils]: 105: Hoare triple {67140#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(#t~post6 < 20);havoc #t~post6; {67140#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:30:21,633 INFO L290 TraceCheckUtils]: 104: Hoare triple {67140#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {67140#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:30:23,635 WARN L290 TraceCheckUtils]: 103: Hoare triple {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {67140#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is UNKNOWN [2022-04-28 12:30:23,636 INFO L290 TraceCheckUtils]: 102: Hoare triple {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} assume !(~c~0 >= ~b~0); {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-28 12:30:23,637 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {66730#true} {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} #92#return; {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-28 12:30:23,637 INFO L290 TraceCheckUtils]: 100: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:23,637 INFO L290 TraceCheckUtils]: 99: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:23,637 INFO L290 TraceCheckUtils]: 98: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:23,637 INFO L272 TraceCheckUtils]: 97: Hoare triple {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:23,638 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {66730#true} {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} #90#return; {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-28 12:30:23,638 INFO L290 TraceCheckUtils]: 95: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:23,638 INFO L290 TraceCheckUtils]: 94: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:23,638 INFO L290 TraceCheckUtils]: 93: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:23,638 INFO L272 TraceCheckUtils]: 92: Hoare triple {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:23,639 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {66730#true} {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} #88#return; {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-28 12:30:23,639 INFO L290 TraceCheckUtils]: 90: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:23,639 INFO L290 TraceCheckUtils]: 89: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:23,639 INFO L290 TraceCheckUtils]: 88: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:23,639 INFO L272 TraceCheckUtils]: 87: Hoare triple {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:23,640 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {66730#true} {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} #86#return; {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-28 12:30:23,640 INFO L290 TraceCheckUtils]: 85: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:23,640 INFO L290 TraceCheckUtils]: 84: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:23,640 INFO L290 TraceCheckUtils]: 83: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:23,640 INFO L272 TraceCheckUtils]: 82: Hoare triple {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:23,640 INFO L290 TraceCheckUtils]: 81: Hoare triple {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} assume !!(#t~post7 < 20);havoc #t~post7; {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-28 12:30:23,641 INFO L290 TraceCheckUtils]: 80: Hoare triple {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-28 12:30:23,978 INFO L290 TraceCheckUtils]: 79: Hoare triple {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {67202#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-28 12:30:23,979 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {66730#true} {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} #92#return; {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-28 12:30:23,979 INFO L290 TraceCheckUtils]: 77: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:23,979 INFO L290 TraceCheckUtils]: 76: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:23,979 INFO L290 TraceCheckUtils]: 75: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:23,979 INFO L272 TraceCheckUtils]: 74: Hoare triple {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:23,980 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {66730#true} {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} #90#return; {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-28 12:30:23,980 INFO L290 TraceCheckUtils]: 72: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:23,980 INFO L290 TraceCheckUtils]: 71: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:23,980 INFO L290 TraceCheckUtils]: 70: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:23,980 INFO L272 TraceCheckUtils]: 69: Hoare triple {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:23,981 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {66730#true} {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} #88#return; {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-28 12:30:23,981 INFO L290 TraceCheckUtils]: 67: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:23,981 INFO L290 TraceCheckUtils]: 66: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:23,981 INFO L290 TraceCheckUtils]: 65: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:23,981 INFO L272 TraceCheckUtils]: 64: Hoare triple {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:23,982 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {66730#true} {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} #86#return; {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-28 12:30:23,982 INFO L290 TraceCheckUtils]: 62: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:23,982 INFO L290 TraceCheckUtils]: 61: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:23,982 INFO L290 TraceCheckUtils]: 60: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:23,982 INFO L272 TraceCheckUtils]: 59: Hoare triple {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:23,983 INFO L290 TraceCheckUtils]: 58: Hoare triple {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} assume !!(#t~post7 < 20);havoc #t~post7; {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-28 12:30:23,983 INFO L290 TraceCheckUtils]: 57: Hoare triple {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-28 12:30:23,984 INFO L290 TraceCheckUtils]: 56: Hoare triple {67345#(or (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) main_~a~0 (* (- 1) main_~b~0) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~a~0 (* (- 1) main_~b~0)) main_~y~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-28 12:30:23,984 INFO L290 TraceCheckUtils]: 55: Hoare triple {67345#(or (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) main_~a~0 (* (- 1) main_~b~0) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~a~0 (* (- 1) main_~b~0)) main_~y~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} assume !!(#t~post6 < 20);havoc #t~post6; {67345#(or (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) main_~a~0 (* (- 1) main_~b~0) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~a~0 (* (- 1) main_~b~0)) main_~y~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-28 12:30:23,985 INFO L290 TraceCheckUtils]: 54: Hoare triple {67345#(or (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) main_~a~0 (* (- 1) main_~b~0) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~a~0 (* (- 1) main_~b~0)) main_~y~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {67345#(or (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) main_~a~0 (* (- 1) main_~b~0) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~a~0 (* (- 1) main_~b~0)) main_~y~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-28 12:30:25,987 WARN L290 TraceCheckUtils]: 53: Hoare triple {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~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; {67345#(or (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) main_~a~0 (* (- 1) main_~b~0) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~a~0 (* (- 1) main_~b~0)) main_~y~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} is UNKNOWN [2022-04-28 12:30:25,988 INFO L290 TraceCheckUtils]: 52: Hoare triple {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} assume !(~c~0 >= ~b~0); {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-28 12:30:25,989 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {66730#true} {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} #92#return; {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-28 12:30:25,989 INFO L290 TraceCheckUtils]: 50: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:25,989 INFO L290 TraceCheckUtils]: 49: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:25,989 INFO L290 TraceCheckUtils]: 48: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:25,989 INFO L272 TraceCheckUtils]: 47: Hoare triple {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:25,990 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} {67376#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} #90#return; {67275#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-28 12:30:25,990 INFO L290 TraceCheckUtils]: 45: Hoare triple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:25,991 INFO L290 TraceCheckUtils]: 44: Hoare triple {67150#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:25,991 INFO L290 TraceCheckUtils]: 43: Hoare triple {66730#true} ~cond := #in~cond; {67150#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:30:25,991 INFO L272 TraceCheckUtils]: 42: Hoare triple {67376#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:25,992 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} {67392#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} #88#return; {67376#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-28 12:30:25,992 INFO L290 TraceCheckUtils]: 40: Hoare triple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:25,993 INFO L290 TraceCheckUtils]: 39: Hoare triple {67150#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:25,993 INFO L290 TraceCheckUtils]: 38: Hoare triple {66730#true} ~cond := #in~cond; {67150#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:30:25,993 INFO L272 TraceCheckUtils]: 37: Hoare triple {67392#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:25,994 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {66730#true} {67392#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} #86#return; {67392#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-28 12:30:25,994 INFO L290 TraceCheckUtils]: 35: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:25,994 INFO L290 TraceCheckUtils]: 34: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:25,994 INFO L290 TraceCheckUtils]: 33: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:25,994 INFO L272 TraceCheckUtils]: 32: Hoare triple {67392#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:25,995 INFO L290 TraceCheckUtils]: 31: Hoare triple {67392#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} assume !!(#t~post7 < 20);havoc #t~post7; {67392#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-28 12:30:25,996 INFO L290 TraceCheckUtils]: 30: Hoare triple {67392#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {67392#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-28 12:30:25,997 INFO L290 TraceCheckUtils]: 29: Hoare triple {67429#(or (= (+ (* main_~s~0 main_~yy~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~q~0 main_~xy~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {67392#(or (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) main_~c~0 (* (- 1) main_~b~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~c~0 (* (- 1) main_~b~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))))} is VALID [2022-04-28 12:30:25,997 INFO L290 TraceCheckUtils]: 28: Hoare triple {67429#(or (= (+ (* main_~s~0 main_~yy~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~q~0 main_~xy~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 20);havoc #t~post6; {67429#(or (= (+ (* main_~s~0 main_~yy~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~q~0 main_~xy~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:30:25,998 INFO L290 TraceCheckUtils]: 27: Hoare triple {67429#(or (= (+ (* main_~s~0 main_~yy~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~q~0 main_~xy~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {67429#(or (= (+ (* main_~s~0 main_~yy~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~q~0 main_~xy~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:30:25,998 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {66730#true} {67429#(or (= (+ (* main_~s~0 main_~yy~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~q~0 main_~xy~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)))))} #84#return; {67429#(or (= (+ (* main_~s~0 main_~yy~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~q~0 main_~xy~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:30:25,999 INFO L290 TraceCheckUtils]: 25: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:25,999 INFO L290 TraceCheckUtils]: 24: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:25,999 INFO L290 TraceCheckUtils]: 23: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:25,999 INFO L272 TraceCheckUtils]: 22: Hoare triple {67429#(or (= (+ (* main_~s~0 main_~yy~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~q~0 main_~xy~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)))))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:26,000 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {66730#true} {67429#(or (= (+ (* main_~s~0 main_~yy~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~q~0 main_~xy~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)))))} #82#return; {67429#(or (= (+ (* main_~s~0 main_~yy~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~q~0 main_~xy~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:30:26,000 INFO L290 TraceCheckUtils]: 20: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:26,000 INFO L290 TraceCheckUtils]: 19: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:26,000 INFO L290 TraceCheckUtils]: 18: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:26,000 INFO L272 TraceCheckUtils]: 17: Hoare triple {67429#(or (= (+ (* main_~s~0 main_~yy~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~q~0 main_~xy~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)))))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:26,002 INFO L290 TraceCheckUtils]: 16: Hoare triple {66730#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {67429#(or (= (+ (* main_~s~0 main_~yy~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~q~0 main_~xy~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0)) (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) main_~a~0 (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:30:26,002 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {66730#true} {66730#true} #80#return; {66730#true} is VALID [2022-04-28 12:30:26,002 INFO L290 TraceCheckUtils]: 14: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:26,002 INFO L290 TraceCheckUtils]: 13: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:26,002 INFO L290 TraceCheckUtils]: 12: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:26,002 INFO L272 TraceCheckUtils]: 11: Hoare triple {66730#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:26,002 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {66730#true} {66730#true} #78#return; {66730#true} is VALID [2022-04-28 12:30:26,002 INFO L290 TraceCheckUtils]: 9: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:26,002 INFO L290 TraceCheckUtils]: 8: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:26,002 INFO L290 TraceCheckUtils]: 7: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:26,002 INFO L272 TraceCheckUtils]: 6: Hoare triple {66730#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:26,002 INFO L290 TraceCheckUtils]: 5: Hoare triple {66730#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {66730#true} is VALID [2022-04-28 12:30:26,003 INFO L272 TraceCheckUtils]: 4: Hoare triple {66730#true} call #t~ret8 := main(); {66730#true} is VALID [2022-04-28 12:30:26,003 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66730#true} {66730#true} #98#return; {66730#true} is VALID [2022-04-28 12:30:26,003 INFO L290 TraceCheckUtils]: 2: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:26,003 INFO L290 TraceCheckUtils]: 1: Hoare triple {66730#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {66730#true} is VALID [2022-04-28 12:30:26,003 INFO L272 TraceCheckUtils]: 0: Hoare triple {66730#true} call ULTIMATE.init(); {66730#true} is VALID [2022-04-28 12:30:26,003 INFO L134 CoverageAnalysis]: Checked inductivity of 523 backedges. 77 proven. 108 refuted. 0 times theorem prover too weak. 338 trivial. 0 not checked. [2022-04-28 12:30:26,003 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:30:26,004 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [321009927] [2022-04-28 12:30:26,004 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:30:26,004 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1509266921] [2022-04-28 12:30:26,004 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1509266921] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:30:26,004 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:30:26,004 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 22 [2022-04-28 12:30:26,004 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:30:26,004 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1569263547] [2022-04-28 12:30:26,004 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1569263547] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:30:26,004 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:30:26,004 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:30:26,004 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [339949513] [2022-04-28 12:30:26,004 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:30:26,004 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 7 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) Word has length 128 [2022-04-28 12:30:26,005 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:30:26,005 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 7 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-28 12:30:26,140 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:30:26,140 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:30:26,140 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:30:26,140 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:30:26,141 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=353, Unknown=2, NotChecked=0, Total=462 [2022-04-28 12:30:26,141 INFO L87 Difference]: Start difference. First operand 632 states and 818 transitions. Second operand has 13 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 7 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-28 12:30:41,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:30:41,053 INFO L93 Difference]: Finished difference Result 642 states and 827 transitions. [2022-04-28 12:30:41,054 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 12:30:41,054 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 7 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) Word has length 128 [2022-04-28 12:30:41,054 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:30:41,054 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 7 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-28 12:30:41,055 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 138 transitions. [2022-04-28 12:30:41,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 7 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-28 12:30:41,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 138 transitions. [2022-04-28 12:30:41,056 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 138 transitions. [2022-04-28 12:30:41,269 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 12:30:41,286 INFO L225 Difference]: With dead ends: 642 [2022-04-28 12:30:41,286 INFO L226 Difference]: Without dead ends: 640 [2022-04-28 12:30:41,287 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 259 GetRequests, 232 SyntacticMatches, 3 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 81 ImplicationChecksByTransitivity, 6.1s TimeCoverageRelationStatistics Valid=144, Invalid=504, Unknown=2, NotChecked=0, Total=650 [2022-04-28 12:30:41,287 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 37 mSDsluCounter, 311 mSDsCounter, 0 mSdLazyCounter, 672 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 369 SdHoareTripleChecker+Invalid, 725 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 672 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:30:41,287 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [49 Valid, 369 Invalid, 725 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 672 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-28 12:30:41,288 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 640 states. [2022-04-28 12:30:42,596 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 640 to 636. [2022-04-28 12:30:42,596 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:30:42,597 INFO L82 GeneralOperation]: Start isEquivalent. First operand 640 states. Second operand has 636 states, 407 states have (on average 1.2113022113022114) internal successors, (493), 413 states have internal predecessors, (493), 166 states have call successors, (166), 64 states have call predecessors, (166), 62 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) [2022-04-28 12:30:42,597 INFO L74 IsIncluded]: Start isIncluded. First operand 640 states. Second operand has 636 states, 407 states have (on average 1.2113022113022114) internal successors, (493), 413 states have internal predecessors, (493), 166 states have call successors, (166), 64 states have call predecessors, (166), 62 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) [2022-04-28 12:30:42,598 INFO L87 Difference]: Start difference. First operand 640 states. Second operand has 636 states, 407 states have (on average 1.2113022113022114) internal successors, (493), 413 states have internal predecessors, (493), 166 states have call successors, (166), 64 states have call predecessors, (166), 62 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) [2022-04-28 12:30:42,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:30:42,611 INFO L93 Difference]: Finished difference Result 640 states and 825 transitions. [2022-04-28 12:30:42,611 INFO L276 IsEmpty]: Start isEmpty. Operand 640 states and 825 transitions. [2022-04-28 12:30:42,612 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:30:42,612 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:30:42,613 INFO L74 IsIncluded]: Start isIncluded. First operand has 636 states, 407 states have (on average 1.2113022113022114) internal successors, (493), 413 states have internal predecessors, (493), 166 states have call successors, (166), 64 states have call predecessors, (166), 62 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) Second operand 640 states. [2022-04-28 12:30:42,613 INFO L87 Difference]: Start difference. First operand has 636 states, 407 states have (on average 1.2113022113022114) internal successors, (493), 413 states have internal predecessors, (493), 166 states have call successors, (166), 64 states have call predecessors, (166), 62 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) Second operand 640 states. [2022-04-28 12:30:42,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:30:42,627 INFO L93 Difference]: Finished difference Result 640 states and 825 transitions. [2022-04-28 12:30:42,627 INFO L276 IsEmpty]: Start isEmpty. Operand 640 states and 825 transitions. [2022-04-28 12:30:42,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:30:42,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:30:42,628 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:30:42,628 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:30:42,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 636 states, 407 states have (on average 1.2113022113022114) internal successors, (493), 413 states have internal predecessors, (493), 166 states have call successors, (166), 64 states have call predecessors, (166), 62 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) [2022-04-28 12:30:42,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 636 states to 636 states and 821 transitions. [2022-04-28 12:30:42,647 INFO L78 Accepts]: Start accepts. Automaton has 636 states and 821 transitions. Word has length 128 [2022-04-28 12:30:42,647 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:30:42,647 INFO L495 AbstractCegarLoop]: Abstraction has 636 states and 821 transitions. [2022-04-28 12:30:42,647 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 7 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-28 12:30:42,647 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 636 states and 821 transitions. [2022-04-28 12:30:44,403 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 821 edges. 821 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:30:44,403 INFO L276 IsEmpty]: Start isEmpty. Operand 636 states and 821 transitions. [2022-04-28 12:30:44,403 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 131 [2022-04-28 12:30:44,403 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:30:44,404 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:30:44,420 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Forceful destruction successful, exit code 0 [2022-04-28 12:30:44,604 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 34 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable33 [2022-04-28 12:30:44,604 INFO L420 AbstractCegarLoop]: === Iteration 35 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:30:44,604 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:30:44,605 INFO L85 PathProgramCache]: Analyzing trace with hash -677811269, now seen corresponding path program 7 times [2022-04-28 12:30:44,605 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:30:44,605 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1651549719] [2022-04-28 12:30:44,605 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:30:44,605 INFO L85 PathProgramCache]: Analyzing trace with hash -677811269, now seen corresponding path program 8 times [2022-04-28 12:30:44,605 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:30:44,605 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [78870127] [2022-04-28 12:30:44,605 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:30:44,605 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:30:44,625 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:30:44,625 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [75162366] [2022-04-28 12:30:44,625 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:30:44,625 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:30:44,625 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:30:44,626 INFO L229 MonitoredProcess]: Starting monitored process 35 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:30:44,627 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Waiting until timeout for monitored process [2022-04-28 12:30:44,689 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:30:44,689 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:30:44,691 INFO L263 TraceCheckSpWp]: Trace formula consists of 331 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-28 12:30:44,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:30:44,710 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:30:45,963 INFO L272 TraceCheckUtils]: 0: Hoare triple {71363#true} call ULTIMATE.init(); {71363#true} is VALID [2022-04-28 12:30:45,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {71363#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {71363#true} is VALID [2022-04-28 12:30:45,963 INFO L290 TraceCheckUtils]: 2: Hoare triple {71363#true} assume true; {71363#true} is VALID [2022-04-28 12:30:45,963 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {71363#true} {71363#true} #98#return; {71363#true} is VALID [2022-04-28 12:30:45,963 INFO L272 TraceCheckUtils]: 4: Hoare triple {71363#true} call #t~ret8 := main(); {71363#true} is VALID [2022-04-28 12:30:45,963 INFO L290 TraceCheckUtils]: 5: Hoare triple {71363#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {71363#true} is VALID [2022-04-28 12:30:45,963 INFO L272 TraceCheckUtils]: 6: Hoare triple {71363#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {71363#true} is VALID [2022-04-28 12:30:45,963 INFO L290 TraceCheckUtils]: 7: Hoare triple {71363#true} ~cond := #in~cond; {71363#true} is VALID [2022-04-28 12:30:45,963 INFO L290 TraceCheckUtils]: 8: Hoare triple {71363#true} assume !(0 == ~cond); {71363#true} is VALID [2022-04-28 12:30:45,963 INFO L290 TraceCheckUtils]: 9: Hoare triple {71363#true} assume true; {71363#true} is VALID [2022-04-28 12:30:45,963 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {71363#true} {71363#true} #78#return; {71363#true} is VALID [2022-04-28 12:30:45,964 INFO L272 TraceCheckUtils]: 11: Hoare triple {71363#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {71363#true} is VALID [2022-04-28 12:30:45,964 INFO L290 TraceCheckUtils]: 12: Hoare triple {71363#true} ~cond := #in~cond; {71363#true} is VALID [2022-04-28 12:30:45,964 INFO L290 TraceCheckUtils]: 13: Hoare triple {71363#true} assume !(0 == ~cond); {71363#true} is VALID [2022-04-28 12:30:45,964 INFO L290 TraceCheckUtils]: 14: Hoare triple {71363#true} assume true; {71363#true} is VALID [2022-04-28 12:30:45,964 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {71363#true} {71363#true} #80#return; {71363#true} is VALID [2022-04-28 12:30:45,964 INFO L290 TraceCheckUtils]: 16: Hoare triple {71363#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; {71416#(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 12:30:45,964 INFO L272 TraceCheckUtils]: 17: Hoare triple {71416#(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)); {71363#true} is VALID [2022-04-28 12:30:45,964 INFO L290 TraceCheckUtils]: 18: Hoare triple {71363#true} ~cond := #in~cond; {71363#true} is VALID [2022-04-28 12:30:45,964 INFO L290 TraceCheckUtils]: 19: Hoare triple {71363#true} assume !(0 == ~cond); {71363#true} is VALID [2022-04-28 12:30:45,964 INFO L290 TraceCheckUtils]: 20: Hoare triple {71363#true} assume true; {71363#true} is VALID [2022-04-28 12:30:45,965 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {71363#true} {71416#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {71416#(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 12:30:45,965 INFO L272 TraceCheckUtils]: 22: Hoare triple {71416#(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)); {71363#true} is VALID [2022-04-28 12:30:45,965 INFO L290 TraceCheckUtils]: 23: Hoare triple {71363#true} ~cond := #in~cond; {71363#true} is VALID [2022-04-28 12:30:45,965 INFO L290 TraceCheckUtils]: 24: Hoare triple {71363#true} assume !(0 == ~cond); {71363#true} is VALID [2022-04-28 12:30:45,965 INFO L290 TraceCheckUtils]: 25: Hoare triple {71363#true} assume true; {71363#true} is VALID [2022-04-28 12:30:45,966 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {71363#true} {71416#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {71416#(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 12:30:45,966 INFO L290 TraceCheckUtils]: 27: Hoare triple {71416#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {71416#(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 12:30:45,966 INFO L290 TraceCheckUtils]: 28: Hoare triple {71416#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {71416#(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 12:30:45,967 INFO L290 TraceCheckUtils]: 29: Hoare triple {71416#(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; {71456#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= 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 12:30:45,967 INFO L290 TraceCheckUtils]: 30: Hoare triple {71456#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {71456#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= 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 12:30:45,967 INFO L290 TraceCheckUtils]: 31: Hoare triple {71456#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {71456#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= 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 12:30:45,968 INFO L272 TraceCheckUtils]: 32: Hoare triple {71456#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= 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)); {71363#true} is VALID [2022-04-28 12:30:45,968 INFO L290 TraceCheckUtils]: 33: Hoare triple {71363#true} ~cond := #in~cond; {71363#true} is VALID [2022-04-28 12:30:45,968 INFO L290 TraceCheckUtils]: 34: Hoare triple {71363#true} assume !(0 == ~cond); {71363#true} is VALID [2022-04-28 12:30:45,968 INFO L290 TraceCheckUtils]: 35: Hoare triple {71363#true} assume true; {71363#true} is VALID [2022-04-28 12:30:45,968 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {71363#true} {71456#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {71456#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= 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 12:30:45,968 INFO L272 TraceCheckUtils]: 37: Hoare triple {71456#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= 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)); {71363#true} is VALID [2022-04-28 12:30:45,968 INFO L290 TraceCheckUtils]: 38: Hoare triple {71363#true} ~cond := #in~cond; {71363#true} is VALID [2022-04-28 12:30:45,968 INFO L290 TraceCheckUtils]: 39: Hoare triple {71363#true} assume !(0 == ~cond); {71363#true} is VALID [2022-04-28 12:30:45,968 INFO L290 TraceCheckUtils]: 40: Hoare triple {71363#true} assume true; {71363#true} is VALID [2022-04-28 12:30:45,969 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {71363#true} {71456#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #88#return; {71456#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= 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 12:30:45,969 INFO L272 TraceCheckUtils]: 42: Hoare triple {71456#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= 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)); {71363#true} is VALID [2022-04-28 12:30:45,969 INFO L290 TraceCheckUtils]: 43: Hoare triple {71363#true} ~cond := #in~cond; {71363#true} is VALID [2022-04-28 12:30:45,969 INFO L290 TraceCheckUtils]: 44: Hoare triple {71363#true} assume !(0 == ~cond); {71363#true} is VALID [2022-04-28 12:30:45,969 INFO L290 TraceCheckUtils]: 45: Hoare triple {71363#true} assume true; {71363#true} is VALID [2022-04-28 12:30:45,970 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {71363#true} {71456#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #90#return; {71456#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= 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 12:30:45,970 INFO L272 TraceCheckUtils]: 47: Hoare triple {71456#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= 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)); {71363#true} is VALID [2022-04-28 12:30:45,970 INFO L290 TraceCheckUtils]: 48: Hoare triple {71363#true} ~cond := #in~cond; {71363#true} is VALID [2022-04-28 12:30:45,970 INFO L290 TraceCheckUtils]: 49: Hoare triple {71363#true} assume !(0 == ~cond); {71363#true} is VALID [2022-04-28 12:30:45,970 INFO L290 TraceCheckUtils]: 50: Hoare triple {71363#true} assume true; {71363#true} is VALID [2022-04-28 12:30:45,971 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {71363#true} {71456#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #92#return; {71456#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= 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 12:30:45,973 INFO L290 TraceCheckUtils]: 52: Hoare triple {71456#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= 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; {71526#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:45,973 INFO L290 TraceCheckUtils]: 53: Hoare triple {71526#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {71526#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:45,974 INFO L290 TraceCheckUtils]: 54: Hoare triple {71526#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {71526#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:45,974 INFO L272 TraceCheckUtils]: 55: Hoare triple {71526#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~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)); {71363#true} is VALID [2022-04-28 12:30:45,974 INFO L290 TraceCheckUtils]: 56: Hoare triple {71363#true} ~cond := #in~cond; {71363#true} is VALID [2022-04-28 12:30:45,974 INFO L290 TraceCheckUtils]: 57: Hoare triple {71363#true} assume !(0 == ~cond); {71363#true} is VALID [2022-04-28 12:30:45,974 INFO L290 TraceCheckUtils]: 58: Hoare triple {71363#true} assume true; {71363#true} is VALID [2022-04-28 12:30:45,975 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {71363#true} {71526#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {71526#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:45,975 INFO L272 TraceCheckUtils]: 60: Hoare triple {71526#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~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)); {71363#true} is VALID [2022-04-28 12:30:45,975 INFO L290 TraceCheckUtils]: 61: Hoare triple {71363#true} ~cond := #in~cond; {71363#true} is VALID [2022-04-28 12:30:45,975 INFO L290 TraceCheckUtils]: 62: Hoare triple {71363#true} assume !(0 == ~cond); {71363#true} is VALID [2022-04-28 12:30:45,975 INFO L290 TraceCheckUtils]: 63: Hoare triple {71363#true} assume true; {71363#true} is VALID [2022-04-28 12:30:45,976 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {71363#true} {71526#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #88#return; {71526#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:45,976 INFO L272 TraceCheckUtils]: 65: Hoare triple {71526#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~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)); {71363#true} is VALID [2022-04-28 12:30:45,976 INFO L290 TraceCheckUtils]: 66: Hoare triple {71363#true} ~cond := #in~cond; {71363#true} is VALID [2022-04-28 12:30:45,976 INFO L290 TraceCheckUtils]: 67: Hoare triple {71363#true} assume !(0 == ~cond); {71363#true} is VALID [2022-04-28 12:30:45,976 INFO L290 TraceCheckUtils]: 68: Hoare triple {71363#true} assume true; {71363#true} is VALID [2022-04-28 12:30:45,977 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {71363#true} {71526#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #90#return; {71526#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:45,977 INFO L272 TraceCheckUtils]: 70: Hoare triple {71526#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~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)); {71363#true} is VALID [2022-04-28 12:30:45,977 INFO L290 TraceCheckUtils]: 71: Hoare triple {71363#true} ~cond := #in~cond; {71363#true} is VALID [2022-04-28 12:30:45,977 INFO L290 TraceCheckUtils]: 72: Hoare triple {71363#true} assume !(0 == ~cond); {71363#true} is VALID [2022-04-28 12:30:45,977 INFO L290 TraceCheckUtils]: 73: Hoare triple {71363#true} assume true; {71363#true} is VALID [2022-04-28 12:30:45,978 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {71363#true} {71526#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #92#return; {71526#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:45,979 INFO L290 TraceCheckUtils]: 75: Hoare triple {71526#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~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; {71596#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:45,979 INFO L290 TraceCheckUtils]: 76: Hoare triple {71596#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {71596#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:45,979 INFO L290 TraceCheckUtils]: 77: Hoare triple {71596#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {71596#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:45,980 INFO L272 TraceCheckUtils]: 78: Hoare triple {71596#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {71363#true} is VALID [2022-04-28 12:30:45,980 INFO L290 TraceCheckUtils]: 79: Hoare triple {71363#true} ~cond := #in~cond; {71363#true} is VALID [2022-04-28 12:30:45,980 INFO L290 TraceCheckUtils]: 80: Hoare triple {71363#true} assume !(0 == ~cond); {71363#true} is VALID [2022-04-28 12:30:45,980 INFO L290 TraceCheckUtils]: 81: Hoare triple {71363#true} assume true; {71363#true} is VALID [2022-04-28 12:30:45,980 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {71363#true} {71596#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {71596#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:45,980 INFO L272 TraceCheckUtils]: 83: Hoare triple {71596#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {71363#true} is VALID [2022-04-28 12:30:45,980 INFO L290 TraceCheckUtils]: 84: Hoare triple {71363#true} ~cond := #in~cond; {71363#true} is VALID [2022-04-28 12:30:45,980 INFO L290 TraceCheckUtils]: 85: Hoare triple {71363#true} assume !(0 == ~cond); {71363#true} is VALID [2022-04-28 12:30:45,981 INFO L290 TraceCheckUtils]: 86: Hoare triple {71363#true} assume true; {71363#true} is VALID [2022-04-28 12:30:45,981 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {71363#true} {71596#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #88#return; {71596#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:45,981 INFO L272 TraceCheckUtils]: 88: Hoare triple {71596#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {71363#true} is VALID [2022-04-28 12:30:45,981 INFO L290 TraceCheckUtils]: 89: Hoare triple {71363#true} ~cond := #in~cond; {71363#true} is VALID [2022-04-28 12:30:45,981 INFO L290 TraceCheckUtils]: 90: Hoare triple {71363#true} assume !(0 == ~cond); {71363#true} is VALID [2022-04-28 12:30:45,981 INFO L290 TraceCheckUtils]: 91: Hoare triple {71363#true} assume true; {71363#true} is VALID [2022-04-28 12:30:45,982 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {71363#true} {71596#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #90#return; {71596#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:45,982 INFO L272 TraceCheckUtils]: 93: Hoare triple {71596#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {71363#true} is VALID [2022-04-28 12:30:45,982 INFO L290 TraceCheckUtils]: 94: Hoare triple {71363#true} ~cond := #in~cond; {71363#true} is VALID [2022-04-28 12:30:45,982 INFO L290 TraceCheckUtils]: 95: Hoare triple {71363#true} assume !(0 == ~cond); {71363#true} is VALID [2022-04-28 12:30:45,982 INFO L290 TraceCheckUtils]: 96: Hoare triple {71363#true} assume true; {71363#true} is VALID [2022-04-28 12:30:45,983 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {71363#true} {71596#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #92#return; {71596#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:45,984 INFO L290 TraceCheckUtils]: 98: Hoare triple {71596#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {71666#(and (= main_~r~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~a~0) (= 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 12:30:45,984 INFO L290 TraceCheckUtils]: 99: Hoare triple {71666#(and (= main_~r~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~a~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {71666#(and (= main_~r~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~a~0) (= 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 12:30:45,985 INFO L290 TraceCheckUtils]: 100: Hoare triple {71666#(and (= main_~r~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~a~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {71666#(and (= main_~r~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~a~0) (= 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 12:30:45,985 INFO L272 TraceCheckUtils]: 101: Hoare triple {71666#(and (= main_~r~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~a~0) (= 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)); {71363#true} is VALID [2022-04-28 12:30:45,985 INFO L290 TraceCheckUtils]: 102: Hoare triple {71363#true} ~cond := #in~cond; {71679#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:30:45,985 INFO L290 TraceCheckUtils]: 103: Hoare triple {71679#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {71683#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:45,985 INFO L290 TraceCheckUtils]: 104: Hoare triple {71683#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {71683#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:45,986 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {71683#(not (= |__VERIFIER_assert_#in~cond| 0))} {71666#(and (= main_~r~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~a~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {71690#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= (+ main_~c~0 (* main_~b~0 3)) main_~a~0) (= 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 12:30:45,986 INFO L272 TraceCheckUtils]: 106: Hoare triple {71690#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= (+ main_~c~0 (* main_~b~0 3)) main_~a~0) (= 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)); {71363#true} is VALID [2022-04-28 12:30:45,986 INFO L290 TraceCheckUtils]: 107: Hoare triple {71363#true} ~cond := #in~cond; {71679#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:30:45,987 INFO L290 TraceCheckUtils]: 108: Hoare triple {71679#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {71683#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:45,987 INFO L290 TraceCheckUtils]: 109: Hoare triple {71683#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {71683#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:45,988 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {71683#(not (= |__VERIFIER_assert_#in~cond| 0))} {71690#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= (+ main_~c~0 (* main_~b~0 3)) main_~a~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #88#return; {71706#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (* main_~b~0 main_~k~0) (* main_~b~0 3)) (= main_~p~0 1))} is VALID [2022-04-28 12:30:45,988 INFO L272 TraceCheckUtils]: 111: Hoare triple {71706#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (* main_~b~0 main_~k~0) (* main_~b~0 3)) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {71363#true} is VALID [2022-04-28 12:30:45,989 INFO L290 TraceCheckUtils]: 112: Hoare triple {71363#true} ~cond := #in~cond; {71679#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:30:45,989 INFO L290 TraceCheckUtils]: 113: Hoare triple {71679#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {71683#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:45,989 INFO L290 TraceCheckUtils]: 114: Hoare triple {71683#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {71683#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:45,992 INFO L284 TraceCheckUtils]: 115: Hoare quadruple {71683#(not (= |__VERIFIER_assert_#in~cond| 0))} {71706#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (* main_~b~0 main_~k~0) (* main_~b~0 3)) (= main_~p~0 1))} #90#return; {71722#(and (= main_~r~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))) (= (+ (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:45,992 INFO L272 TraceCheckUtils]: 116: Hoare triple {71722#(and (= main_~r~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))) (= (+ (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0))) (= main_~s~0 1) (= 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)); {71363#true} is VALID [2022-04-28 12:30:45,992 INFO L290 TraceCheckUtils]: 117: Hoare triple {71363#true} ~cond := #in~cond; {71363#true} is VALID [2022-04-28 12:30:45,992 INFO L290 TraceCheckUtils]: 118: Hoare triple {71363#true} assume !(0 == ~cond); {71363#true} is VALID [2022-04-28 12:30:45,992 INFO L290 TraceCheckUtils]: 119: Hoare triple {71363#true} assume true; {71363#true} is VALID [2022-04-28 12:30:45,993 INFO L284 TraceCheckUtils]: 120: Hoare quadruple {71363#true} {71722#(and (= main_~r~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))) (= (+ (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #92#return; {71722#(and (= main_~r~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))) (= (+ (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:45,993 INFO L290 TraceCheckUtils]: 121: Hoare triple {71722#(and (= main_~r~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))) (= (+ (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {71722#(and (= main_~r~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))) (= (+ (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:45,996 INFO L290 TraceCheckUtils]: 122: Hoare triple {71722#(and (= main_~r~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))) (= (+ (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {71744#(and (= (+ (* main_~y~0 (* (- 1) main_~s~0) 1) (* main_~x~0 (* (- 1) main_~s~0) 0)) (* main_~y~0 3)) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= main_~q~0 1))} is VALID [2022-04-28 12:30:45,996 INFO L290 TraceCheckUtils]: 123: Hoare triple {71744#(and (= (+ (* main_~y~0 (* (- 1) main_~s~0) 1) (* main_~x~0 (* (- 1) main_~s~0) 0)) (* main_~y~0 3)) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= main_~q~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {71744#(and (= (+ (* main_~y~0 (* (- 1) main_~s~0) 1) (* main_~x~0 (* (- 1) main_~s~0) 0)) (* main_~y~0 3)) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= main_~q~0 1))} is VALID [2022-04-28 12:30:45,997 INFO L290 TraceCheckUtils]: 124: Hoare triple {71744#(and (= (+ (* main_~y~0 (* (- 1) main_~s~0) 1) (* main_~x~0 (* (- 1) main_~s~0) 0)) (* main_~y~0 3)) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= main_~q~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {71744#(and (= (+ (* main_~y~0 (* (- 1) main_~s~0) 1) (* main_~x~0 (* (- 1) main_~s~0) 0)) (* main_~y~0 3)) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= main_~q~0 1))} is VALID [2022-04-28 12:30:45,997 INFO L290 TraceCheckUtils]: 125: Hoare triple {71744#(and (= (+ (* main_~y~0 (* (- 1) main_~s~0) 1) (* main_~x~0 (* (- 1) main_~s~0) 0)) (* main_~y~0 3)) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= main_~q~0 1))} assume !(0 != ~b~0); {71754#(and (= (+ (* main_~y~0 (* (- 1) main_~s~0) 1) (* main_~x~0 (* (- 1) main_~s~0) 0)) (* main_~y~0 3)) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (= main_~q~0 1))} is VALID [2022-04-28 12:30:45,998 INFO L272 TraceCheckUtils]: 126: Hoare triple {71754#(and (= (+ (* main_~y~0 (* (- 1) main_~s~0) 1) (* main_~x~0 (* (- 1) main_~s~0) 0)) (* main_~y~0 3)) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (= main_~q~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {71758#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:30:45,998 INFO L290 TraceCheckUtils]: 127: Hoare triple {71758#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {71762#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:30:45,998 INFO L290 TraceCheckUtils]: 128: Hoare triple {71762#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {71364#false} is VALID [2022-04-28 12:30:45,998 INFO L290 TraceCheckUtils]: 129: Hoare triple {71364#false} assume !false; {71364#false} is VALID [2022-04-28 12:30:45,999 INFO L134 CoverageAnalysis]: Checked inductivity of 581 backedges. 137 proven. 57 refuted. 0 times theorem prover too weak. 387 trivial. 0 not checked. [2022-04-28 12:30:45,999 INFO L328 TraceCheckSpWp]: Computing backward predicates...