/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 05:29:48,517 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 05:29:48,518 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 05:29:48,538 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 05:29:48,538 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 05:29:48,539 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 05:29:48,540 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 05:29:48,541 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 05:29:48,541 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 05:29:48,542 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 05:29:48,543 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 05:29:48,543 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 05:29:48,543 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 05:29:48,544 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 05:29:48,545 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 05:29:48,545 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 05:29:48,546 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 05:29:48,546 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 05:29:48,547 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 05:29:48,548 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 05:29:48,549 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 05:29:48,550 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 05:29:48,550 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 05:29:48,551 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 05:29:48,551 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 05:29:48,553 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 05:29:48,553 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 05:29:48,553 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 05:29:48,554 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 05:29:48,554 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 05:29:48,555 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 05:29:48,555 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 05:29:48,555 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 05:29:48,556 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 05:29:48,556 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 05:29:48,557 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 05:29:48,557 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 05:29:48,557 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 05:29:48,558 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 05:29:48,558 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 05:29:48,558 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 05:29:48,560 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 05:29:48,560 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 05:29:48,568 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 05:29:48,568 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 05:29:48,569 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 05:29:48,569 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 05:29:48,569 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 05:29:48,569 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 05:29:48,569 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 05:29:48,569 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 05:29:48,569 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 05:29:48,569 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 05:29:48,570 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 05:29:48,570 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 05:29:48,570 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 05:29:48,570 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 05:29:48,570 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 05:29:48,570 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 05:29:48,570 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 05:29:48,570 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 05:29:48,570 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 05:29:48,570 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 05:29:48,570 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 05:29:48,570 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 05:29:48,571 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 05:29:48,571 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 05:29:48,571 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 05:29:48,571 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-08 05:29:48,778 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 05:29:48,792 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 05:29:48,793 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 05:29:48,794 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 05:29:48,795 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 05:29:48,795 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound5.c [2022-04-08 05:29:48,847 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fd069a3da/d4af6f8a7912413db410c5250df8aeff/FLAGfadb2f1c9 [2022-04-08 05:29:49,218 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 05:29:49,218 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound5.c [2022-04-08 05:29:49,226 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fd069a3da/d4af6f8a7912413db410c5250df8aeff/FLAGfadb2f1c9 [2022-04-08 05:29:49,238 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fd069a3da/d4af6f8a7912413db410c5250df8aeff [2022-04-08 05:29:49,239 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 05:29:49,240 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 05:29:49,241 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 05:29:49,241 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 05:29:49,244 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 05:29:49,245 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 05:29:49" (1/1) ... [2022-04-08 05:29:49,246 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6c6cb657 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:49, skipping insertion in model container [2022-04-08 05:29:49,247 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 05:29:49" (1/1) ... [2022-04-08 05:29:49,251 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 05:29:49,262 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 05:29:49,406 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/egcd-ll_unwindbound5.c[489,502] [2022-04-08 05:29:49,423 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 05:29:49,431 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 05:29:49,441 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/egcd-ll_unwindbound5.c[489,502] [2022-04-08 05:29:49,448 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 05:29:49,461 INFO L208 MainTranslator]: Completed translation [2022-04-08 05:29:49,462 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:49 WrapperNode [2022-04-08 05:29:49,462 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 05:29:49,464 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 05:29:49,464 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 05:29:49,464 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 05:29:49,473 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:49" (1/1) ... [2022-04-08 05:29:49,473 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:49" (1/1) ... [2022-04-08 05:29:49,478 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:49" (1/1) ... [2022-04-08 05:29:49,478 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:49" (1/1) ... [2022-04-08 05:29:49,484 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:49" (1/1) ... [2022-04-08 05:29:49,488 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:49" (1/1) ... [2022-04-08 05:29:49,489 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:49" (1/1) ... [2022-04-08 05:29:49,490 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 05:29:49,491 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 05:29:49,491 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 05:29:49,491 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 05:29:49,492 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:49" (1/1) ... [2022-04-08 05:29:49,502 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 05:29:49,511 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:29:49,521 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-08 05:29:49,523 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-08 05:29:49,548 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 05:29:49,548 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 05:29:49,548 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 05:29:49,548 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 05:29:49,548 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 05:29:49,548 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 05:29:49,548 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 05:29:49,548 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 05:29:49,548 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 05:29:49,548 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 05:29:49,548 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 05:29:49,549 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 05:29:49,549 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 05:29:49,549 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 05:29:49,549 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 05:29:49,549 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 05:29:49,549 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 05:29:49,549 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 05:29:49,549 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 05:29:49,549 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 05:29:49,599 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 05:29:49,600 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 05:29:49,725 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 05:29:49,731 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 05:29:49,731 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 05:29:49,733 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 05:29:49 BoogieIcfgContainer [2022-04-08 05:29:49,733 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 05:29:49,734 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 05:29:49,734 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 05:29:49,738 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 05:29:49,738 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 05:29:49" (1/3) ... [2022-04-08 05:29:49,738 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6462d488 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 05:29:49, skipping insertion in model container [2022-04-08 05:29:49,739 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:29:49" (2/3) ... [2022-04-08 05:29:49,739 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6462d488 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 05:29:49, skipping insertion in model container [2022-04-08 05:29:49,739 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 05:29:49" (3/3) ... [2022-04-08 05:29:49,740 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_unwindbound5.c [2022-04-08 05:29:49,744 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 05:29:49,745 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 05:29:49,794 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 05:29:49,821 INFO L340 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 [2022-04-08 05:29:49,822 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 05:29:49,835 INFO L276 IsEmpty]: Start isEmpty. Operand has 35 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 05:29:49,840 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-08 05:29:49,840 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:49,843 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:29:49,844 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:49,854 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:49,854 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 1 times [2022-04-08 05:29:49,862 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:49,863 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [279442670] [2022-04-08 05:29:49,872 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:49,873 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 2 times [2022-04-08 05:29:49,876 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:49,877 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1400120759] [2022-04-08 05:29:49,877 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:49,878 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:49,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:50,081 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 05:29:50,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:50,101 INFO L290 TraceCheckUtils]: 0: Hoare triple {51#(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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {38#true} is VALID [2022-04-08 05:29:50,101 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-08 05:29:50,102 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-08 05:29:50,102 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 05:29:50,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:50,117 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 05:29:50,118 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 05:29:50,118 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 05:29:50,118 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-08 05:29:50,119 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 05:29:50,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:50,129 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 05:29:50,130 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 05:29:50,130 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 05:29:50,131 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-08 05:29:50,132 INFO L272 TraceCheckUtils]: 0: Hoare triple {38#true} call ULTIMATE.init(); {51#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 05:29:50,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {51#(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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {38#true} is VALID [2022-04-08 05:29:50,133 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-08 05:29:50,133 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-08 05:29:50,133 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret7 := main(); {38#true} is VALID [2022-04-08 05:29:50,134 INFO L290 TraceCheckUtils]: 5: Hoare triple {38#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {38#true} is VALID [2022-04-08 05:29:50,134 INFO L272 TraceCheckUtils]: 6: Hoare triple {38#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {38#true} is VALID [2022-04-08 05:29:50,135 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 05:29:50,135 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 05:29:50,136 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 05:29:50,136 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-08 05:29:50,136 INFO L272 TraceCheckUtils]: 11: Hoare triple {39#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {38#true} is VALID [2022-04-08 05:29:50,136 INFO L290 TraceCheckUtils]: 12: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 05:29:50,136 INFO L290 TraceCheckUtils]: 13: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 05:29:50,137 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 05:29:50,137 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-08 05:29:50,137 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {39#false} is VALID [2022-04-08 05:29:50,138 INFO L290 TraceCheckUtils]: 17: Hoare triple {39#false} assume !true; {39#false} is VALID [2022-04-08 05:29:50,138 INFO L272 TraceCheckUtils]: 18: Hoare triple {39#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {39#false} is VALID [2022-04-08 05:29:50,139 INFO L290 TraceCheckUtils]: 19: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-08 05:29:50,139 INFO L290 TraceCheckUtils]: 20: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-08 05:29:50,139 INFO L290 TraceCheckUtils]: 21: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-08 05:29:50,139 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 05:29:50,140 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:29:50,140 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1400120759] [2022-04-08 05:29:50,141 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1400120759] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:50,141 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:50,141 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 05:29:50,144 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:29:50,145 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [279442670] [2022-04-08 05:29:50,145 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [279442670] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:50,145 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:50,145 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 05:29:50,146 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [5322856] [2022-04-08 05:29:50,147 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:29:50,151 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-08 05:29:50,153 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:29:50,155 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:29:50,184 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:29:50,184 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 05:29:50,185 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:50,211 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 05:29:50,211 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 05:29:50,214 INFO L87 Difference]: Start difference. First operand has 35 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:29:50,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:50,422 INFO L93 Difference]: Finished difference Result 64 states and 97 transitions. [2022-04-08 05:29:50,422 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 05:29:50,423 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-08 05:29:50,423 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:29:50,424 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:29:50,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-08 05:29:50,431 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:29:50,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-08 05:29:50,444 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 97 transitions. [2022-04-08 05:29:50,570 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-08 05:29:50,582 INFO L225 Difference]: With dead ends: 64 [2022-04-08 05:29:50,582 INFO L226 Difference]: Without dead ends: 31 [2022-04-08 05:29:50,585 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 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-08 05:29:50,588 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 20 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 20 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:29:50,588 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 45 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 20 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:29:50,599 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-04-08 05:29:50,610 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2022-04-08 05:29:50,610 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:29:50,611 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:29:50,611 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:29:50,611 INFO L87 Difference]: Start difference. First operand 31 states. Second operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:29:50,615 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:50,615 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-08 05:29:50,615 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-08 05:29:50,622 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:50,623 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:50,623 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 31 states. [2022-04-08 05:29:50,623 INFO L87 Difference]: Start difference. First operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 31 states. [2022-04-08 05:29:50,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:50,627 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-08 05:29:50,627 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-08 05:29:50,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:50,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:50,627 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:29:50,628 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:29:50,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:29:50,630 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 39 transitions. [2022-04-08 05:29:50,631 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 39 transitions. Word has length 22 [2022-04-08 05:29:50,631 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:29:50,631 INFO L478 AbstractCegarLoop]: Abstraction has 30 states and 39 transitions. [2022-04-08 05:29:50,632 INFO L479 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:29:50,632 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 39 transitions. [2022-04-08 05:29:50,668 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-08 05:29:50,669 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 39 transitions. [2022-04-08 05:29:50,670 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-08 05:29:50,670 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:50,670 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:29:50,671 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 05:29:50,671 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:50,673 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:50,673 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 1 times [2022-04-08 05:29:50,673 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:50,673 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [967466270] [2022-04-08 05:29:50,677 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:50,678 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 2 times [2022-04-08 05:29:50,678 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:50,678 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1319409482] [2022-04-08 05:29:50,678 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:50,678 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:50,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:50,743 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 05:29:50,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:50,763 INFO L290 TraceCheckUtils]: 0: Hoare triple {319#(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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:50,764 INFO L290 TraceCheckUtils]: 1: Hoare triple {309#(= ~counter~0 0)} assume true; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:50,764 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {309#(= ~counter~0 0)} {304#true} #82#return; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:50,765 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 05:29:50,767 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:50,771 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-08 05:29:50,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-08 05:29:50,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-08 05:29:50,772 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #64#return; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:50,773 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 05:29:50,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:50,778 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-08 05:29:50,778 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-08 05:29:50,778 INFO L290 TraceCheckUtils]: 2: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-08 05:29:50,779 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #66#return; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:50,780 INFO L272 TraceCheckUtils]: 0: Hoare triple {304#true} call ULTIMATE.init(); {319#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 05:29:50,780 INFO L290 TraceCheckUtils]: 1: Hoare triple {319#(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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:50,780 INFO L290 TraceCheckUtils]: 2: Hoare triple {309#(= ~counter~0 0)} assume true; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:50,781 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {309#(= ~counter~0 0)} {304#true} #82#return; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:50,781 INFO L272 TraceCheckUtils]: 4: Hoare triple {309#(= ~counter~0 0)} call #t~ret7 := main(); {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:50,782 INFO L290 TraceCheckUtils]: 5: Hoare triple {309#(= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:50,782 INFO L272 TraceCheckUtils]: 6: Hoare triple {309#(= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {304#true} is VALID [2022-04-08 05:29:50,782 INFO L290 TraceCheckUtils]: 7: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-08 05:29:50,782 INFO L290 TraceCheckUtils]: 8: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-08 05:29:50,782 INFO L290 TraceCheckUtils]: 9: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-08 05:29:50,783 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #64#return; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:50,783 INFO L272 TraceCheckUtils]: 11: Hoare triple {309#(= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {304#true} is VALID [2022-04-08 05:29:50,783 INFO L290 TraceCheckUtils]: 12: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-08 05:29:50,784 INFO L290 TraceCheckUtils]: 13: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-08 05:29:50,784 INFO L290 TraceCheckUtils]: 14: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-08 05:29:50,784 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #66#return; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:50,785 INFO L290 TraceCheckUtils]: 16: Hoare triple {309#(= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {309#(= ~counter~0 0)} is VALID [2022-04-08 05:29:50,785 INFO L290 TraceCheckUtils]: 17: Hoare triple {309#(= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {318#(= |main_#t~post6| 0)} is VALID [2022-04-08 05:29:50,786 INFO L290 TraceCheckUtils]: 18: Hoare triple {318#(= |main_#t~post6| 0)} assume !(#t~post6 < 5);havoc #t~post6; {305#false} is VALID [2022-04-08 05:29:50,786 INFO L272 TraceCheckUtils]: 19: Hoare triple {305#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {305#false} is VALID [2022-04-08 05:29:50,786 INFO L290 TraceCheckUtils]: 20: Hoare triple {305#false} ~cond := #in~cond; {305#false} is VALID [2022-04-08 05:29:50,786 INFO L290 TraceCheckUtils]: 21: Hoare triple {305#false} assume 0 == ~cond; {305#false} is VALID [2022-04-08 05:29:50,786 INFO L290 TraceCheckUtils]: 22: Hoare triple {305#false} assume !false; {305#false} is VALID [2022-04-08 05:29:50,787 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 05:29:50,787 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:29:50,787 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1319409482] [2022-04-08 05:29:50,787 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1319409482] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:50,787 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:50,788 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:50,788 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:29:50,788 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [967466270] [2022-04-08 05:29:50,788 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [967466270] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:50,788 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:50,788 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:50,788 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [494782483] [2022-04-08 05:29:50,789 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:29:50,790 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-08 05:29:50,790 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:29:50,790 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:29:50,805 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:29:50,805 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:29:50,805 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:50,806 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:29:50,806 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:29:50,806 INFO L87 Difference]: Start difference. First operand 30 states and 39 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:29:51,001 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:51,002 INFO L93 Difference]: Finished difference Result 42 states and 54 transitions. [2022-04-08 05:29:51,002 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 05:29:51,002 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-08 05:29:51,002 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:29:51,003 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:29:51,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-08 05:29:51,010 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:29:51,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-08 05:29:51,014 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2022-04-08 05:29:51,057 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-08 05:29:51,060 INFO L225 Difference]: With dead ends: 42 [2022-04-08 05:29:51,060 INFO L226 Difference]: Without dead ends: 32 [2022-04-08 05:29:51,061 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 8 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-08 05:29:51,062 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 13 mSDsluCounter, 30 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 69 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:29:51,062 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 65 Invalid, 69 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:29:51,066 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-08 05:29:51,073 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-08 05:29:51,073 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:29:51,074 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:29:51,074 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:29:51,074 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:29:51,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:51,076 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-08 05:29:51,076 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-08 05:29:51,077 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:51,077 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:51,077 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 32 states. [2022-04-08 05:29:51,077 INFO L87 Difference]: Start difference. First operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 32 states. [2022-04-08 05:29:51,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:51,079 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-08 05:29:51,079 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-08 05:29:51,079 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:51,079 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:51,080 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:29:51,080 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:29:51,080 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 05:29:51,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-08 05:29:51,081 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 23 [2022-04-08 05:29:51,081 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:29:51,082 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-08 05:29:51,082 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 05:29:51,082 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 41 transitions. [2022-04-08 05:29:51,120 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-08 05:29:51,121 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-08 05:29:51,122 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-08 05:29:51,123 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:51,123 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:29:51,123 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 05:29:51,123 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:51,124 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:51,124 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 1 times [2022-04-08 05:29:51,124 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:51,126 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1214028786] [2022-04-08 05:29:51,127 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:51,128 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 2 times [2022-04-08 05:29:51,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:51,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [140547753] [2022-04-08 05:29:51,128 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:51,128 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:51,154 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:29:51,155 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2092421574] [2022-04-08 05:29:51,155 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:29:51,155 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:51,155 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:29:51,163 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-08 05:29:51,165 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-08 05:29:51,220 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 05:29:51,221 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:29:51,222 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 05:29:51,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:51,239 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:29:51,410 INFO L272 TraceCheckUtils]: 0: Hoare triple {537#true} call ULTIMATE.init(); {537#true} is VALID [2022-04-08 05:29:51,410 INFO L290 TraceCheckUtils]: 1: Hoare triple {537#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {537#true} is VALID [2022-04-08 05:29:51,411 INFO L290 TraceCheckUtils]: 2: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-08 05:29:51,411 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {537#true} {537#true} #82#return; {537#true} is VALID [2022-04-08 05:29:51,411 INFO L272 TraceCheckUtils]: 4: Hoare triple {537#true} call #t~ret7 := main(); {537#true} is VALID [2022-04-08 05:29:51,411 INFO L290 TraceCheckUtils]: 5: Hoare triple {537#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {537#true} is VALID [2022-04-08 05:29:51,411 INFO L272 TraceCheckUtils]: 6: Hoare triple {537#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {537#true} is VALID [2022-04-08 05:29:51,411 INFO L290 TraceCheckUtils]: 7: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2022-04-08 05:29:51,411 INFO L290 TraceCheckUtils]: 8: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2022-04-08 05:29:51,411 INFO L290 TraceCheckUtils]: 9: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-08 05:29:51,412 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {537#true} {537#true} #64#return; {537#true} is VALID [2022-04-08 05:29:51,412 INFO L272 TraceCheckUtils]: 11: Hoare triple {537#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {537#true} is VALID [2022-04-08 05:29:51,412 INFO L290 TraceCheckUtils]: 12: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2022-04-08 05:29:51,412 INFO L290 TraceCheckUtils]: 13: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2022-04-08 05:29:51,412 INFO L290 TraceCheckUtils]: 14: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-08 05:29:51,412 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {537#true} {537#true} #66#return; {537#true} is VALID [2022-04-08 05:29:51,413 INFO L290 TraceCheckUtils]: 16: Hoare triple {537#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:29:51,413 INFO L290 TraceCheckUtils]: 17: Hoare triple {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:29:51,414 INFO L290 TraceCheckUtils]: 18: Hoare triple {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:29:51,415 INFO L272 TraceCheckUtils]: 19: Hoare triple {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {600#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:29:51,415 INFO L290 TraceCheckUtils]: 20: Hoare triple {600#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {604#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:51,415 INFO L290 TraceCheckUtils]: 21: Hoare triple {604#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {538#false} is VALID [2022-04-08 05:29:51,416 INFO L290 TraceCheckUtils]: 22: Hoare triple {538#false} assume !false; {538#false} is VALID [2022-04-08 05:29:51,416 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 05:29:51,416 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:29:51,416 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:29:51,416 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [140547753] [2022-04-08 05:29:51,416 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:29:51,416 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2092421574] [2022-04-08 05:29:51,417 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2092421574] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:51,417 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:51,417 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:51,417 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:29:51,417 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1214028786] [2022-04-08 05:29:51,417 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1214028786] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:51,418 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:51,418 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:51,418 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [582159225] [2022-04-08 05:29:51,418 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:29:51,419 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-08 05:29:51,419 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:29:51,419 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 05:29:51,433 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:29:51,433 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:29:51,433 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:51,433 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:29:51,434 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:29:51,434 INFO L87 Difference]: Start difference. First operand 32 states and 41 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 05:29:51,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:51,623 INFO L93 Difference]: Finished difference Result 49 states and 66 transitions. [2022-04-08 05:29:51,623 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:29:51,623 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-08 05:29:51,624 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:29:51,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 05:29:51,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-08 05:29:51,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 05:29:51,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-08 05:29:51,634 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-08 05:29:51,672 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-08 05:29:51,675 INFO L225 Difference]: With dead ends: 49 [2022-04-08 05:29:51,675 INFO L226 Difference]: Without dead ends: 47 [2022-04-08 05:29:51,676 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 19 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-08 05:29:51,681 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 44 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 44 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:29:51,685 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 136 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 44 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:29:51,686 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-08 05:29:51,705 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2022-04-08 05:29:51,705 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:29:51,706 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 05:29:51,707 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 05:29:51,708 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 05:29:51,712 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:51,712 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-08 05:29:51,712 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-08 05:29:51,713 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:51,713 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:51,713 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 47 states. [2022-04-08 05:29:51,713 INFO L87 Difference]: Start difference. First operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 47 states. [2022-04-08 05:29:51,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:51,716 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-08 05:29:51,716 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-08 05:29:51,716 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:51,716 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:51,716 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:29:51,716 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:29:51,721 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 05:29:51,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 63 transitions. [2022-04-08 05:29:51,725 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 63 transitions. Word has length 23 [2022-04-08 05:29:51,725 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:29:51,726 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 63 transitions. [2022-04-08 05:29:51,726 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 05:29:51,726 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 63 transitions. [2022-04-08 05:29:51,774 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:29:51,774 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-08 05:29:51,776 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 05:29:51,776 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:51,777 INFO L499 BasicCegarLoop]: trace histogram [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-08 05:29:51,798 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-08 05:29:51,987 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:51,988 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:51,988 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:51,988 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 1 times [2022-04-08 05:29:51,988 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:51,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [89797197] [2022-04-08 05:29:51,989 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:51,989 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 2 times [2022-04-08 05:29:51,989 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:51,989 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1997299776] [2022-04-08 05:29:51,989 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:51,989 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:52,006 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:29:52,006 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1120852337] [2022-04-08 05:29:52,007 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:29:52,007 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:52,007 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:29:52,008 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-08 05:29:52,009 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-08 05:29:52,050 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:29:52,050 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:29:52,052 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 05:29:52,059 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:52,060 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:29:52,219 INFO L272 TraceCheckUtils]: 0: Hoare triple {896#true} call ULTIMATE.init(); {896#true} is VALID [2022-04-08 05:29:52,220 INFO L290 TraceCheckUtils]: 1: Hoare triple {896#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {896#true} is VALID [2022-04-08 05:29:52,220 INFO L290 TraceCheckUtils]: 2: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-08 05:29:52,220 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {896#true} {896#true} #82#return; {896#true} is VALID [2022-04-08 05:29:52,220 INFO L272 TraceCheckUtils]: 4: Hoare triple {896#true} call #t~ret7 := main(); {896#true} is VALID [2022-04-08 05:29:52,220 INFO L290 TraceCheckUtils]: 5: Hoare triple {896#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {896#true} is VALID [2022-04-08 05:29:52,220 INFO L272 TraceCheckUtils]: 6: Hoare triple {896#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {896#true} is VALID [2022-04-08 05:29:52,221 INFO L290 TraceCheckUtils]: 7: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-08 05:29:52,224 INFO L290 TraceCheckUtils]: 8: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-08 05:29:52,224 INFO L290 TraceCheckUtils]: 9: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-08 05:29:52,224 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {896#true} {896#true} #64#return; {896#true} is VALID [2022-04-08 05:29:52,224 INFO L272 TraceCheckUtils]: 11: Hoare triple {896#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {896#true} is VALID [2022-04-08 05:29:52,224 INFO L290 TraceCheckUtils]: 12: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-08 05:29:52,225 INFO L290 TraceCheckUtils]: 13: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-08 05:29:52,225 INFO L290 TraceCheckUtils]: 14: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-08 05:29:52,225 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {896#true} {896#true} #66#return; {896#true} is VALID [2022-04-08 05:29:52,232 INFO L290 TraceCheckUtils]: 16: Hoare triple {896#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:29:52,232 INFO L290 TraceCheckUtils]: 17: Hoare triple {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:29:52,233 INFO L290 TraceCheckUtils]: 18: Hoare triple {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:29:52,233 INFO L272 TraceCheckUtils]: 19: Hoare triple {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {896#true} is VALID [2022-04-08 05:29:52,233 INFO L290 TraceCheckUtils]: 20: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-08 05:29:52,233 INFO L290 TraceCheckUtils]: 21: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-08 05:29:52,233 INFO L290 TraceCheckUtils]: 22: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-08 05:29:52,234 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {896#true} {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:29:52,235 INFO L272 TraceCheckUtils]: 24: Hoare triple {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {974#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:29:52,236 INFO L290 TraceCheckUtils]: 25: Hoare triple {974#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {978#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:52,238 INFO L290 TraceCheckUtils]: 26: Hoare triple {978#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {897#false} is VALID [2022-04-08 05:29:52,238 INFO L290 TraceCheckUtils]: 27: Hoare triple {897#false} assume !false; {897#false} is VALID [2022-04-08 05:29:52,238 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 05:29:52,238 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:29:52,238 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:29:52,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1997299776] [2022-04-08 05:29:52,238 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:29:52,239 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1120852337] [2022-04-08 05:29:52,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1120852337] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:52,239 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:52,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:52,239 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:29:52,239 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [89797197] [2022-04-08 05:29:52,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [89797197] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:52,239 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:52,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:52,239 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [394669737] [2022-04-08 05:29:52,239 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:29:52,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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-08 05:29:52,240 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:29:52,240 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 05:29:52,255 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:29:52,255 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:29:52,255 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:52,256 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:29:52,257 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:29:52,257 INFO L87 Difference]: Start difference. First operand 46 states and 63 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 05:29:52,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:52,433 INFO L93 Difference]: Finished difference Result 53 states and 69 transitions. [2022-04-08 05:29:52,433 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:29:52,433 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-08 05:29:52,433 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:29:52,433 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 05:29:52,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-08 05:29:52,434 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 05:29:52,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-08 05:29:52,436 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-08 05:29:52,477 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-08 05:29:52,479 INFO L225 Difference]: With dead ends: 53 [2022-04-08 05:29:52,479 INFO L226 Difference]: Without dead ends: 51 [2022-04-08 05:29:52,479 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 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-08 05:29:52,480 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 9 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 54 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:29:52,480 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 136 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:29:52,481 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-08 05:29:52,504 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-08 05:29:52,504 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:29:52,504 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 05:29:52,505 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 05:29:52,505 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 05:29:52,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:52,507 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-08 05:29:52,507 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-08 05:29:52,507 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:52,507 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:52,508 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 51 states. [2022-04-08 05:29:52,508 INFO L87 Difference]: Start difference. First operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 51 states. [2022-04-08 05:29:52,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:52,510 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-08 05:29:52,510 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-08 05:29:52,510 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:52,510 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:52,511 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:29:52,511 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:29:52,511 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 05:29:52,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 66 transitions. [2022-04-08 05:29:52,513 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 66 transitions. Word has length 28 [2022-04-08 05:29:52,513 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:29:52,513 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 66 transitions. [2022-04-08 05:29:52,513 INFO L479 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 05:29:52,513 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 66 transitions. [2022-04-08 05:29:52,566 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:29:52,566 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-08 05:29:52,567 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 05:29:52,567 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:52,567 INFO L499 BasicCegarLoop]: trace histogram [3, 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-08 05:29:52,586 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-08 05:29:52,776 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-04-08 05:29:52,776 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:52,776 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:52,776 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 1 times [2022-04-08 05:29:52,777 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:52,777 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [364955461] [2022-04-08 05:29:52,777 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:52,777 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 2 times [2022-04-08 05:29:52,777 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:52,777 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [550347828] [2022-04-08 05:29:52,777 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:52,778 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:52,789 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:29:52,790 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [791204903] [2022-04-08 05:29:52,790 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:29:52,790 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:52,790 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:29:52,791 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-08 05:29:52,792 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-08 05:29:52,830 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:29:52,830 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:29:52,831 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 05:29:52,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:52,847 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:29:53,036 INFO L272 TraceCheckUtils]: 0: Hoare triple {1294#true} call ULTIMATE.init(); {1294#true} is VALID [2022-04-08 05:29:53,036 INFO L290 TraceCheckUtils]: 1: Hoare triple {1294#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1294#true} is VALID [2022-04-08 05:29:53,037 INFO L290 TraceCheckUtils]: 2: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:29:53,037 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1294#true} {1294#true} #82#return; {1294#true} is VALID [2022-04-08 05:29:53,037 INFO L272 TraceCheckUtils]: 4: Hoare triple {1294#true} call #t~ret7 := main(); {1294#true} is VALID [2022-04-08 05:29:53,037 INFO L290 TraceCheckUtils]: 5: Hoare triple {1294#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {1294#true} is VALID [2022-04-08 05:29:53,037 INFO L272 TraceCheckUtils]: 6: Hoare triple {1294#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-08 05:29:53,047 INFO L290 TraceCheckUtils]: 7: Hoare triple {1294#true} ~cond := #in~cond; {1320#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:29:53,051 INFO L290 TraceCheckUtils]: 8: Hoare triple {1320#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1324#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:29:53,052 INFO L290 TraceCheckUtils]: 9: Hoare triple {1324#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1324#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:29:53,052 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1324#(not (= |assume_abort_if_not_#in~cond| 0))} {1294#true} #64#return; {1331#(<= 1 main_~x~0)} is VALID [2022-04-08 05:29:53,053 INFO L272 TraceCheckUtils]: 11: Hoare triple {1331#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-08 05:29:53,053 INFO L290 TraceCheckUtils]: 12: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:29:53,053 INFO L290 TraceCheckUtils]: 13: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:29:53,053 INFO L290 TraceCheckUtils]: 14: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:29:53,053 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1294#true} {1331#(<= 1 main_~x~0)} #66#return; {1331#(<= 1 main_~x~0)} is VALID [2022-04-08 05:29:53,054 INFO L290 TraceCheckUtils]: 16: Hoare triple {1331#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:29:53,054 INFO L290 TraceCheckUtils]: 17: Hoare triple {1350#(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; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:29:53,055 INFO L290 TraceCheckUtils]: 18: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:29:53,055 INFO L272 TraceCheckUtils]: 19: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1294#true} is VALID [2022-04-08 05:29:53,055 INFO L290 TraceCheckUtils]: 20: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:29:53,055 INFO L290 TraceCheckUtils]: 21: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:29:53,055 INFO L290 TraceCheckUtils]: 22: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:29:53,056 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1294#true} {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:29:53,056 INFO L272 TraceCheckUtils]: 24: Hoare triple {1350#(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)); {1294#true} is VALID [2022-04-08 05:29:53,056 INFO L290 TraceCheckUtils]: 25: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:29:53,056 INFO L290 TraceCheckUtils]: 26: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:29:53,056 INFO L290 TraceCheckUtils]: 27: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:29:53,057 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1294#true} {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:29:53,058 INFO L272 TraceCheckUtils]: 29: Hoare triple {1350#(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)); {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:29:53,058 INFO L290 TraceCheckUtils]: 30: Hoare triple {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1394#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:53,058 INFO L290 TraceCheckUtils]: 31: Hoare triple {1394#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1295#false} is VALID [2022-04-08 05:29:53,058 INFO L290 TraceCheckUtils]: 32: Hoare triple {1295#false} assume !false; {1295#false} is VALID [2022-04-08 05:29:53,059 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-08 05:29:53,059 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:29:53,251 INFO L290 TraceCheckUtils]: 32: Hoare triple {1295#false} assume !false; {1295#false} is VALID [2022-04-08 05:29:53,251 INFO L290 TraceCheckUtils]: 31: Hoare triple {1394#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1295#false} is VALID [2022-04-08 05:29:53,252 INFO L290 TraceCheckUtils]: 30: Hoare triple {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1394#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:53,252 INFO L272 TraceCheckUtils]: 29: Hoare triple {1410#(= 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)); {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:29:53,253 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1294#true} {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:29:53,253 INFO L290 TraceCheckUtils]: 27: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:29:53,253 INFO L290 TraceCheckUtils]: 26: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:29:53,254 INFO L290 TraceCheckUtils]: 25: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:29:53,254 INFO L272 TraceCheckUtils]: 24: Hoare triple {1410#(= 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)); {1294#true} is VALID [2022-04-08 05:29:53,254 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1294#true} {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:29:53,254 INFO L290 TraceCheckUtils]: 22: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:29:53,255 INFO L290 TraceCheckUtils]: 21: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:29:53,255 INFO L290 TraceCheckUtils]: 20: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:29:53,255 INFO L272 TraceCheckUtils]: 19: Hoare triple {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1294#true} is VALID [2022-04-08 05:29:53,255 INFO L290 TraceCheckUtils]: 18: Hoare triple {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:29:53,256 INFO L290 TraceCheckUtils]: 17: Hoare triple {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:29:53,256 INFO L290 TraceCheckUtils]: 16: Hoare triple {1294#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:29:53,256 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1294#true} {1294#true} #66#return; {1294#true} is VALID [2022-04-08 05:29:53,256 INFO L290 TraceCheckUtils]: 14: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:29:53,256 INFO L290 TraceCheckUtils]: 13: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:29:53,256 INFO L290 TraceCheckUtils]: 12: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:29:53,257 INFO L272 TraceCheckUtils]: 11: Hoare triple {1294#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-08 05:29:53,257 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1294#true} {1294#true} #64#return; {1294#true} is VALID [2022-04-08 05:29:53,257 INFO L290 TraceCheckUtils]: 9: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:29:53,257 INFO L290 TraceCheckUtils]: 8: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-08 05:29:53,257 INFO L290 TraceCheckUtils]: 7: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-08 05:29:53,257 INFO L272 TraceCheckUtils]: 6: Hoare triple {1294#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-08 05:29:53,257 INFO L290 TraceCheckUtils]: 5: Hoare triple {1294#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {1294#true} is VALID [2022-04-08 05:29:53,257 INFO L272 TraceCheckUtils]: 4: Hoare triple {1294#true} call #t~ret7 := main(); {1294#true} is VALID [2022-04-08 05:29:53,257 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1294#true} {1294#true} #82#return; {1294#true} is VALID [2022-04-08 05:29:53,258 INFO L290 TraceCheckUtils]: 2: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-08 05:29:53,258 INFO L290 TraceCheckUtils]: 1: Hoare triple {1294#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1294#true} is VALID [2022-04-08 05:29:53,258 INFO L272 TraceCheckUtils]: 0: Hoare triple {1294#true} call ULTIMATE.init(); {1294#true} is VALID [2022-04-08 05:29:53,258 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 05:29:53,258 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:29:53,258 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [550347828] [2022-04-08 05:29:53,258 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:29:53,258 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [791204903] [2022-04-08 05:29:53,258 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [791204903] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 05:29:53,259 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 05:29:53,259 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-08 05:29:53,259 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:29:53,259 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [364955461] [2022-04-08 05:29:53,259 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [364955461] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:53,259 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:53,259 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:53,259 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [798759658] [2022-04-08 05:29:53,259 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:29:53,260 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), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-08 05:29:53,260 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:29:53,260 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), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:29:53,277 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-08 05:29:53,278 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:29:53,278 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:53,278 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:29:53,278 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:29:53,278 INFO L87 Difference]: Start difference. First operand 50 states and 66 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), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:29:53,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:53,532 INFO L93 Difference]: Finished difference Result 75 states and 107 transitions. [2022-04-08 05:29:53,533 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:29:53,533 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), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-08 05:29:53,533 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:29:53,533 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), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:29:53,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-08 05:29:53,534 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), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:29:53,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-08 05:29:53,536 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-08 05:29:53,582 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-08 05:29:53,606 INFO L225 Difference]: With dead ends: 75 [2022-04-08 05:29:53,606 INFO L226 Difference]: Without dead ends: 71 [2022-04-08 05:29:53,607 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 57 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-08 05:29:53,611 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 9 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:29:53,612 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 128 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:29:53,613 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-08 05:29:53,641 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-08 05:29:53,641 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:29:53,641 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 05:29:53,641 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 05:29:53,642 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 05:29:53,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:53,644 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-08 05:29:53,645 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-08 05:29:53,645 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:53,645 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:53,645 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 71 states. [2022-04-08 05:29:53,646 INFO L87 Difference]: Start difference. First operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 71 states. [2022-04-08 05:29:53,648 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:53,648 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-08 05:29:53,649 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-08 05:29:53,649 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:53,649 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:53,649 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:29:53,649 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:29:53,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 05:29:53,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 100 transitions. [2022-04-08 05:29:53,652 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 100 transitions. Word has length 33 [2022-04-08 05:29:53,652 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:29:53,652 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 100 transitions. [2022-04-08 05:29:53,653 INFO L479 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), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:29:53,653 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 100 transitions. [2022-04-08 05:29:53,735 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:29:53,735 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-08 05:29:53,736 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 05:29:53,736 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:53,736 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:29:53,755 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-08 05:29:53,947 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:53,948 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:53,948 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:53,948 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 1 times [2022-04-08 05:29:53,948 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:53,948 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [986756535] [2022-04-08 05:29:53,948 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:53,948 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 2 times [2022-04-08 05:29:53,949 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:53,949 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [198506065] [2022-04-08 05:29:53,949 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:53,949 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:53,965 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:29:53,965 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [172313195] [2022-04-08 05:29:53,965 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:29:53,965 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:53,965 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:29:53,966 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-08 05:29:53,967 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-08 05:29:54,008 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:29:54,008 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:29:54,009 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 05:29:54,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:54,020 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:29:54,110 INFO L272 TraceCheckUtils]: 0: Hoare triple {1936#true} call ULTIMATE.init(); {1936#true} is VALID [2022-04-08 05:29:54,110 INFO L290 TraceCheckUtils]: 1: Hoare triple {1936#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1936#true} is VALID [2022-04-08 05:29:54,110 INFO L290 TraceCheckUtils]: 2: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-08 05:29:54,110 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1936#true} {1936#true} #82#return; {1936#true} is VALID [2022-04-08 05:29:54,111 INFO L272 TraceCheckUtils]: 4: Hoare triple {1936#true} call #t~ret7 := main(); {1936#true} is VALID [2022-04-08 05:29:54,111 INFO L290 TraceCheckUtils]: 5: Hoare triple {1936#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {1936#true} is VALID [2022-04-08 05:29:54,111 INFO L272 TraceCheckUtils]: 6: Hoare triple {1936#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1936#true} is VALID [2022-04-08 05:29:54,111 INFO L290 TraceCheckUtils]: 7: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-08 05:29:54,111 INFO L290 TraceCheckUtils]: 8: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-08 05:29:54,111 INFO L290 TraceCheckUtils]: 9: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-08 05:29:54,111 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1936#true} {1936#true} #64#return; {1936#true} is VALID [2022-04-08 05:29:54,112 INFO L272 TraceCheckUtils]: 11: Hoare triple {1936#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1936#true} is VALID [2022-04-08 05:29:54,112 INFO L290 TraceCheckUtils]: 12: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-08 05:29:54,112 INFO L290 TraceCheckUtils]: 13: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-08 05:29:54,112 INFO L290 TraceCheckUtils]: 14: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-08 05:29:54,112 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1936#true} {1936#true} #66#return; {1936#true} is VALID [2022-04-08 05:29:54,112 INFO L290 TraceCheckUtils]: 16: Hoare triple {1936#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1936#true} is VALID [2022-04-08 05:29:54,112 INFO L290 TraceCheckUtils]: 17: Hoare triple {1936#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1936#true} is VALID [2022-04-08 05:29:54,112 INFO L290 TraceCheckUtils]: 18: Hoare triple {1936#true} assume !!(#t~post6 < 5);havoc #t~post6; {1936#true} is VALID [2022-04-08 05:29:54,112 INFO L272 TraceCheckUtils]: 19: Hoare triple {1936#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1936#true} is VALID [2022-04-08 05:29:54,113 INFO L290 TraceCheckUtils]: 20: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-08 05:29:54,113 INFO L290 TraceCheckUtils]: 21: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-08 05:29:54,113 INFO L290 TraceCheckUtils]: 22: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-08 05:29:54,113 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1936#true} {1936#true} #68#return; {1936#true} is VALID [2022-04-08 05:29:54,113 INFO L272 TraceCheckUtils]: 24: Hoare triple {1936#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1936#true} is VALID [2022-04-08 05:29:54,113 INFO L290 TraceCheckUtils]: 25: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-08 05:29:54,113 INFO L290 TraceCheckUtils]: 26: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-08 05:29:54,113 INFO L290 TraceCheckUtils]: 27: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-08 05:29:54,113 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1936#true} {1936#true} #70#return; {1936#true} is VALID [2022-04-08 05:29:54,113 INFO L272 TraceCheckUtils]: 29: Hoare triple {1936#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1936#true} is VALID [2022-04-08 05:29:54,114 INFO L290 TraceCheckUtils]: 30: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-08 05:29:54,114 INFO L290 TraceCheckUtils]: 31: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-08 05:29:54,114 INFO L290 TraceCheckUtils]: 32: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-08 05:29:54,114 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1936#true} {1936#true} #72#return; {1936#true} is VALID [2022-04-08 05:29:54,115 INFO L290 TraceCheckUtils]: 34: Hoare triple {1936#true} assume !(~a~0 != ~b~0); {2043#(= main_~b~0 main_~a~0)} is VALID [2022-04-08 05:29:54,115 INFO L272 TraceCheckUtils]: 35: Hoare triple {2043#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2047#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:29:54,116 INFO L290 TraceCheckUtils]: 36: Hoare triple {2047#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2051#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:54,116 INFO L290 TraceCheckUtils]: 37: Hoare triple {2051#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1937#false} is VALID [2022-04-08 05:29:54,116 INFO L290 TraceCheckUtils]: 38: Hoare triple {1937#false} assume !false; {1937#false} is VALID [2022-04-08 05:29:54,116 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 05:29:54,116 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:29:54,116 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:29:54,116 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [198506065] [2022-04-08 05:29:54,117 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:29:54,117 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [172313195] [2022-04-08 05:29:54,117 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [172313195] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:54,117 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:54,117 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:54,117 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:29:54,117 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [986756535] [2022-04-08 05:29:54,117 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [986756535] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:54,117 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:54,117 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:54,117 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1541658403] [2022-04-08 05:29:54,117 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:29:54,118 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 39 [2022-04-08 05:29:54,118 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:29:54,118 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 05:29:54,136 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-08 05:29:54,136 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:29:54,136 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:54,136 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:29:54,137 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:29:54,137 INFO L87 Difference]: Start difference. First operand 71 states and 100 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 05:29:54,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:54,302 INFO L93 Difference]: Finished difference Result 87 states and 123 transitions. [2022-04-08 05:29:54,302 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:29:54,302 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 39 [2022-04-08 05:29:54,302 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:29:54,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 05:29:54,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-08 05:29:54,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 05:29:54,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-08 05:29:54,304 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-08 05:29:54,341 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:29:54,343 INFO L225 Difference]: With dead ends: 87 [2022-04-08 05:29:54,343 INFO L226 Difference]: Without dead ends: 85 [2022-04-08 05:29:54,343 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 35 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-08 05:29:54,344 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 5 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 34 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 34 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:29:54,344 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 144 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:29:54,344 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-04-08 05:29:54,362 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 78. [2022-04-08 05:29:54,362 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:29:54,363 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 05:29:54,363 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 05:29:54,363 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 05:29:54,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:54,367 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-08 05:29:54,367 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-08 05:29:54,367 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:54,367 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:54,368 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 85 states. [2022-04-08 05:29:54,368 INFO L87 Difference]: Start difference. First operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 85 states. [2022-04-08 05:29:54,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:54,371 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-08 05:29:54,371 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-08 05:29:54,372 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:54,372 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:54,372 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:29:54,372 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:29:54,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 05:29:54,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 109 transitions. [2022-04-08 05:29:54,375 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 109 transitions. Word has length 39 [2022-04-08 05:29:54,375 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:29:54,375 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 109 transitions. [2022-04-08 05:29:54,376 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 05:29:54,376 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 109 transitions. [2022-04-08 05:29:54,485 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:29:54,486 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 109 transitions. [2022-04-08 05:29:54,486 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 05:29:54,486 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:54,486 INFO L499 BasicCegarLoop]: trace histogram [4, 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, 1, 1, 1] [2022-04-08 05:29:54,511 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-08 05:29:54,695 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:54,695 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:54,696 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:54,696 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 1 times [2022-04-08 05:29:54,696 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:54,696 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2140053185] [2022-04-08 05:29:54,696 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:54,696 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 2 times [2022-04-08 05:29:54,696 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:54,696 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2109325627] [2022-04-08 05:29:54,697 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:54,697 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:54,707 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:29:54,707 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1073037070] [2022-04-08 05:29:54,707 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:29:54,707 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:54,708 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:29:54,708 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-08 05:29:54,709 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-08 05:29:54,743 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:29:54,743 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:29:54,744 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 05:29:54,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:54,755 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:29:54,934 INFO L272 TraceCheckUtils]: 0: Hoare triple {2559#true} call ULTIMATE.init(); {2559#true} is VALID [2022-04-08 05:29:54,935 INFO L290 TraceCheckUtils]: 1: Hoare triple {2559#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:54,939 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:54,940 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#(<= ~counter~0 0)} {2559#true} #82#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:54,940 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#(<= ~counter~0 0)} call #t~ret7 := main(); {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:54,941 INFO L290 TraceCheckUtils]: 5: Hoare triple {2567#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:54,941 INFO L272 TraceCheckUtils]: 6: Hoare triple {2567#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:54,942 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#(<= ~counter~0 0)} ~cond := #in~cond; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:54,942 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#(<= ~counter~0 0)} assume !(0 == ~cond); {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:54,942 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:54,943 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#(<= ~counter~0 0)} {2567#(<= ~counter~0 0)} #64#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:54,943 INFO L272 TraceCheckUtils]: 11: Hoare triple {2567#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:54,944 INFO L290 TraceCheckUtils]: 12: Hoare triple {2567#(<= ~counter~0 0)} ~cond := #in~cond; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:54,944 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#(<= ~counter~0 0)} assume !(0 == ~cond); {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:54,944 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:54,945 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2567#(<= ~counter~0 0)} {2567#(<= ~counter~0 0)} #66#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:54,945 INFO L290 TraceCheckUtils]: 16: Hoare triple {2567#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2567#(<= ~counter~0 0)} is VALID [2022-04-08 05:29:54,946 INFO L290 TraceCheckUtils]: 17: Hoare triple {2567#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:54,946 INFO L290 TraceCheckUtils]: 18: Hoare triple {2616#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:54,947 INFO L272 TraceCheckUtils]: 19: Hoare triple {2616#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:54,947 INFO L290 TraceCheckUtils]: 20: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:54,947 INFO L290 TraceCheckUtils]: 21: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:54,948 INFO L290 TraceCheckUtils]: 22: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:54,948 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #68#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:54,949 INFO L272 TraceCheckUtils]: 24: Hoare triple {2616#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:54,950 INFO L290 TraceCheckUtils]: 25: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:54,950 INFO L290 TraceCheckUtils]: 26: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:54,950 INFO L290 TraceCheckUtils]: 27: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:54,951 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #70#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:54,951 INFO L272 TraceCheckUtils]: 29: Hoare triple {2616#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:54,952 INFO L290 TraceCheckUtils]: 30: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:54,952 INFO L290 TraceCheckUtils]: 31: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:54,952 INFO L290 TraceCheckUtils]: 32: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:54,953 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #72#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:54,953 INFO L290 TraceCheckUtils]: 34: Hoare triple {2616#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:54,954 INFO L290 TraceCheckUtils]: 35: Hoare triple {2616#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2616#(<= ~counter~0 1)} is VALID [2022-04-08 05:29:54,954 INFO L290 TraceCheckUtils]: 36: Hoare triple {2616#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2674#(<= |main_#t~post6| 1)} is VALID [2022-04-08 05:29:54,954 INFO L290 TraceCheckUtils]: 37: Hoare triple {2674#(<= |main_#t~post6| 1)} assume !(#t~post6 < 5);havoc #t~post6; {2560#false} is VALID [2022-04-08 05:29:54,955 INFO L272 TraceCheckUtils]: 38: Hoare triple {2560#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2560#false} is VALID [2022-04-08 05:29:54,955 INFO L290 TraceCheckUtils]: 39: Hoare triple {2560#false} ~cond := #in~cond; {2560#false} is VALID [2022-04-08 05:29:54,955 INFO L290 TraceCheckUtils]: 40: Hoare triple {2560#false} assume 0 == ~cond; {2560#false} is VALID [2022-04-08 05:29:54,955 INFO L290 TraceCheckUtils]: 41: Hoare triple {2560#false} assume !false; {2560#false} is VALID [2022-04-08 05:29:54,955 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 05:29:54,955 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:29:55,185 INFO L290 TraceCheckUtils]: 41: Hoare triple {2560#false} assume !false; {2560#false} is VALID [2022-04-08 05:29:55,186 INFO L290 TraceCheckUtils]: 40: Hoare triple {2560#false} assume 0 == ~cond; {2560#false} is VALID [2022-04-08 05:29:55,186 INFO L290 TraceCheckUtils]: 39: Hoare triple {2560#false} ~cond := #in~cond; {2560#false} is VALID [2022-04-08 05:29:55,186 INFO L272 TraceCheckUtils]: 38: Hoare triple {2560#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2560#false} is VALID [2022-04-08 05:29:55,186 INFO L290 TraceCheckUtils]: 37: Hoare triple {2702#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {2560#false} is VALID [2022-04-08 05:29:55,187 INFO L290 TraceCheckUtils]: 36: Hoare triple {2706#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2702#(< |main_#t~post6| 5)} is VALID [2022-04-08 05:29:55,187 INFO L290 TraceCheckUtils]: 35: Hoare triple {2706#(< ~counter~0 5)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2706#(< ~counter~0 5)} is VALID [2022-04-08 05:29:55,187 INFO L290 TraceCheckUtils]: 34: Hoare triple {2706#(< ~counter~0 5)} assume !!(~a~0 != ~b~0); {2706#(< ~counter~0 5)} is VALID [2022-04-08 05:29:55,188 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2559#true} {2706#(< ~counter~0 5)} #72#return; {2706#(< ~counter~0 5)} is VALID [2022-04-08 05:29:55,188 INFO L290 TraceCheckUtils]: 32: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-08 05:29:55,188 INFO L290 TraceCheckUtils]: 31: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-08 05:29:55,188 INFO L290 TraceCheckUtils]: 30: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-08 05:29:55,188 INFO L272 TraceCheckUtils]: 29: Hoare triple {2706#(< ~counter~0 5)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2559#true} is VALID [2022-04-08 05:29:55,189 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2559#true} {2706#(< ~counter~0 5)} #70#return; {2706#(< ~counter~0 5)} is VALID [2022-04-08 05:29:55,189 INFO L290 TraceCheckUtils]: 27: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-08 05:29:55,189 INFO L290 TraceCheckUtils]: 26: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-08 05:29:55,189 INFO L290 TraceCheckUtils]: 25: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-08 05:29:55,189 INFO L272 TraceCheckUtils]: 24: Hoare triple {2706#(< ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2559#true} is VALID [2022-04-08 05:29:55,189 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2559#true} {2706#(< ~counter~0 5)} #68#return; {2706#(< ~counter~0 5)} is VALID [2022-04-08 05:29:55,190 INFO L290 TraceCheckUtils]: 22: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-08 05:29:55,190 INFO L290 TraceCheckUtils]: 21: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-08 05:29:55,190 INFO L290 TraceCheckUtils]: 20: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-08 05:29:55,190 INFO L272 TraceCheckUtils]: 19: Hoare triple {2706#(< ~counter~0 5)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2559#true} is VALID [2022-04-08 05:29:55,190 INFO L290 TraceCheckUtils]: 18: Hoare triple {2706#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {2706#(< ~counter~0 5)} is VALID [2022-04-08 05:29:55,191 INFO L290 TraceCheckUtils]: 17: Hoare triple {2764#(< ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2706#(< ~counter~0 5)} is VALID [2022-04-08 05:29:55,191 INFO L290 TraceCheckUtils]: 16: Hoare triple {2764#(< ~counter~0 4)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2764#(< ~counter~0 4)} is VALID [2022-04-08 05:29:55,191 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2559#true} {2764#(< ~counter~0 4)} #66#return; {2764#(< ~counter~0 4)} is VALID [2022-04-08 05:29:55,191 INFO L290 TraceCheckUtils]: 14: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-08 05:29:55,191 INFO L290 TraceCheckUtils]: 13: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-08 05:29:55,192 INFO L290 TraceCheckUtils]: 12: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-08 05:29:55,192 INFO L272 TraceCheckUtils]: 11: Hoare triple {2764#(< ~counter~0 4)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2559#true} is VALID [2022-04-08 05:29:55,192 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2559#true} {2764#(< ~counter~0 4)} #64#return; {2764#(< ~counter~0 4)} is VALID [2022-04-08 05:29:55,192 INFO L290 TraceCheckUtils]: 9: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-08 05:29:55,192 INFO L290 TraceCheckUtils]: 8: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-08 05:29:55,192 INFO L290 TraceCheckUtils]: 7: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-08 05:29:55,192 INFO L272 TraceCheckUtils]: 6: Hoare triple {2764#(< ~counter~0 4)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2559#true} is VALID [2022-04-08 05:29:55,193 INFO L290 TraceCheckUtils]: 5: Hoare triple {2764#(< ~counter~0 4)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {2764#(< ~counter~0 4)} is VALID [2022-04-08 05:29:55,193 INFO L272 TraceCheckUtils]: 4: Hoare triple {2764#(< ~counter~0 4)} call #t~ret7 := main(); {2764#(< ~counter~0 4)} is VALID [2022-04-08 05:29:55,193 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2764#(< ~counter~0 4)} {2559#true} #82#return; {2764#(< ~counter~0 4)} is VALID [2022-04-08 05:29:55,193 INFO L290 TraceCheckUtils]: 2: Hoare triple {2764#(< ~counter~0 4)} assume true; {2764#(< ~counter~0 4)} is VALID [2022-04-08 05:29:55,194 INFO L290 TraceCheckUtils]: 1: Hoare triple {2559#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2764#(< ~counter~0 4)} is VALID [2022-04-08 05:29:55,194 INFO L272 TraceCheckUtils]: 0: Hoare triple {2559#true} call ULTIMATE.init(); {2559#true} is VALID [2022-04-08 05:29:55,196 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 05:29:55,196 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:29:55,196 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2109325627] [2022-04-08 05:29:55,196 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:29:55,196 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1073037070] [2022-04-08 05:29:55,197 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1073037070] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:29:55,197 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:29:55,197 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-08 05:29:55,197 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:29:55,197 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2140053185] [2022-04-08 05:29:55,197 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2140053185] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:55,197 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:55,197 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:55,197 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1419197399] [2022-04-08 05:29:55,197 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:29:55,198 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 42 [2022-04-08 05:29:55,198 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:29:55,198 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 05:29:55,216 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:29:55,216 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:29:55,216 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:55,217 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:29:55,217 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-08 05:29:55,217 INFO L87 Difference]: Start difference. First operand 78 states and 109 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 05:29:55,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:55,373 INFO L93 Difference]: Finished difference Result 121 states and 152 transitions. [2022-04-08 05:29:55,373 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 05:29:55,373 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 42 [2022-04-08 05:29:55,373 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:29:55,373 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 05:29:55,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-08 05:29:55,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 05:29:55,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-08 05:29:55,376 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 74 transitions. [2022-04-08 05:29:55,424 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-08 05:29:55,426 INFO L225 Difference]: With dead ends: 121 [2022-04-08 05:29:55,426 INFO L226 Difference]: Without dead ends: 102 [2022-04-08 05:29:55,426 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:29:55,427 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 13 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 18 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 18 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:29:55,427 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 118 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 18 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:29:55,427 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-04-08 05:29:55,479 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 100. [2022-04-08 05:29:55,480 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:29:55,480 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 05:29:55,480 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 05:29:55,480 INFO L87 Difference]: Start difference. First operand 102 states. Second operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 05:29:55,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:55,483 INFO L93 Difference]: Finished difference Result 102 states and 128 transitions. [2022-04-08 05:29:55,483 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 128 transitions. [2022-04-08 05:29:55,484 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:55,484 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:55,484 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 102 states. [2022-04-08 05:29:55,484 INFO L87 Difference]: Start difference. First operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 102 states. [2022-04-08 05:29:55,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:55,487 INFO L93 Difference]: Finished difference Result 102 states and 128 transitions. [2022-04-08 05:29:55,487 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 128 transitions. [2022-04-08 05:29:55,488 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:55,488 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:55,488 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:29:55,488 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:29:55,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 05:29:55,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 127 transitions. [2022-04-08 05:29:55,491 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 127 transitions. Word has length 42 [2022-04-08 05:29:55,491 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:29:55,491 INFO L478 AbstractCegarLoop]: Abstraction has 100 states and 127 transitions. [2022-04-08 05:29:55,491 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 05:29:55,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 100 states and 127 transitions. [2022-04-08 05:29:55,606 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-08 05:29:55,606 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 127 transitions. [2022-04-08 05:29:55,606 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-08 05:29:55,606 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:55,606 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 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-08 05:29:55,627 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-08 05:29:55,807 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:55,807 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:55,807 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:55,808 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 1 times [2022-04-08 05:29:55,808 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:55,808 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2060584717] [2022-04-08 05:29:55,808 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:55,808 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 2 times [2022-04-08 05:29:55,808 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:55,808 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [634313045] [2022-04-08 05:29:55,808 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:55,808 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:55,818 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:29:55,818 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1578946335] [2022-04-08 05:29:55,818 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:29:55,818 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:55,819 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:29:55,827 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-08 05:29:55,829 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-08 05:29:55,878 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:29:55,878 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:29:55,879 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 05:29:55,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:55,893 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:29:56,043 INFO L272 TraceCheckUtils]: 0: Hoare triple {3466#true} call ULTIMATE.init(); {3466#true} is VALID [2022-04-08 05:29:56,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {3466#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3466#true} is VALID [2022-04-08 05:29:56,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-08 05:29:56,043 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3466#true} {3466#true} #82#return; {3466#true} is VALID [2022-04-08 05:29:56,043 INFO L272 TraceCheckUtils]: 4: Hoare triple {3466#true} call #t~ret7 := main(); {3466#true} is VALID [2022-04-08 05:29:56,043 INFO L290 TraceCheckUtils]: 5: Hoare triple {3466#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {3466#true} is VALID [2022-04-08 05:29:56,043 INFO L272 TraceCheckUtils]: 6: Hoare triple {3466#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3466#true} is VALID [2022-04-08 05:29:56,043 INFO L290 TraceCheckUtils]: 7: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-08 05:29:56,044 INFO L290 TraceCheckUtils]: 8: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-08 05:29:56,044 INFO L290 TraceCheckUtils]: 9: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-08 05:29:56,044 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3466#true} {3466#true} #64#return; {3466#true} is VALID [2022-04-08 05:29:56,044 INFO L272 TraceCheckUtils]: 11: Hoare triple {3466#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3466#true} is VALID [2022-04-08 05:29:56,044 INFO L290 TraceCheckUtils]: 12: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-08 05:29:56,044 INFO L290 TraceCheckUtils]: 13: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-08 05:29:56,044 INFO L290 TraceCheckUtils]: 14: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-08 05:29:56,044 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3466#true} {3466#true} #66#return; {3466#true} is VALID [2022-04-08 05:29:56,045 INFO L290 TraceCheckUtils]: 16: Hoare triple {3466#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:29:56,045 INFO L290 TraceCheckUtils]: 17: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:29:56,046 INFO L290 TraceCheckUtils]: 18: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:29:56,046 INFO L272 TraceCheckUtils]: 19: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3466#true} is VALID [2022-04-08 05:29:56,046 INFO L290 TraceCheckUtils]: 20: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-08 05:29:56,046 INFO L290 TraceCheckUtils]: 21: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-08 05:29:56,046 INFO L290 TraceCheckUtils]: 22: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-08 05:29:56,047 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3466#true} {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #68#return; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:29:56,047 INFO L272 TraceCheckUtils]: 24: Hoare triple {3519#(and (= main_~s~0 1) (= 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)); {3466#true} is VALID [2022-04-08 05:29:56,047 INFO L290 TraceCheckUtils]: 25: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-08 05:29:56,047 INFO L290 TraceCheckUtils]: 26: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-08 05:29:56,047 INFO L290 TraceCheckUtils]: 27: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-08 05:29:56,048 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3466#true} {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #70#return; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:29:56,048 INFO L272 TraceCheckUtils]: 29: Hoare triple {3519#(and (= main_~s~0 1) (= 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)); {3466#true} is VALID [2022-04-08 05:29:56,048 INFO L290 TraceCheckUtils]: 30: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-08 05:29:56,048 INFO L290 TraceCheckUtils]: 31: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-08 05:29:56,048 INFO L290 TraceCheckUtils]: 32: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-08 05:29:56,048 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3466#true} {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #72#return; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:29:56,049 INFO L290 TraceCheckUtils]: 34: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:29:56,049 INFO L290 TraceCheckUtils]: 35: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:29:56,050 INFO L290 TraceCheckUtils]: 36: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:29:56,050 INFO L290 TraceCheckUtils]: 37: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:29:56,051 INFO L272 TraceCheckUtils]: 38: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3586#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:29:56,055 INFO L290 TraceCheckUtils]: 39: Hoare triple {3586#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3590#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:56,055 INFO L290 TraceCheckUtils]: 40: Hoare triple {3590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3467#false} is VALID [2022-04-08 05:29:56,055 INFO L290 TraceCheckUtils]: 41: Hoare triple {3467#false} assume !false; {3467#false} is VALID [2022-04-08 05:29:56,055 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-08 05:29:56,056 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:29:56,056 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:29:56,056 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [634313045] [2022-04-08 05:29:56,056 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:29:56,056 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1578946335] [2022-04-08 05:29:56,056 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1578946335] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:56,056 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:56,056 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:56,056 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:29:56,056 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2060584717] [2022-04-08 05:29:56,056 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2060584717] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:29:56,056 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:29:56,057 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:29:56,057 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [732565941] [2022-04-08 05:29:56,057 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:29:56,057 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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 42 [2022-04-08 05:29:56,057 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:29:56,057 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-08 05:29:56,077 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:29:56,077 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:29:56,077 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:56,077 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:29:56,077 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:29:56,078 INFO L87 Difference]: Start difference. First operand 100 states and 127 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-08 05:29:56,283 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:56,284 INFO L93 Difference]: Finished difference Result 106 states and 132 transitions. [2022-04-08 05:29:56,284 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:29:56,284 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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 42 [2022-04-08 05:29:56,284 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:29:56,284 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-08 05:29:56,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-08 05:29:56,285 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-08 05:29:56,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-08 05:29:56,286 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2022-04-08 05:29:56,330 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-08 05:29:56,331 INFO L225 Difference]: With dead ends: 106 [2022-04-08 05:29:56,332 INFO L226 Difference]: Without dead ends: 103 [2022-04-08 05:29:56,332 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 05:29:56,332 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 7 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:29:56,332 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 132 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:29:56,333 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-08 05:29:56,390 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-08 05:29:56,390 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:29:56,390 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 05:29:56,391 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 05:29:56,391 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 05:29:56,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:56,394 INFO L93 Difference]: Finished difference Result 103 states and 128 transitions. [2022-04-08 05:29:56,394 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-08 05:29:56,394 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:56,395 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:56,395 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) Second operand 103 states. [2022-04-08 05:29:56,395 INFO L87 Difference]: Start difference. First operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) Second operand 103 states. [2022-04-08 05:29:56,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:29:56,398 INFO L93 Difference]: Finished difference Result 103 states and 128 transitions. [2022-04-08 05:29:56,398 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-08 05:29:56,399 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:29:56,399 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:29:56,399 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:29:56,399 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:29:56,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 05:29:56,402 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 128 transitions. [2022-04-08 05:29:56,403 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 128 transitions. Word has length 42 [2022-04-08 05:29:56,403 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:29:56,403 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 128 transitions. [2022-04-08 05:29:56,403 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-08 05:29:56,403 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 128 transitions. [2022-04-08 05:29:56,521 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:29:56,521 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-08 05:29:56,522 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 05:29:56,522 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:29:56,522 INFO L499 BasicCegarLoop]: trace histogram [5, 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] [2022-04-08 05:29:56,542 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-08 05:29:56,735 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:56,735 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:29:56,735 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:29:56,736 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 1 times [2022-04-08 05:29:56,736 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:29:56,736 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [478032180] [2022-04-08 05:29:56,736 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:29:56,736 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 2 times [2022-04-08 05:29:56,736 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:29:56,737 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [144987108] [2022-04-08 05:29:56,737 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:29:56,737 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:29:56,747 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:29:56,747 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [155107382] [2022-04-08 05:29:56,747 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:29:56,747 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:29:56,747 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:29:56,748 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-08 05:29:56,749 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-08 05:29:56,785 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:29:56,785 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:29:56,786 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 05:29:56,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:29:56,800 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:29:56,932 INFO L272 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2022-04-08 05:29:56,933 INFO L290 TraceCheckUtils]: 1: Hoare triple {4222#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4222#true} is VALID [2022-04-08 05:29:56,933 INFO L290 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:29:56,933 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #82#return; {4222#true} is VALID [2022-04-08 05:29:56,933 INFO L272 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret7 := main(); {4222#true} is VALID [2022-04-08 05:29:56,933 INFO L290 TraceCheckUtils]: 5: Hoare triple {4222#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {4222#true} is VALID [2022-04-08 05:29:56,933 INFO L272 TraceCheckUtils]: 6: Hoare triple {4222#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:29:56,933 INFO L290 TraceCheckUtils]: 7: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:29:56,934 INFO L290 TraceCheckUtils]: 8: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:29:56,934 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:29:56,934 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#true} {4222#true} #64#return; {4222#true} is VALID [2022-04-08 05:29:56,934 INFO L272 TraceCheckUtils]: 11: Hoare triple {4222#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:29:56,934 INFO L290 TraceCheckUtils]: 12: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:29:56,934 INFO L290 TraceCheckUtils]: 13: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:29:56,934 INFO L290 TraceCheckUtils]: 14: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:29:56,934 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4222#true} {4222#true} #66#return; {4222#true} is VALID [2022-04-08 05:29:56,934 INFO L290 TraceCheckUtils]: 16: Hoare triple {4222#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4222#true} is VALID [2022-04-08 05:29:56,935 INFO L290 TraceCheckUtils]: 17: Hoare triple {4222#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4222#true} is VALID [2022-04-08 05:29:56,935 INFO L290 TraceCheckUtils]: 18: Hoare triple {4222#true} assume !!(#t~post6 < 5);havoc #t~post6; {4222#true} is VALID [2022-04-08 05:29:56,935 INFO L272 TraceCheckUtils]: 19: Hoare triple {4222#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:29:56,935 INFO L290 TraceCheckUtils]: 20: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:29:56,935 INFO L290 TraceCheckUtils]: 21: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:29:56,935 INFO L290 TraceCheckUtils]: 22: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:29:56,935 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4222#true} {4222#true} #68#return; {4222#true} is VALID [2022-04-08 05:29:56,935 INFO L272 TraceCheckUtils]: 24: Hoare triple {4222#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:29:56,940 INFO L290 TraceCheckUtils]: 25: Hoare triple {4222#true} ~cond := #in~cond; {4302#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:56,941 INFO L290 TraceCheckUtils]: 26: Hoare triple {4302#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:29:56,941 INFO L290 TraceCheckUtils]: 27: Hoare triple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:29:56,948 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} {4222#true} #70#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:29:56,948 INFO L272 TraceCheckUtils]: 29: Hoare triple {4313#(= main_~a~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)); {4222#true} is VALID [2022-04-08 05:29:56,948 INFO L290 TraceCheckUtils]: 30: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:29:56,948 INFO L290 TraceCheckUtils]: 31: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:29:56,948 INFO L290 TraceCheckUtils]: 32: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:29:56,950 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4222#true} {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #72#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:29:56,951 INFO L290 TraceCheckUtils]: 34: Hoare triple {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:29:56,951 INFO L272 TraceCheckUtils]: 35: Hoare triple {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:29:56,951 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:29:56,951 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:29:56,951 INFO L290 TraceCheckUtils]: 38: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:29:56,952 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4222#true} {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:29:56,953 INFO L272 TraceCheckUtils]: 40: Hoare triple {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:29:56,953 INFO L290 TraceCheckUtils]: 41: Hoare triple {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:29:56,953 INFO L290 TraceCheckUtils]: 42: Hoare triple {4355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4223#false} is VALID [2022-04-08 05:29:56,954 INFO L290 TraceCheckUtils]: 43: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2022-04-08 05:29:56,954 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-08 05:29:56,954 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:30:16,554 INFO L290 TraceCheckUtils]: 43: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2022-04-08 05:30:16,555 INFO L290 TraceCheckUtils]: 42: Hoare triple {4355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4223#false} is VALID [2022-04-08 05:30:16,555 INFO L290 TraceCheckUtils]: 41: Hoare triple {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:16,556 INFO L272 TraceCheckUtils]: 40: Hoare triple {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:30:16,557 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4222#true} {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:30:16,557 INFO L290 TraceCheckUtils]: 38: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:30:16,557 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:30:16,557 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:30:16,557 INFO L272 TraceCheckUtils]: 35: Hoare triple {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:30:16,557 INFO L290 TraceCheckUtils]: 34: Hoare triple {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:30:16,558 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4222#true} {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #72#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:30:16,558 INFO L290 TraceCheckUtils]: 32: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:30:16,558 INFO L290 TraceCheckUtils]: 31: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:30:16,558 INFO L290 TraceCheckUtils]: 30: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:30:16,558 INFO L272 TraceCheckUtils]: 29: Hoare triple {4313#(= main_~a~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)); {4222#true} is VALID [2022-04-08 05:30:16,559 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} {4222#true} #70#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:30:16,559 INFO L290 TraceCheckUtils]: 27: Hoare triple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:30:16,560 INFO L290 TraceCheckUtils]: 26: Hoare triple {4416#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:30:16,560 INFO L290 TraceCheckUtils]: 25: Hoare triple {4222#true} ~cond := #in~cond; {4416#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:30:16,560 INFO L272 TraceCheckUtils]: 24: Hoare triple {4222#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:30:16,560 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4222#true} {4222#true} #68#return; {4222#true} is VALID [2022-04-08 05:30:16,560 INFO L290 TraceCheckUtils]: 22: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:30:16,560 INFO L290 TraceCheckUtils]: 21: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:30:16,560 INFO L290 TraceCheckUtils]: 20: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:30:16,560 INFO L272 TraceCheckUtils]: 19: Hoare triple {4222#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:30:16,561 INFO L290 TraceCheckUtils]: 18: Hoare triple {4222#true} assume !!(#t~post6 < 5);havoc #t~post6; {4222#true} is VALID [2022-04-08 05:30:16,561 INFO L290 TraceCheckUtils]: 17: Hoare triple {4222#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4222#true} is VALID [2022-04-08 05:30:16,561 INFO L290 TraceCheckUtils]: 16: Hoare triple {4222#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4222#true} is VALID [2022-04-08 05:30:16,561 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4222#true} {4222#true} #66#return; {4222#true} is VALID [2022-04-08 05:30:16,561 INFO L290 TraceCheckUtils]: 14: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:30:16,561 INFO L290 TraceCheckUtils]: 13: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:30:16,561 INFO L290 TraceCheckUtils]: 12: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:30:16,561 INFO L272 TraceCheckUtils]: 11: Hoare triple {4222#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:30:16,561 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#true} {4222#true} #64#return; {4222#true} is VALID [2022-04-08 05:30:16,561 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:30:16,561 INFO L290 TraceCheckUtils]: 8: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-08 05:30:16,561 INFO L290 TraceCheckUtils]: 7: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-08 05:30:16,561 INFO L272 TraceCheckUtils]: 6: Hoare triple {4222#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-08 05:30:16,562 INFO L290 TraceCheckUtils]: 5: Hoare triple {4222#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {4222#true} is VALID [2022-04-08 05:30:16,562 INFO L272 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret7 := main(); {4222#true} is VALID [2022-04-08 05:30:16,562 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #82#return; {4222#true} is VALID [2022-04-08 05:30:16,562 INFO L290 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-08 05:30:16,562 INFO L290 TraceCheckUtils]: 1: Hoare triple {4222#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4222#true} is VALID [2022-04-08 05:30:16,562 INFO L272 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2022-04-08 05:30:16,563 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-08 05:30:16,563 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:30:16,563 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [144987108] [2022-04-08 05:30:16,563 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:30:16,563 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [155107382] [2022-04-08 05:30:16,563 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [155107382] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:30:16,563 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:30:16,563 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-08 05:30:16,564 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:30:16,564 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [478032180] [2022-04-08 05:30:16,564 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [478032180] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:16,564 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:16,564 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:30:16,564 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1289043068] [2022-04-08 05:30:16,564 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:30:16,565 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 44 [2022-04-08 05:30:16,565 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:30:16,565 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-08 05:30:16,594 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:16,594 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 05:30:16,594 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:16,595 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 05:30:16,595 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:30:16,595 INFO L87 Difference]: Start difference. First operand 103 states and 128 transitions. Second operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-08 05:30:17,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:17,143 INFO L93 Difference]: Finished difference Result 118 states and 148 transitions. [2022-04-08 05:30:17,143 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:30:17,144 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 44 [2022-04-08 05:30:17,144 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:30:17,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-08 05:30:17,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-08 05:30:17,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-08 05:30:17,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-08 05:30:17,146 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 60 transitions. [2022-04-08 05:30:17,196 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:17,198 INFO L225 Difference]: With dead ends: 118 [2022-04-08 05:30:17,198 INFO L226 Difference]: Without dead ends: 106 [2022-04-08 05:30:17,199 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:30:17,199 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 15 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 165 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 176 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 165 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 05:30:17,199 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 141 Invalid, 176 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 165 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 05:30:17,199 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2022-04-08 05:30:17,253 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 104. [2022-04-08 05:30:17,254 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:30:17,255 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 05:30:17,257 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 05:30:17,257 INFO L87 Difference]: Start difference. First operand 106 states. Second operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 05:30:17,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:17,266 INFO L93 Difference]: Finished difference Result 106 states and 133 transitions. [2022-04-08 05:30:17,266 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 133 transitions. [2022-04-08 05:30:17,266 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:17,266 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:17,267 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) Second operand 106 states. [2022-04-08 05:30:17,267 INFO L87 Difference]: Start difference. First operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) Second operand 106 states. [2022-04-08 05:30:17,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:17,271 INFO L93 Difference]: Finished difference Result 106 states and 133 transitions. [2022-04-08 05:30:17,271 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 133 transitions. [2022-04-08 05:30:17,271 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:17,271 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:17,271 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:30:17,271 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:30:17,271 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 05:30:17,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 130 transitions. [2022-04-08 05:30:17,275 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 130 transitions. Word has length 44 [2022-04-08 05:30:17,275 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:30:17,276 INFO L478 AbstractCegarLoop]: Abstraction has 104 states and 130 transitions. [2022-04-08 05:30:17,276 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-08 05:30:17,276 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 104 states and 130 transitions. [2022-04-08 05:30:17,428 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:17,428 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 130 transitions. [2022-04-08 05:30:17,429 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-08 05:30:17,429 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:30:17,429 INFO L499 BasicCegarLoop]: trace histogram [5, 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] [2022-04-08 05:30:17,447 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-08 05:30:17,629 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:30:17,630 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:30:17,630 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:30:17,630 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 3 times [2022-04-08 05:30:17,630 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:17,630 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1825283683] [2022-04-08 05:30:17,630 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:30:17,630 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 4 times [2022-04-08 05:30:17,631 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:30:17,631 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2078897898] [2022-04-08 05:30:17,631 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:30:17,631 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:30:17,651 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:30:17,651 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1618998542] [2022-04-08 05:30:17,651 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:30:17,651 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:30:17,651 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:30:17,652 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-08 05:30:17,653 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-08 05:30:17,688 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:30:17,688 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:30:17,689 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-08 05:30:17,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:17,699 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:30:18,153 INFO L272 TraceCheckUtils]: 0: Hoare triple {5156#true} call ULTIMATE.init(); {5156#true} is VALID [2022-04-08 05:30:18,154 INFO L290 TraceCheckUtils]: 1: Hoare triple {5156#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5156#true} is VALID [2022-04-08 05:30:18,154 INFO L290 TraceCheckUtils]: 2: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:30:18,154 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5156#true} {5156#true} #82#return; {5156#true} is VALID [2022-04-08 05:30:18,154 INFO L272 TraceCheckUtils]: 4: Hoare triple {5156#true} call #t~ret7 := main(); {5156#true} is VALID [2022-04-08 05:30:18,154 INFO L290 TraceCheckUtils]: 5: Hoare triple {5156#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {5156#true} is VALID [2022-04-08 05:30:18,154 INFO L272 TraceCheckUtils]: 6: Hoare triple {5156#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:30:18,154 INFO L290 TraceCheckUtils]: 7: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:30:18,154 INFO L290 TraceCheckUtils]: 8: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:30:18,154 INFO L290 TraceCheckUtils]: 9: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:30:18,154 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5156#true} {5156#true} #64#return; {5156#true} is VALID [2022-04-08 05:30:18,154 INFO L272 TraceCheckUtils]: 11: Hoare triple {5156#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:30:18,155 INFO L290 TraceCheckUtils]: 12: Hoare triple {5156#true} ~cond := #in~cond; {5197#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:30:18,155 INFO L290 TraceCheckUtils]: 13: Hoare triple {5197#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5201#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:30:18,156 INFO L290 TraceCheckUtils]: 14: Hoare triple {5201#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5201#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:30:18,156 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5201#(not (= |assume_abort_if_not_#in~cond| 0))} {5156#true} #66#return; {5208#(<= 1 main_~y~0)} is VALID [2022-04-08 05:30:18,157 INFO L290 TraceCheckUtils]: 16: Hoare triple {5208#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:18,157 INFO L290 TraceCheckUtils]: 17: Hoare triple {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:18,157 INFO L290 TraceCheckUtils]: 18: Hoare triple {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:18,157 INFO L272 TraceCheckUtils]: 19: Hoare triple {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:30:18,158 INFO L290 TraceCheckUtils]: 20: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:30:18,158 INFO L290 TraceCheckUtils]: 21: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:30:18,158 INFO L290 TraceCheckUtils]: 22: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:30:18,158 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5156#true} {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #68#return; {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:18,159 INFO L272 TraceCheckUtils]: 24: Hoare triple {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:30:18,159 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#true} ~cond := #in~cond; {5240#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:18,159 INFO L290 TraceCheckUtils]: 26: Hoare triple {5240#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:30:18,160 INFO L290 TraceCheckUtils]: 27: Hoare triple {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:30:18,160 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #70#return; {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:18,161 INFO L272 TraceCheckUtils]: 29: Hoare triple {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:30:18,161 INFO L290 TraceCheckUtils]: 30: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:30:18,161 INFO L290 TraceCheckUtils]: 31: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:30:18,161 INFO L290 TraceCheckUtils]: 32: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:30:18,161 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5156#true} {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} #72#return; {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:18,162 INFO L290 TraceCheckUtils]: 34: Hoare triple {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:30:18,163 INFO L290 TraceCheckUtils]: 35: Hoare triple {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:30:18,163 INFO L290 TraceCheckUtils]: 36: Hoare triple {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:30:18,164 INFO L290 TraceCheckUtils]: 37: Hoare triple {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} assume !!(#t~post6 < 5);havoc #t~post6; {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:30:18,164 INFO L272 TraceCheckUtils]: 38: Hoare triple {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:30:18,164 INFO L290 TraceCheckUtils]: 39: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:30:18,164 INFO L290 TraceCheckUtils]: 40: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:30:18,164 INFO L290 TraceCheckUtils]: 41: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:30:18,165 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5156#true} {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} #68#return; {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:30:18,165 INFO L272 TraceCheckUtils]: 43: Hoare triple {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5298#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:30:18,166 INFO L290 TraceCheckUtils]: 44: Hoare triple {5298#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5302#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:18,166 INFO L290 TraceCheckUtils]: 45: Hoare triple {5302#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5157#false} is VALID [2022-04-08 05:30:18,166 INFO L290 TraceCheckUtils]: 46: Hoare triple {5157#false} assume !false; {5157#false} is VALID [2022-04-08 05:30:18,166 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 13 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 05:30:18,166 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:30:33,513 INFO L290 TraceCheckUtils]: 46: Hoare triple {5157#false} assume !false; {5157#false} is VALID [2022-04-08 05:30:33,513 INFO L290 TraceCheckUtils]: 45: Hoare triple {5302#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5157#false} is VALID [2022-04-08 05:30:33,514 INFO L290 TraceCheckUtils]: 44: Hoare triple {5298#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5302#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:33,514 INFO L272 TraceCheckUtils]: 43: Hoare triple {5318#(= 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)); {5298#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:30:33,515 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5156#true} {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:30:33,515 INFO L290 TraceCheckUtils]: 41: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:30:33,515 INFO L290 TraceCheckUtils]: 40: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:30:33,515 INFO L290 TraceCheckUtils]: 39: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:30:33,515 INFO L272 TraceCheckUtils]: 38: Hoare triple {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:30:33,516 INFO L290 TraceCheckUtils]: 37: Hoare triple {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:30:33,516 INFO L290 TraceCheckUtils]: 36: Hoare triple {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:30:35,518 WARN L290 TraceCheckUtils]: 35: Hoare triple {5343#(= (+ 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)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is UNKNOWN [2022-04-08 05:30:35,518 INFO L290 TraceCheckUtils]: 34: Hoare triple {5343#(= (+ 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)))))} assume !!(~a~0 != ~b~0); {5343#(= (+ 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)))))} is VALID [2022-04-08 05:30:35,519 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5156#true} {5343#(= (+ 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)))))} #72#return; {5343#(= (+ 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)))))} is VALID [2022-04-08 05:30:35,519 INFO L290 TraceCheckUtils]: 32: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:30:35,519 INFO L290 TraceCheckUtils]: 31: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:30:35,519 INFO L290 TraceCheckUtils]: 30: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:30:35,520 INFO L272 TraceCheckUtils]: 29: Hoare triple {5343#(= (+ 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)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:30:35,521 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} {5365#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {5343#(= (+ 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)))))} is VALID [2022-04-08 05:30:35,521 INFO L290 TraceCheckUtils]: 27: Hoare triple {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:30:35,521 INFO L290 TraceCheckUtils]: 26: Hoare triple {5375#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:30:35,522 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#true} ~cond := #in~cond; {5375#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:30:35,522 INFO L272 TraceCheckUtils]: 24: Hoare triple {5365#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:30:35,522 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5156#true} {5365#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {5365#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:30:35,522 INFO L290 TraceCheckUtils]: 22: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:30:35,522 INFO L290 TraceCheckUtils]: 21: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:30:35,523 INFO L290 TraceCheckUtils]: 20: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:30:35,523 INFO L272 TraceCheckUtils]: 19: Hoare triple {5365#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:30:35,524 INFO L290 TraceCheckUtils]: 18: Hoare triple {5365#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 5);havoc #t~post6; {5365#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:30:35,525 INFO L290 TraceCheckUtils]: 17: Hoare triple {5365#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5365#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:30:35,525 INFO L290 TraceCheckUtils]: 16: Hoare triple {5156#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5365#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:30:35,525 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5156#true} {5156#true} #66#return; {5156#true} is VALID [2022-04-08 05:30:35,525 INFO L290 TraceCheckUtils]: 14: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:30:35,525 INFO L290 TraceCheckUtils]: 13: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:30:35,526 INFO L290 TraceCheckUtils]: 12: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:30:35,526 INFO L272 TraceCheckUtils]: 11: Hoare triple {5156#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:30:35,526 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5156#true} {5156#true} #64#return; {5156#true} is VALID [2022-04-08 05:30:35,526 INFO L290 TraceCheckUtils]: 9: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:30:35,526 INFO L290 TraceCheckUtils]: 8: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-08 05:30:35,526 INFO L290 TraceCheckUtils]: 7: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-08 05:30:35,526 INFO L272 TraceCheckUtils]: 6: Hoare triple {5156#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-08 05:30:35,526 INFO L290 TraceCheckUtils]: 5: Hoare triple {5156#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {5156#true} is VALID [2022-04-08 05:30:35,526 INFO L272 TraceCheckUtils]: 4: Hoare triple {5156#true} call #t~ret7 := main(); {5156#true} is VALID [2022-04-08 05:30:35,526 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5156#true} {5156#true} #82#return; {5156#true} is VALID [2022-04-08 05:30:35,526 INFO L290 TraceCheckUtils]: 2: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-08 05:30:35,526 INFO L290 TraceCheckUtils]: 1: Hoare triple {5156#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5156#true} is VALID [2022-04-08 05:30:35,526 INFO L272 TraceCheckUtils]: 0: Hoare triple {5156#true} call ULTIMATE.init(); {5156#true} is VALID [2022-04-08 05:30:35,527 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-08 05:30:35,527 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:30:35,527 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2078897898] [2022-04-08 05:30:35,527 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:30:35,527 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1618998542] [2022-04-08 05:30:35,527 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1618998542] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:30:35,527 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:30:35,527 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-08 05:30:35,528 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:30:35,528 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1825283683] [2022-04-08 05:30:35,528 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1825283683] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:30:35,528 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:30:35,528 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 05:30:35,528 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [26561308] [2022-04-08 05:30:35,528 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:30:35,528 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 47 [2022-04-08 05:30:35,528 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:30:35,529 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-08 05:30:35,563 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-08 05:30:35,563 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 05:30:35,563 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:35,563 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 05:30:35,563 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=197, Unknown=0, NotChecked=0, Total=240 [2022-04-08 05:30:35,564 INFO L87 Difference]: Start difference. First operand 104 states and 130 transitions. Second operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-08 05:30:36,974 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:36,975 INFO L93 Difference]: Finished difference Result 131 states and 169 transitions. [2022-04-08 05:30:36,975 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 05:30:36,975 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 47 [2022-04-08 05:30:36,975 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:30:36,975 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-08 05:30:36,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 75 transitions. [2022-04-08 05:30:36,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-08 05:30:36,978 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 75 transitions. [2022-04-08 05:30:36,978 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 75 transitions. [2022-04-08 05:30:37,049 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:37,051 INFO L225 Difference]: With dead ends: 131 [2022-04-08 05:30:37,051 INFO L226 Difference]: Without dead ends: 129 [2022-04-08 05:30:37,052 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 78 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=60, Invalid=282, Unknown=0, NotChecked=0, Total=342 [2022-04-08 05:30:37,052 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 34 mSDsluCounter, 137 mSDsCounter, 0 mSdLazyCounter, 350 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 367 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 350 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 05:30:37,052 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [46 Valid, 170 Invalid, 367 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 350 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 05:30:37,053 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-08 05:30:37,145 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 124. [2022-04-08 05:30:37,146 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:30:37,146 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 05:30:37,147 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 05:30:37,147 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 05:30:37,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:37,150 INFO L93 Difference]: Finished difference Result 129 states and 167 transitions. [2022-04-08 05:30:37,151 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 167 transitions. [2022-04-08 05:30:37,151 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:37,151 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:37,151 INFO L74 IsIncluded]: Start isIncluded. First operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) Second operand 129 states. [2022-04-08 05:30:37,152 INFO L87 Difference]: Start difference. First operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) Second operand 129 states. [2022-04-08 05:30:37,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:30:37,156 INFO L93 Difference]: Finished difference Result 129 states and 167 transitions. [2022-04-08 05:30:37,156 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 167 transitions. [2022-04-08 05:30:37,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:30:37,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:30:37,156 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:30:37,156 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:30:37,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 05:30:37,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 158 transitions. [2022-04-08 05:30:37,160 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 158 transitions. Word has length 47 [2022-04-08 05:30:37,160 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:30:37,160 INFO L478 AbstractCegarLoop]: Abstraction has 124 states and 158 transitions. [2022-04-08 05:30:37,160 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-08 05:30:37,160 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 124 states and 158 transitions. [2022-04-08 05:30:37,333 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:30:37,334 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 158 transitions. [2022-04-08 05:30:37,334 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-08 05:30:37,334 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:30:37,334 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 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] [2022-04-08 05:30:37,353 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-08 05:30:37,535 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-08 05:30:37,536 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:30:37,536 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:30:37,536 INFO L85 PathProgramCache]: Analyzing trace with hash -1475439812, now seen corresponding path program 1 times [2022-04-08 05:30:37,536 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:30:37,536 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1328967766] [2022-04-08 05:30:37,537 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:30:37,537 INFO L85 PathProgramCache]: Analyzing trace with hash -1475439812, now seen corresponding path program 2 times [2022-04-08 05:30:37,537 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:30:37,537 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [770413978] [2022-04-08 05:30:37,537 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:30:37,537 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:30:37,546 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:30:37,546 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [968733532] [2022-04-08 05:30:37,547 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:30:37,547 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:30:37,547 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:30:37,548 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-08 05:30:37,548 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-08 05:30:37,588 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:30:37,588 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:30:37,589 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-08 05:30:37,600 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:30:37,601 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:30:37,996 INFO L272 TraceCheckUtils]: 0: Hoare triple {6227#true} call ULTIMATE.init(); {6227#true} is VALID [2022-04-08 05:30:37,997 INFO L290 TraceCheckUtils]: 1: Hoare triple {6227#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6227#true} is VALID [2022-04-08 05:30:37,997 INFO L290 TraceCheckUtils]: 2: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-08 05:30:37,997 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6227#true} {6227#true} #82#return; {6227#true} is VALID [2022-04-08 05:30:37,997 INFO L272 TraceCheckUtils]: 4: Hoare triple {6227#true} call #t~ret7 := main(); {6227#true} is VALID [2022-04-08 05:30:37,997 INFO L290 TraceCheckUtils]: 5: Hoare triple {6227#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {6227#true} is VALID [2022-04-08 05:30:37,997 INFO L272 TraceCheckUtils]: 6: Hoare triple {6227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6227#true} is VALID [2022-04-08 05:30:37,997 INFO L290 TraceCheckUtils]: 7: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-08 05:30:37,997 INFO L290 TraceCheckUtils]: 8: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-08 05:30:37,997 INFO L290 TraceCheckUtils]: 9: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-08 05:30:37,997 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6227#true} {6227#true} #64#return; {6227#true} is VALID [2022-04-08 05:30:37,998 INFO L272 TraceCheckUtils]: 11: Hoare triple {6227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6227#true} is VALID [2022-04-08 05:30:37,998 INFO L290 TraceCheckUtils]: 12: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-08 05:30:37,998 INFO L290 TraceCheckUtils]: 13: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-08 05:30:37,998 INFO L290 TraceCheckUtils]: 14: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-08 05:30:37,998 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6227#true} {6227#true} #66#return; {6227#true} is VALID [2022-04-08 05:30:37,998 INFO L290 TraceCheckUtils]: 16: Hoare triple {6227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6280#(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-08 05:30:37,999 INFO L290 TraceCheckUtils]: 17: Hoare triple {6280#(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; {6280#(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-08 05:30:37,999 INFO L290 TraceCheckUtils]: 18: Hoare triple {6280#(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 < 5);havoc #t~post6; {6280#(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-08 05:30:37,999 INFO L272 TraceCheckUtils]: 19: Hoare triple {6280#(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 __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6227#true} is VALID [2022-04-08 05:30:37,999 INFO L290 TraceCheckUtils]: 20: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-08 05:30:37,999 INFO L290 TraceCheckUtils]: 21: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-08 05:30:37,999 INFO L290 TraceCheckUtils]: 22: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-08 05:30:38,000 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6227#true} {6280#(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))} #68#return; {6280#(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-08 05:30:38,000 INFO L272 TraceCheckUtils]: 24: Hoare triple {6280#(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 __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6227#true} is VALID [2022-04-08 05:30:38,000 INFO L290 TraceCheckUtils]: 25: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-08 05:30:38,000 INFO L290 TraceCheckUtils]: 26: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-08 05:30:38,000 INFO L290 TraceCheckUtils]: 27: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-08 05:30:38,001 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6227#true} {6280#(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))} #70#return; {6280#(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-08 05:30:38,001 INFO L272 TraceCheckUtils]: 29: Hoare triple {6280#(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 __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6227#true} is VALID [2022-04-08 05:30:38,001 INFO L290 TraceCheckUtils]: 30: Hoare triple {6227#true} ~cond := #in~cond; {6323#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:38,002 INFO L290 TraceCheckUtils]: 31: Hoare triple {6323#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:30:38,002 INFO L290 TraceCheckUtils]: 32: Hoare triple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:30:38,002 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} {6280#(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))} #72#return; {6280#(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-08 05:30:38,003 INFO L290 TraceCheckUtils]: 34: Hoare triple {6280#(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 !!(~a~0 != ~b~0); {6280#(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-08 05:30:38,003 INFO L290 TraceCheckUtils]: 35: Hoare triple {6280#(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 !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:30:38,004 INFO L290 TraceCheckUtils]: 36: Hoare triple {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:30:38,004 INFO L290 TraceCheckUtils]: 37: Hoare triple {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:30:38,004 INFO L272 TraceCheckUtils]: 38: Hoare triple {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6227#true} is VALID [2022-04-08 05:30:38,004 INFO L290 TraceCheckUtils]: 39: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-08 05:30:38,005 INFO L290 TraceCheckUtils]: 40: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-08 05:30:38,005 INFO L290 TraceCheckUtils]: 41: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-08 05:30:38,005 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6227#true} {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #68#return; {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 05:30:38,005 INFO L272 TraceCheckUtils]: 43: Hoare triple {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6227#true} is VALID [2022-04-08 05:30:38,006 INFO L290 TraceCheckUtils]: 44: Hoare triple {6227#true} ~cond := #in~cond; {6323#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:38,006 INFO L290 TraceCheckUtils]: 45: Hoare triple {6323#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:30:38,006 INFO L290 TraceCheckUtils]: 46: Hoare triple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:30:38,007 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #70#return; {6377#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ main_~q~0 1) 0))} is VALID [2022-04-08 05:30:38,008 INFO L272 TraceCheckUtils]: 48: Hoare triple {6377#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ main_~q~0 1) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6381#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:30:38,008 INFO L290 TraceCheckUtils]: 49: Hoare triple {6381#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6385#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:30:38,008 INFO L290 TraceCheckUtils]: 50: Hoare triple {6385#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6228#false} is VALID [2022-04-08 05:30:38,008 INFO L290 TraceCheckUtils]: 51: Hoare triple {6228#false} assume !false; {6228#false} is VALID [2022-04-08 05:30:38,009 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 23 proven. 10 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-08 05:30:38,009 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:31:30,152 INFO L290 TraceCheckUtils]: 51: Hoare triple {6228#false} assume !false; {6228#false} is VALID [2022-04-08 05:31:30,153 INFO L290 TraceCheckUtils]: 50: Hoare triple {6385#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6228#false} is VALID [2022-04-08 05:31:30,153 INFO L290 TraceCheckUtils]: 49: Hoare triple {6381#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6385#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:31:30,154 INFO L272 TraceCheckUtils]: 48: Hoare triple {6401#(= 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)); {6381#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:31:30,155 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {6401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:31:30,155 INFO L290 TraceCheckUtils]: 46: Hoare triple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:31:30,155 INFO L290 TraceCheckUtils]: 45: Hoare triple {6415#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:31:30,156 INFO L290 TraceCheckUtils]: 44: Hoare triple {6227#true} ~cond := #in~cond; {6415#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:31:30,156 INFO L272 TraceCheckUtils]: 43: Hoare triple {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6227#true} is VALID [2022-04-08 05:31:30,156 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6227#true} {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:31:30,156 INFO L290 TraceCheckUtils]: 41: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-08 05:31:30,157 INFO L290 TraceCheckUtils]: 40: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-08 05:31:30,157 INFO L290 TraceCheckUtils]: 39: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-08 05:31:30,157 INFO L272 TraceCheckUtils]: 38: Hoare triple {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6227#true} is VALID [2022-04-08 05:31:30,157 INFO L290 TraceCheckUtils]: 37: Hoare triple {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 5);havoc #t~post6; {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:31:30,158 INFO L290 TraceCheckUtils]: 36: Hoare triple {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:31:32,159 WARN L290 TraceCheckUtils]: 35: Hoare triple {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is UNKNOWN [2022-04-08 05:31:32,160 INFO L290 TraceCheckUtils]: 34: Hoare triple {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(~a~0 != ~b~0); {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:31:32,161 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} {6227#true} #72#return; {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:31:32,161 INFO L290 TraceCheckUtils]: 32: Hoare triple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:31:32,162 INFO L290 TraceCheckUtils]: 31: Hoare triple {6415#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:31:32,162 INFO L290 TraceCheckUtils]: 30: Hoare triple {6227#true} ~cond := #in~cond; {6415#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:31:32,162 INFO L272 TraceCheckUtils]: 29: Hoare triple {6227#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6227#true} is VALID [2022-04-08 05:31:32,162 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6227#true} {6227#true} #70#return; {6227#true} is VALID [2022-04-08 05:31:32,162 INFO L290 TraceCheckUtils]: 27: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-08 05:31:32,162 INFO L290 TraceCheckUtils]: 26: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-08 05:31:32,162 INFO L290 TraceCheckUtils]: 25: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-08 05:31:32,162 INFO L272 TraceCheckUtils]: 24: Hoare triple {6227#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6227#true} is VALID [2022-04-08 05:31:32,163 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6227#true} {6227#true} #68#return; {6227#true} is VALID [2022-04-08 05:31:32,163 INFO L290 TraceCheckUtils]: 22: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-08 05:31:32,163 INFO L290 TraceCheckUtils]: 21: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-08 05:31:32,163 INFO L290 TraceCheckUtils]: 20: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-08 05:31:32,163 INFO L272 TraceCheckUtils]: 19: Hoare triple {6227#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6227#true} is VALID [2022-04-08 05:31:32,163 INFO L290 TraceCheckUtils]: 18: Hoare triple {6227#true} assume !!(#t~post6 < 5);havoc #t~post6; {6227#true} is VALID [2022-04-08 05:31:32,163 INFO L290 TraceCheckUtils]: 17: Hoare triple {6227#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6227#true} is VALID [2022-04-08 05:31:32,163 INFO L290 TraceCheckUtils]: 16: Hoare triple {6227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6227#true} is VALID [2022-04-08 05:31:32,163 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6227#true} {6227#true} #66#return; {6227#true} is VALID [2022-04-08 05:31:32,163 INFO L290 TraceCheckUtils]: 14: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-08 05:31:32,163 INFO L290 TraceCheckUtils]: 13: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-08 05:31:32,163 INFO L290 TraceCheckUtils]: 12: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-08 05:31:32,163 INFO L272 TraceCheckUtils]: 11: Hoare triple {6227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6227#true} is VALID [2022-04-08 05:31:32,163 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6227#true} {6227#true} #64#return; {6227#true} is VALID [2022-04-08 05:31:32,164 INFO L290 TraceCheckUtils]: 9: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-08 05:31:32,164 INFO L290 TraceCheckUtils]: 8: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-08 05:31:32,164 INFO L290 TraceCheckUtils]: 7: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-08 05:31:32,164 INFO L272 TraceCheckUtils]: 6: Hoare triple {6227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6227#true} is VALID [2022-04-08 05:31:32,164 INFO L290 TraceCheckUtils]: 5: Hoare triple {6227#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {6227#true} is VALID [2022-04-08 05:31:32,164 INFO L272 TraceCheckUtils]: 4: Hoare triple {6227#true} call #t~ret7 := main(); {6227#true} is VALID [2022-04-08 05:31:32,164 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6227#true} {6227#true} #82#return; {6227#true} is VALID [2022-04-08 05:31:32,164 INFO L290 TraceCheckUtils]: 2: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-08 05:31:32,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {6227#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6227#true} is VALID [2022-04-08 05:31:32,164 INFO L272 TraceCheckUtils]: 0: Hoare triple {6227#true} call ULTIMATE.init(); {6227#true} is VALID [2022-04-08 05:31:32,164 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 28 proven. 5 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-08 05:31:32,165 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:31:32,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [770413978] [2022-04-08 05:31:32,165 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:31:32,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [968733532] [2022-04-08 05:31:32,165 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [968733532] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:31:32,166 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:31:32,166 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-08 05:31:32,166 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:31:32,166 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1328967766] [2022-04-08 05:31:32,166 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1328967766] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:31:32,167 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:31:32,167 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:31:32,167 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [580822261] [2022-04-08 05:31:32,167 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:31:32,167 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 52 [2022-04-08 05:31:32,167 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:31:32,167 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 05:31:32,205 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:31:32,205 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:31:32,205 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:31:32,205 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:31:32,205 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=99, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:31:32,206 INFO L87 Difference]: Start difference. First operand 124 states and 158 transitions. Second operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 05:31:33,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:31:33,194 INFO L93 Difference]: Finished difference Result 160 states and 210 transitions. [2022-04-08 05:31:33,195 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:31:33,195 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 52 [2022-04-08 05:31:33,195 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:31:33,195 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 05:31:33,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-04-08 05:31:33,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 05:31:33,197 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-04-08 05:31:33,197 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 94 transitions. [2022-04-08 05:31:33,291 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:31:33,293 INFO L225 Difference]: With dead ends: 160 [2022-04-08 05:31:33,293 INFO L226 Difference]: Without dead ends: 153 [2022-04-08 05:31:33,294 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 91 SyntacticMatches, 2 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=46, Invalid=136, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:31:33,294 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 24 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 231 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 256 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 231 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 05:31:33,294 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 132 Invalid, 256 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 231 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 05:31:33,295 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 153 states. [2022-04-08 05:31:33,401 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 153 to 153. [2022-04-08 05:31:33,401 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:31:33,402 INFO L82 GeneralOperation]: Start isEquivalent. First operand 153 states. Second operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 05:31:33,402 INFO L74 IsIncluded]: Start isIncluded. First operand 153 states. Second operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 05:31:33,402 INFO L87 Difference]: Start difference. First operand 153 states. Second operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 05:31:33,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:31:33,406 INFO L93 Difference]: Finished difference Result 153 states and 198 transitions. [2022-04-08 05:31:33,406 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-08 05:31:33,406 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:31:33,406 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:31:33,407 INFO L74 IsIncluded]: Start isIncluded. First operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 153 states. [2022-04-08 05:31:33,407 INFO L87 Difference]: Start difference. First operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 153 states. [2022-04-08 05:31:33,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:31:33,410 INFO L93 Difference]: Finished difference Result 153 states and 198 transitions. [2022-04-08 05:31:33,410 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-08 05:31:33,411 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:31:33,411 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:31:33,411 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:31:33,411 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:31:33,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 05:31:33,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 198 transitions. [2022-04-08 05:31:33,414 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 198 transitions. Word has length 52 [2022-04-08 05:31:33,415 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:31:33,415 INFO L478 AbstractCegarLoop]: Abstraction has 153 states and 198 transitions. [2022-04-08 05:31:33,415 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 05:31:33,415 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 153 states and 198 transitions. [2022-04-08 05:31:33,630 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-08 05:31:33,630 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-08 05:31:33,631 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-08 05:31:33,631 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:31:33,631 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 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] [2022-04-08 05:31:33,649 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-08 05:31:33,839 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:31:33,839 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:31:33,840 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:31:33,840 INFO L85 PathProgramCache]: Analyzing trace with hash 220857665, now seen corresponding path program 3 times [2022-04-08 05:31:33,840 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:31:33,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [267469351] [2022-04-08 05:31:33,840 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:31:33,840 INFO L85 PathProgramCache]: Analyzing trace with hash 220857665, now seen corresponding path program 4 times [2022-04-08 05:31:33,840 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:31:33,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1663353940] [2022-04-08 05:31:33,841 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:31:33,841 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:31:33,852 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:31:33,852 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1570995821] [2022-04-08 05:31:33,852 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:31:33,852 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:31:33,853 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:31:33,853 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-08 05:31:33,856 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-08 05:31:33,896 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:31:33,896 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:31:33,897 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 05:31:33,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:31:33,907 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:31:34,124 INFO L272 TraceCheckUtils]: 0: Hoare triple {7486#true} call ULTIMATE.init(); {7486#true} is VALID [2022-04-08 05:31:34,125 INFO L290 TraceCheckUtils]: 1: Hoare triple {7486#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7494#(<= ~counter~0 0)} is VALID [2022-04-08 05:31:34,125 INFO L290 TraceCheckUtils]: 2: Hoare triple {7494#(<= ~counter~0 0)} assume true; {7494#(<= ~counter~0 0)} is VALID [2022-04-08 05:31:34,125 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7494#(<= ~counter~0 0)} {7486#true} #82#return; {7494#(<= ~counter~0 0)} is VALID [2022-04-08 05:31:34,126 INFO L272 TraceCheckUtils]: 4: Hoare triple {7494#(<= ~counter~0 0)} call #t~ret7 := main(); {7494#(<= ~counter~0 0)} is VALID [2022-04-08 05:31:34,126 INFO L290 TraceCheckUtils]: 5: Hoare triple {7494#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {7494#(<= ~counter~0 0)} is VALID [2022-04-08 05:31:34,126 INFO L272 TraceCheckUtils]: 6: Hoare triple {7494#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7494#(<= ~counter~0 0)} is VALID [2022-04-08 05:31:34,127 INFO L290 TraceCheckUtils]: 7: Hoare triple {7494#(<= ~counter~0 0)} ~cond := #in~cond; {7494#(<= ~counter~0 0)} is VALID [2022-04-08 05:31:34,127 INFO L290 TraceCheckUtils]: 8: Hoare triple {7494#(<= ~counter~0 0)} assume !(0 == ~cond); {7494#(<= ~counter~0 0)} is VALID [2022-04-08 05:31:34,127 INFO L290 TraceCheckUtils]: 9: Hoare triple {7494#(<= ~counter~0 0)} assume true; {7494#(<= ~counter~0 0)} is VALID [2022-04-08 05:31:34,128 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7494#(<= ~counter~0 0)} {7494#(<= ~counter~0 0)} #64#return; {7494#(<= ~counter~0 0)} is VALID [2022-04-08 05:31:34,128 INFO L272 TraceCheckUtils]: 11: Hoare triple {7494#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7494#(<= ~counter~0 0)} is VALID [2022-04-08 05:31:34,128 INFO L290 TraceCheckUtils]: 12: Hoare triple {7494#(<= ~counter~0 0)} ~cond := #in~cond; {7494#(<= ~counter~0 0)} is VALID [2022-04-08 05:31:34,128 INFO L290 TraceCheckUtils]: 13: Hoare triple {7494#(<= ~counter~0 0)} assume !(0 == ~cond); {7494#(<= ~counter~0 0)} is VALID [2022-04-08 05:31:34,129 INFO L290 TraceCheckUtils]: 14: Hoare triple {7494#(<= ~counter~0 0)} assume true; {7494#(<= ~counter~0 0)} is VALID [2022-04-08 05:31:34,129 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7494#(<= ~counter~0 0)} {7494#(<= ~counter~0 0)} #66#return; {7494#(<= ~counter~0 0)} is VALID [2022-04-08 05:31:34,129 INFO L290 TraceCheckUtils]: 16: Hoare triple {7494#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7494#(<= ~counter~0 0)} is VALID [2022-04-08 05:31:34,130 INFO L290 TraceCheckUtils]: 17: Hoare triple {7494#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7543#(<= ~counter~0 1)} is VALID [2022-04-08 05:31:34,130 INFO L290 TraceCheckUtils]: 18: Hoare triple {7543#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {7543#(<= ~counter~0 1)} is VALID [2022-04-08 05:31:34,131 INFO L272 TraceCheckUtils]: 19: Hoare triple {7543#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7543#(<= ~counter~0 1)} is VALID [2022-04-08 05:31:34,131 INFO L290 TraceCheckUtils]: 20: Hoare triple {7543#(<= ~counter~0 1)} ~cond := #in~cond; {7543#(<= ~counter~0 1)} is VALID [2022-04-08 05:31:34,131 INFO L290 TraceCheckUtils]: 21: Hoare triple {7543#(<= ~counter~0 1)} assume !(0 == ~cond); {7543#(<= ~counter~0 1)} is VALID [2022-04-08 05:31:34,131 INFO L290 TraceCheckUtils]: 22: Hoare triple {7543#(<= ~counter~0 1)} assume true; {7543#(<= ~counter~0 1)} is VALID [2022-04-08 05:31:34,132 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7543#(<= ~counter~0 1)} {7543#(<= ~counter~0 1)} #68#return; {7543#(<= ~counter~0 1)} is VALID [2022-04-08 05:31:34,132 INFO L272 TraceCheckUtils]: 24: Hoare triple {7543#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7543#(<= ~counter~0 1)} is VALID [2022-04-08 05:31:34,132 INFO L290 TraceCheckUtils]: 25: Hoare triple {7543#(<= ~counter~0 1)} ~cond := #in~cond; {7543#(<= ~counter~0 1)} is VALID [2022-04-08 05:31:34,133 INFO L290 TraceCheckUtils]: 26: Hoare triple {7543#(<= ~counter~0 1)} assume !(0 == ~cond); {7543#(<= ~counter~0 1)} is VALID [2022-04-08 05:31:34,133 INFO L290 TraceCheckUtils]: 27: Hoare triple {7543#(<= ~counter~0 1)} assume true; {7543#(<= ~counter~0 1)} is VALID [2022-04-08 05:31:34,133 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7543#(<= ~counter~0 1)} {7543#(<= ~counter~0 1)} #70#return; {7543#(<= ~counter~0 1)} is VALID [2022-04-08 05:31:34,134 INFO L272 TraceCheckUtils]: 29: Hoare triple {7543#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7543#(<= ~counter~0 1)} is VALID [2022-04-08 05:31:34,134 INFO L290 TraceCheckUtils]: 30: Hoare triple {7543#(<= ~counter~0 1)} ~cond := #in~cond; {7543#(<= ~counter~0 1)} is VALID [2022-04-08 05:31:34,134 INFO L290 TraceCheckUtils]: 31: Hoare triple {7543#(<= ~counter~0 1)} assume !(0 == ~cond); {7543#(<= ~counter~0 1)} is VALID [2022-04-08 05:31:34,134 INFO L290 TraceCheckUtils]: 32: Hoare triple {7543#(<= ~counter~0 1)} assume true; {7543#(<= ~counter~0 1)} is VALID [2022-04-08 05:31:34,135 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7543#(<= ~counter~0 1)} {7543#(<= ~counter~0 1)} #72#return; {7543#(<= ~counter~0 1)} is VALID [2022-04-08 05:31:34,135 INFO L290 TraceCheckUtils]: 34: Hoare triple {7543#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {7543#(<= ~counter~0 1)} is VALID [2022-04-08 05:31:34,135 INFO L290 TraceCheckUtils]: 35: Hoare triple {7543#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7543#(<= ~counter~0 1)} is VALID [2022-04-08 05:31:34,136 INFO L290 TraceCheckUtils]: 36: Hoare triple {7543#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,136 INFO L290 TraceCheckUtils]: 37: Hoare triple {7601#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,137 INFO L272 TraceCheckUtils]: 38: Hoare triple {7601#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,137 INFO L290 TraceCheckUtils]: 39: Hoare triple {7601#(<= ~counter~0 2)} ~cond := #in~cond; {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,137 INFO L290 TraceCheckUtils]: 40: Hoare triple {7601#(<= ~counter~0 2)} assume !(0 == ~cond); {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,137 INFO L290 TraceCheckUtils]: 41: Hoare triple {7601#(<= ~counter~0 2)} assume true; {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,138 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7601#(<= ~counter~0 2)} {7601#(<= ~counter~0 2)} #68#return; {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,138 INFO L272 TraceCheckUtils]: 43: Hoare triple {7601#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,139 INFO L290 TraceCheckUtils]: 44: Hoare triple {7601#(<= ~counter~0 2)} ~cond := #in~cond; {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,139 INFO L290 TraceCheckUtils]: 45: Hoare triple {7601#(<= ~counter~0 2)} assume !(0 == ~cond); {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,140 INFO L290 TraceCheckUtils]: 46: Hoare triple {7601#(<= ~counter~0 2)} assume true; {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,140 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7601#(<= ~counter~0 2)} {7601#(<= ~counter~0 2)} #70#return; {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,141 INFO L272 TraceCheckUtils]: 48: Hoare triple {7601#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,141 INFO L290 TraceCheckUtils]: 49: Hoare triple {7601#(<= ~counter~0 2)} ~cond := #in~cond; {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,141 INFO L290 TraceCheckUtils]: 50: Hoare triple {7601#(<= ~counter~0 2)} assume !(0 == ~cond); {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,141 INFO L290 TraceCheckUtils]: 51: Hoare triple {7601#(<= ~counter~0 2)} assume true; {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,142 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7601#(<= ~counter~0 2)} {7601#(<= ~counter~0 2)} #72#return; {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,142 INFO L290 TraceCheckUtils]: 53: Hoare triple {7601#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,142 INFO L290 TraceCheckUtils]: 54: Hoare triple {7601#(<= ~counter~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,143 INFO L290 TraceCheckUtils]: 55: Hoare triple {7601#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7659#(<= |main_#t~post6| 2)} is VALID [2022-04-08 05:31:34,143 INFO L290 TraceCheckUtils]: 56: Hoare triple {7659#(<= |main_#t~post6| 2)} assume !(#t~post6 < 5);havoc #t~post6; {7487#false} is VALID [2022-04-08 05:31:34,143 INFO L272 TraceCheckUtils]: 57: Hoare triple {7487#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {7487#false} is VALID [2022-04-08 05:31:34,143 INFO L290 TraceCheckUtils]: 58: Hoare triple {7487#false} ~cond := #in~cond; {7487#false} is VALID [2022-04-08 05:31:34,143 INFO L290 TraceCheckUtils]: 59: Hoare triple {7487#false} assume 0 == ~cond; {7487#false} is VALID [2022-04-08 05:31:34,143 INFO L290 TraceCheckUtils]: 60: Hoare triple {7487#false} assume !false; {7487#false} is VALID [2022-04-08 05:31:34,143 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 12 proven. 47 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-08 05:31:34,144 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:31:34,396 INFO L290 TraceCheckUtils]: 60: Hoare triple {7487#false} assume !false; {7487#false} is VALID [2022-04-08 05:31:34,396 INFO L290 TraceCheckUtils]: 59: Hoare triple {7487#false} assume 0 == ~cond; {7487#false} is VALID [2022-04-08 05:31:34,396 INFO L290 TraceCheckUtils]: 58: Hoare triple {7487#false} ~cond := #in~cond; {7487#false} is VALID [2022-04-08 05:31:34,397 INFO L272 TraceCheckUtils]: 57: Hoare triple {7487#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {7487#false} is VALID [2022-04-08 05:31:34,397 INFO L290 TraceCheckUtils]: 56: Hoare triple {7687#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {7487#false} is VALID [2022-04-08 05:31:34,397 INFO L290 TraceCheckUtils]: 55: Hoare triple {7691#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7687#(< |main_#t~post6| 5)} is VALID [2022-04-08 05:31:34,398 INFO L290 TraceCheckUtils]: 54: Hoare triple {7691#(< ~counter~0 5)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7691#(< ~counter~0 5)} is VALID [2022-04-08 05:31:34,398 INFO L290 TraceCheckUtils]: 53: Hoare triple {7691#(< ~counter~0 5)} assume !!(~a~0 != ~b~0); {7691#(< ~counter~0 5)} is VALID [2022-04-08 05:31:34,399 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7486#true} {7691#(< ~counter~0 5)} #72#return; {7691#(< ~counter~0 5)} is VALID [2022-04-08 05:31:34,399 INFO L290 TraceCheckUtils]: 51: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-08 05:31:34,399 INFO L290 TraceCheckUtils]: 50: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-08 05:31:34,399 INFO L290 TraceCheckUtils]: 49: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-08 05:31:34,399 INFO L272 TraceCheckUtils]: 48: Hoare triple {7691#(< ~counter~0 5)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7486#true} is VALID [2022-04-08 05:31:34,400 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7486#true} {7691#(< ~counter~0 5)} #70#return; {7691#(< ~counter~0 5)} is VALID [2022-04-08 05:31:34,400 INFO L290 TraceCheckUtils]: 46: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-08 05:31:34,400 INFO L290 TraceCheckUtils]: 45: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-08 05:31:34,400 INFO L290 TraceCheckUtils]: 44: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-08 05:31:34,400 INFO L272 TraceCheckUtils]: 43: Hoare triple {7691#(< ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7486#true} is VALID [2022-04-08 05:31:34,401 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7486#true} {7691#(< ~counter~0 5)} #68#return; {7691#(< ~counter~0 5)} is VALID [2022-04-08 05:31:34,401 INFO L290 TraceCheckUtils]: 41: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-08 05:31:34,401 INFO L290 TraceCheckUtils]: 40: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-08 05:31:34,401 INFO L290 TraceCheckUtils]: 39: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-08 05:31:34,401 INFO L272 TraceCheckUtils]: 38: Hoare triple {7691#(< ~counter~0 5)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7486#true} is VALID [2022-04-08 05:31:34,401 INFO L290 TraceCheckUtils]: 37: Hoare triple {7691#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {7691#(< ~counter~0 5)} is VALID [2022-04-08 05:31:34,402 INFO L290 TraceCheckUtils]: 36: Hoare triple {7749#(< ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7691#(< ~counter~0 5)} is VALID [2022-04-08 05:31:34,402 INFO L290 TraceCheckUtils]: 35: Hoare triple {7749#(< ~counter~0 4)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7749#(< ~counter~0 4)} is VALID [2022-04-08 05:31:34,402 INFO L290 TraceCheckUtils]: 34: Hoare triple {7749#(< ~counter~0 4)} assume !!(~a~0 != ~b~0); {7749#(< ~counter~0 4)} is VALID [2022-04-08 05:31:34,403 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7486#true} {7749#(< ~counter~0 4)} #72#return; {7749#(< ~counter~0 4)} is VALID [2022-04-08 05:31:34,403 INFO L290 TraceCheckUtils]: 32: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-08 05:31:34,403 INFO L290 TraceCheckUtils]: 31: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-08 05:31:34,403 INFO L290 TraceCheckUtils]: 30: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-08 05:31:34,403 INFO L272 TraceCheckUtils]: 29: Hoare triple {7749#(< ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7486#true} is VALID [2022-04-08 05:31:34,404 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7486#true} {7749#(< ~counter~0 4)} #70#return; {7749#(< ~counter~0 4)} is VALID [2022-04-08 05:31:34,404 INFO L290 TraceCheckUtils]: 27: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-08 05:31:34,404 INFO L290 TraceCheckUtils]: 26: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-08 05:31:34,404 INFO L290 TraceCheckUtils]: 25: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-08 05:31:34,404 INFO L272 TraceCheckUtils]: 24: Hoare triple {7749#(< ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7486#true} is VALID [2022-04-08 05:31:34,405 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7486#true} {7749#(< ~counter~0 4)} #68#return; {7749#(< ~counter~0 4)} is VALID [2022-04-08 05:31:34,405 INFO L290 TraceCheckUtils]: 22: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-08 05:31:34,405 INFO L290 TraceCheckUtils]: 21: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-08 05:31:34,405 INFO L290 TraceCheckUtils]: 20: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-08 05:31:34,405 INFO L272 TraceCheckUtils]: 19: Hoare triple {7749#(< ~counter~0 4)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7486#true} is VALID [2022-04-08 05:31:34,405 INFO L290 TraceCheckUtils]: 18: Hoare triple {7749#(< ~counter~0 4)} assume !!(#t~post6 < 5);havoc #t~post6; {7749#(< ~counter~0 4)} is VALID [2022-04-08 05:31:34,406 INFO L290 TraceCheckUtils]: 17: Hoare triple {7601#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7749#(< ~counter~0 4)} is VALID [2022-04-08 05:31:34,406 INFO L290 TraceCheckUtils]: 16: Hoare triple {7601#(<= ~counter~0 2)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,407 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7486#true} {7601#(<= ~counter~0 2)} #66#return; {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,407 INFO L290 TraceCheckUtils]: 14: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-08 05:31:34,407 INFO L290 TraceCheckUtils]: 13: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-08 05:31:34,407 INFO L290 TraceCheckUtils]: 12: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-08 05:31:34,407 INFO L272 TraceCheckUtils]: 11: Hoare triple {7601#(<= ~counter~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7486#true} is VALID [2022-04-08 05:31:34,408 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7486#true} {7601#(<= ~counter~0 2)} #64#return; {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,408 INFO L290 TraceCheckUtils]: 9: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-08 05:31:34,408 INFO L290 TraceCheckUtils]: 8: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-08 05:31:34,408 INFO L290 TraceCheckUtils]: 7: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-08 05:31:34,408 INFO L272 TraceCheckUtils]: 6: Hoare triple {7601#(<= ~counter~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7486#true} is VALID [2022-04-08 05:31:34,408 INFO L290 TraceCheckUtils]: 5: Hoare triple {7601#(<= ~counter~0 2)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,408 INFO L272 TraceCheckUtils]: 4: Hoare triple {7601#(<= ~counter~0 2)} call #t~ret7 := main(); {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,409 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7601#(<= ~counter~0 2)} {7486#true} #82#return; {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,409 INFO L290 TraceCheckUtils]: 2: Hoare triple {7601#(<= ~counter~0 2)} assume true; {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,410 INFO L290 TraceCheckUtils]: 1: Hoare triple {7486#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7601#(<= ~counter~0 2)} is VALID [2022-04-08 05:31:34,410 INFO L272 TraceCheckUtils]: 0: Hoare triple {7486#true} call ULTIMATE.init(); {7486#true} is VALID [2022-04-08 05:31:34,410 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 12 proven. 11 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-08 05:31:34,410 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:31:34,410 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1663353940] [2022-04-08 05:31:34,410 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:31:34,410 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1570995821] [2022-04-08 05:31:34,410 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1570995821] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:31:34,410 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:31:34,410 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2022-04-08 05:31:34,411 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:31:34,411 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [267469351] [2022-04-08 05:31:34,411 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [267469351] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:31:34,411 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:31:34,411 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 05:31:34,411 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [106893157] [2022-04-08 05:31:34,411 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:31:34,411 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) Word has length 61 [2022-04-08 05:31:34,411 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:31:34,412 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:31:34,454 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-08 05:31:34,454 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 05:31:34,454 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:31:34,455 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 05:31:34,455 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:31:34,455 INFO L87 Difference]: Start difference. First operand 153 states and 198 transitions. Second operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:31:34,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:31:34,738 INFO L93 Difference]: Finished difference Result 199 states and 251 transitions. [2022-04-08 05:31:34,738 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 05:31:34,738 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) Word has length 61 [2022-04-08 05:31:34,739 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:31:34,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:31:34,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-08 05:31:34,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:31:34,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-08 05:31:34,741 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 82 transitions. [2022-04-08 05:31:34,802 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-08 05:31:34,805 INFO L225 Difference]: With dead ends: 199 [2022-04-08 05:31:34,806 INFO L226 Difference]: Without dead ends: 173 [2022-04-08 05:31:34,806 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 113 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=42, Invalid=68, Unknown=0, NotChecked=0, Total=110 [2022-04-08 05:31:34,806 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 8 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:31:34,807 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 136 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:31:34,807 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-08 05:31:34,953 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 173. [2022-04-08 05:31:34,953 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:31:34,953 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 05:31:34,953 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 05:31:34,954 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 05:31:34,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:31:34,957 INFO L93 Difference]: Finished difference Result 173 states and 215 transitions. [2022-04-08 05:31:34,957 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-08 05:31:34,957 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:31:34,958 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:31:34,958 INFO L74 IsIncluded]: Start isIncluded. First operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 173 states. [2022-04-08 05:31:34,958 INFO L87 Difference]: Start difference. First operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 173 states. [2022-04-08 05:31:34,961 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:31:34,962 INFO L93 Difference]: Finished difference Result 173 states and 215 transitions. [2022-04-08 05:31:34,962 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-08 05:31:34,962 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:31:34,962 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:31:34,962 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:31:34,962 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:31:34,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 05:31:34,966 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 173 states to 173 states and 215 transitions. [2022-04-08 05:31:34,966 INFO L78 Accepts]: Start accepts. Automaton has 173 states and 215 transitions. Word has length 61 [2022-04-08 05:31:34,966 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:31:34,966 INFO L478 AbstractCegarLoop]: Abstraction has 173 states and 215 transitions. [2022-04-08 05:31:34,966 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:31:34,966 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 173 states and 215 transitions. [2022-04-08 05:31:35,213 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 215 edges. 215 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:31:35,213 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-08 05:31:35,214 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-08 05:31:35,214 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:31:35,214 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:31:35,233 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-08 05:31:35,414 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-08 05:31:35,414 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:31:35,415 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:31:35,415 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 1 times [2022-04-08 05:31:35,415 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:31:35,415 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [490381093] [2022-04-08 05:31:35,415 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:31:35,415 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 2 times [2022-04-08 05:31:35,415 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:31:35,415 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [250762096] [2022-04-08 05:31:35,416 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:31:35,416 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:31:35,425 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:31:35,426 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1586885800] [2022-04-08 05:31:35,426 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:31:35,426 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:31:35,426 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:31:35,427 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-08 05:31:35,428 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-08 05:31:35,470 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:31:35,470 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:31:35,471 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-08 05:31:35,482 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:31:35,483 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:31:35,808 INFO L272 TraceCheckUtils]: 0: Hoare triple {8954#true} call ULTIMATE.init(); {8954#true} is VALID [2022-04-08 05:31:35,809 INFO L290 TraceCheckUtils]: 1: Hoare triple {8954#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8954#true} is VALID [2022-04-08 05:31:35,809 INFO L290 TraceCheckUtils]: 2: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-08 05:31:35,809 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8954#true} {8954#true} #82#return; {8954#true} is VALID [2022-04-08 05:31:35,809 INFO L272 TraceCheckUtils]: 4: Hoare triple {8954#true} call #t~ret7 := main(); {8954#true} is VALID [2022-04-08 05:31:35,809 INFO L290 TraceCheckUtils]: 5: Hoare triple {8954#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {8954#true} is VALID [2022-04-08 05:31:35,809 INFO L272 TraceCheckUtils]: 6: Hoare triple {8954#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8954#true} is VALID [2022-04-08 05:31:35,809 INFO L290 TraceCheckUtils]: 7: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-08 05:31:35,809 INFO L290 TraceCheckUtils]: 8: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-08 05:31:35,809 INFO L290 TraceCheckUtils]: 9: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-08 05:31:35,810 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8954#true} {8954#true} #64#return; {8954#true} is VALID [2022-04-08 05:31:35,810 INFO L272 TraceCheckUtils]: 11: Hoare triple {8954#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8954#true} is VALID [2022-04-08 05:31:35,810 INFO L290 TraceCheckUtils]: 12: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-08 05:31:35,810 INFO L290 TraceCheckUtils]: 13: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-08 05:31:35,810 INFO L290 TraceCheckUtils]: 14: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-08 05:31:35,810 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8954#true} {8954#true} #66#return; {8954#true} is VALID [2022-04-08 05:31:35,823 INFO L290 TraceCheckUtils]: 16: Hoare triple {8954#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:35,824 INFO L290 TraceCheckUtils]: 17: Hoare triple {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:35,825 INFO L290 TraceCheckUtils]: 18: Hoare triple {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:35,825 INFO L272 TraceCheckUtils]: 19: Hoare triple {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8954#true} is VALID [2022-04-08 05:31:35,825 INFO L290 TraceCheckUtils]: 20: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-08 05:31:35,825 INFO L290 TraceCheckUtils]: 21: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-08 05:31:35,825 INFO L290 TraceCheckUtils]: 22: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-08 05:31:35,826 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8954#true} {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #68#return; {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:35,826 INFO L272 TraceCheckUtils]: 24: Hoare triple {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= 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)); {8954#true} is VALID [2022-04-08 05:31:35,826 INFO L290 TraceCheckUtils]: 25: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-08 05:31:35,826 INFO L290 TraceCheckUtils]: 26: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-08 05:31:35,826 INFO L290 TraceCheckUtils]: 27: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-08 05:31:35,827 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8954#true} {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #70#return; {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:35,827 INFO L272 TraceCheckUtils]: 29: Hoare triple {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= 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)); {8954#true} is VALID [2022-04-08 05:31:35,827 INFO L290 TraceCheckUtils]: 30: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-08 05:31:35,827 INFO L290 TraceCheckUtils]: 31: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-08 05:31:35,827 INFO L290 TraceCheckUtils]: 32: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-08 05:31:35,828 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8954#true} {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #72#return; {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:35,829 INFO L290 TraceCheckUtils]: 34: Hoare triple {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:35,829 INFO L290 TraceCheckUtils]: 35: Hoare triple {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-08 05:31:35,830 INFO L290 TraceCheckUtils]: 36: Hoare triple {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-08 05:31:35,830 INFO L290 TraceCheckUtils]: 37: Hoare triple {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-08 05:31:35,830 INFO L272 TraceCheckUtils]: 38: Hoare triple {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8954#true} is VALID [2022-04-08 05:31:35,830 INFO L290 TraceCheckUtils]: 39: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-08 05:31:35,830 INFO L290 TraceCheckUtils]: 40: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-08 05:31:35,830 INFO L290 TraceCheckUtils]: 41: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-08 05:31:35,831 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8954#true} {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} #68#return; {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-08 05:31:35,832 INFO L272 TraceCheckUtils]: 43: Hoare triple {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= 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)); {8954#true} is VALID [2022-04-08 05:31:35,832 INFO L290 TraceCheckUtils]: 44: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-08 05:31:35,832 INFO L290 TraceCheckUtils]: 45: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-08 05:31:35,832 INFO L290 TraceCheckUtils]: 46: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-08 05:31:35,833 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8954#true} {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} #70#return; {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-08 05:31:35,833 INFO L272 TraceCheckUtils]: 48: Hoare triple {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= 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)); {8954#true} is VALID [2022-04-08 05:31:35,833 INFO L290 TraceCheckUtils]: 49: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-08 05:31:35,833 INFO L290 TraceCheckUtils]: 50: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-08 05:31:35,833 INFO L290 TraceCheckUtils]: 51: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-08 05:31:35,834 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8954#true} {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} #72#return; {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-08 05:31:35,834 INFO L290 TraceCheckUtils]: 53: Hoare triple {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-08 05:31:35,835 INFO L290 TraceCheckUtils]: 54: Hoare triple {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9123#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 05:31:35,835 INFO L290 TraceCheckUtils]: 55: Hoare triple {9123#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9123#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 05:31:35,836 INFO L290 TraceCheckUtils]: 56: Hoare triple {9123#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(#t~post6 < 5);havoc #t~post6; {9123#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 05:31:35,837 INFO L272 TraceCheckUtils]: 57: Hoare triple {9123#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9133#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:31:35,837 INFO L290 TraceCheckUtils]: 58: Hoare triple {9133#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9137#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:31:35,837 INFO L290 TraceCheckUtils]: 59: Hoare triple {9137#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8955#false} is VALID [2022-04-08 05:31:35,838 INFO L290 TraceCheckUtils]: 60: Hoare triple {8955#false} assume !false; {8955#false} is VALID [2022-04-08 05:31:35,838 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 12 proven. 13 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-08 05:31:35,838 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:31:36,097 INFO L290 TraceCheckUtils]: 60: Hoare triple {8955#false} assume !false; {8955#false} is VALID [2022-04-08 05:31:36,097 INFO L290 TraceCheckUtils]: 59: Hoare triple {9137#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8955#false} is VALID [2022-04-08 05:31:36,098 INFO L290 TraceCheckUtils]: 58: Hoare triple {9133#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9137#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:31:36,098 INFO L272 TraceCheckUtils]: 57: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9133#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:31:36,101 INFO L290 TraceCheckUtils]: 56: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 5);havoc #t~post6; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:31:36,102 INFO L290 TraceCheckUtils]: 55: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:31:36,105 INFO L290 TraceCheckUtils]: 54: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:31:36,106 INFO L290 TraceCheckUtils]: 53: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:31:36,106 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8954#true} {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #72#return; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:31:36,106 INFO L290 TraceCheckUtils]: 51: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-08 05:31:36,106 INFO L290 TraceCheckUtils]: 50: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-08 05:31:36,107 INFO L290 TraceCheckUtils]: 49: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-08 05:31:36,107 INFO L272 TraceCheckUtils]: 48: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8954#true} is VALID [2022-04-08 05:31:36,107 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8954#true} {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #70#return; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:31:36,107 INFO L290 TraceCheckUtils]: 46: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-08 05:31:36,107 INFO L290 TraceCheckUtils]: 45: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-08 05:31:36,108 INFO L290 TraceCheckUtils]: 44: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-08 05:31:36,108 INFO L272 TraceCheckUtils]: 43: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8954#true} is VALID [2022-04-08 05:31:36,130 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8954#true} {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #68#return; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:31:36,131 INFO L290 TraceCheckUtils]: 41: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-08 05:31:36,131 INFO L290 TraceCheckUtils]: 40: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-08 05:31:36,131 INFO L290 TraceCheckUtils]: 39: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-08 05:31:36,131 INFO L272 TraceCheckUtils]: 38: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8954#true} is VALID [2022-04-08 05:31:36,143 INFO L290 TraceCheckUtils]: 37: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 5);havoc #t~post6; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:31:36,154 INFO L290 TraceCheckUtils]: 36: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:31:36,161 INFO L290 TraceCheckUtils]: 35: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:31:36,168 INFO L290 TraceCheckUtils]: 34: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:31:36,169 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8954#true} {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #72#return; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:31:36,169 INFO L290 TraceCheckUtils]: 32: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-08 05:31:36,169 INFO L290 TraceCheckUtils]: 31: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-08 05:31:36,169 INFO L290 TraceCheckUtils]: 30: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-08 05:31:36,169 INFO L272 TraceCheckUtils]: 29: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8954#true} is VALID [2022-04-08 05:31:36,170 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8954#true} {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #70#return; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:31:36,170 INFO L290 TraceCheckUtils]: 27: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-08 05:31:36,170 INFO L290 TraceCheckUtils]: 26: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-08 05:31:36,170 INFO L290 TraceCheckUtils]: 25: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-08 05:31:36,170 INFO L272 TraceCheckUtils]: 24: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8954#true} is VALID [2022-04-08 05:31:36,170 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8954#true} {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #68#return; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:31:36,170 INFO L290 TraceCheckUtils]: 22: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-08 05:31:36,171 INFO L290 TraceCheckUtils]: 21: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-08 05:31:36,171 INFO L290 TraceCheckUtils]: 20: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-08 05:31:36,171 INFO L272 TraceCheckUtils]: 19: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8954#true} is VALID [2022-04-08 05:31:36,171 INFO L290 TraceCheckUtils]: 18: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 5);havoc #t~post6; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:31:36,171 INFO L290 TraceCheckUtils]: 17: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:31:36,172 INFO L290 TraceCheckUtils]: 16: Hoare triple {8954#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 05:31:36,172 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8954#true} {8954#true} #66#return; {8954#true} is VALID [2022-04-08 05:31:36,172 INFO L290 TraceCheckUtils]: 14: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-08 05:31:36,172 INFO L290 TraceCheckUtils]: 13: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-08 05:31:36,172 INFO L290 TraceCheckUtils]: 12: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-08 05:31:36,172 INFO L272 TraceCheckUtils]: 11: Hoare triple {8954#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8954#true} is VALID [2022-04-08 05:31:36,172 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8954#true} {8954#true} #64#return; {8954#true} is VALID [2022-04-08 05:31:36,172 INFO L290 TraceCheckUtils]: 9: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-08 05:31:36,172 INFO L290 TraceCheckUtils]: 8: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-08 05:31:36,172 INFO L290 TraceCheckUtils]: 7: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-08 05:31:36,173 INFO L272 TraceCheckUtils]: 6: Hoare triple {8954#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8954#true} is VALID [2022-04-08 05:31:36,173 INFO L290 TraceCheckUtils]: 5: Hoare triple {8954#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {8954#true} is VALID [2022-04-08 05:31:36,173 INFO L272 TraceCheckUtils]: 4: Hoare triple {8954#true} call #t~ret7 := main(); {8954#true} is VALID [2022-04-08 05:31:36,173 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8954#true} {8954#true} #82#return; {8954#true} is VALID [2022-04-08 05:31:36,173 INFO L290 TraceCheckUtils]: 2: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-08 05:31:36,173 INFO L290 TraceCheckUtils]: 1: Hoare triple {8954#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8954#true} is VALID [2022-04-08 05:31:36,173 INFO L272 TraceCheckUtils]: 0: Hoare triple {8954#true} call ULTIMATE.init(); {8954#true} is VALID [2022-04-08 05:31:36,173 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 77 trivial. 0 not checked. [2022-04-08 05:31:36,173 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:31:36,173 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [250762096] [2022-04-08 05:31:36,173 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:31:36,173 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1586885800] [2022-04-08 05:31:36,174 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1586885800] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 05:31:36,174 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 05:31:36,174 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-08 05:31:36,174 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:31:36,174 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [490381093] [2022-04-08 05:31:36,174 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [490381093] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:31:36,174 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:31:36,174 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:31:36,174 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1564499274] [2022-04-08 05:31:36,174 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:31:36,175 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 61 [2022-04-08 05:31:36,175 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:31:36,175 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-08 05:31:36,203 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:31:36,204 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:31:36,204 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:31:36,204 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:31:36,204 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-08 05:31:36,204 INFO L87 Difference]: Start difference. First operand 173 states and 215 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-08 05:31:36,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:31:36,492 INFO L93 Difference]: Finished difference Result 179 states and 220 transitions. [2022-04-08 05:31:36,492 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:31:36,492 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 61 [2022-04-08 05:31:36,492 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:31:36,492 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-08 05:31:36,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-08 05:31:36,493 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-08 05:31:36,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-08 05:31:36,493 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 44 transitions. [2022-04-08 05:31:36,535 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-08 05:31:36,538 INFO L225 Difference]: With dead ends: 179 [2022-04-08 05:31:36,538 INFO L226 Difference]: Without dead ends: 174 [2022-04-08 05:31:36,538 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 112 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:31:36,539 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 7 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:31:36,539 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 102 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:31:36,539 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states. [2022-04-08 05:31:36,691 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 172. [2022-04-08 05:31:36,691 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:31:36,692 INFO L82 GeneralOperation]: Start isEquivalent. First operand 174 states. Second operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-08 05:31:36,692 INFO L74 IsIncluded]: Start isIncluded. First operand 174 states. Second operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-08 05:31:36,693 INFO L87 Difference]: Start difference. First operand 174 states. Second operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-08 05:31:36,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:31:36,696 INFO L93 Difference]: Finished difference Result 174 states and 211 transitions. [2022-04-08 05:31:36,696 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 211 transitions. [2022-04-08 05:31:36,696 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:31:36,696 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:31:36,697 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) Second operand 174 states. [2022-04-08 05:31:36,697 INFO L87 Difference]: Start difference. First operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) Second operand 174 states. [2022-04-08 05:31:36,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:31:36,700 INFO L93 Difference]: Finished difference Result 174 states and 211 transitions. [2022-04-08 05:31:36,700 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 211 transitions. [2022-04-08 05:31:36,700 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:31:36,701 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:31:36,701 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:31:36,701 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:31:36,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-08 05:31:36,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 208 transitions. [2022-04-08 05:31:36,704 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 208 transitions. Word has length 61 [2022-04-08 05:31:36,704 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:31:36,704 INFO L478 AbstractCegarLoop]: Abstraction has 172 states and 208 transitions. [2022-04-08 05:31:36,704 INFO L479 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-08 05:31:36,704 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 208 transitions. [2022-04-08 05:31:36,944 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 208 edges. 208 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:31:36,944 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 208 transitions. [2022-04-08 05:31:36,945 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-08 05:31:36,945 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:31:36,945 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:31:36,962 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-08 05:31:37,155 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 05:31:37,156 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:31:37,156 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:31:37,156 INFO L85 PathProgramCache]: Analyzing trace with hash 404368620, now seen corresponding path program 5 times [2022-04-08 05:31:37,156 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:31:37,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1011413570] [2022-04-08 05:31:37,157 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:31:37,157 INFO L85 PathProgramCache]: Analyzing trace with hash 404368620, now seen corresponding path program 6 times [2022-04-08 05:31:37,157 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:31:37,157 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1785416541] [2022-04-08 05:31:37,157 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:31:37,157 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:31:37,166 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:31:37,166 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [641181807] [2022-04-08 05:31:37,166 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 05:31:37,166 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:31:37,167 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:31:37,178 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-08 05:31:37,179 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-08 05:31:37,238 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 05:31:37,238 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:31:37,239 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-08 05:31:37,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:31:37,256 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:31:37,751 INFO L272 TraceCheckUtils]: 0: Hoare triple {10379#true} call ULTIMATE.init(); {10379#true} is VALID [2022-04-08 05:31:37,752 INFO L290 TraceCheckUtils]: 1: Hoare triple {10379#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10379#true} is VALID [2022-04-08 05:31:37,752 INFO L290 TraceCheckUtils]: 2: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-08 05:31:37,752 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10379#true} {10379#true} #82#return; {10379#true} is VALID [2022-04-08 05:31:37,752 INFO L272 TraceCheckUtils]: 4: Hoare triple {10379#true} call #t~ret7 := main(); {10379#true} is VALID [2022-04-08 05:31:37,752 INFO L290 TraceCheckUtils]: 5: Hoare triple {10379#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {10379#true} is VALID [2022-04-08 05:31:37,752 INFO L272 TraceCheckUtils]: 6: Hoare triple {10379#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10379#true} is VALID [2022-04-08 05:31:37,752 INFO L290 TraceCheckUtils]: 7: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-08 05:31:37,752 INFO L290 TraceCheckUtils]: 8: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-08 05:31:37,752 INFO L290 TraceCheckUtils]: 9: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-08 05:31:37,752 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10379#true} {10379#true} #64#return; {10379#true} is VALID [2022-04-08 05:31:37,753 INFO L272 TraceCheckUtils]: 11: Hoare triple {10379#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10379#true} is VALID [2022-04-08 05:31:37,753 INFO L290 TraceCheckUtils]: 12: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-08 05:31:37,753 INFO L290 TraceCheckUtils]: 13: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-08 05:31:37,753 INFO L290 TraceCheckUtils]: 14: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-08 05:31:37,753 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10379#true} {10379#true} #66#return; {10379#true} is VALID [2022-04-08 05:31:37,753 INFO L290 TraceCheckUtils]: 16: Hoare triple {10379#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10432#(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-08 05:31:37,754 INFO L290 TraceCheckUtils]: 17: Hoare triple {10432#(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; {10432#(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-08 05:31:37,754 INFO L290 TraceCheckUtils]: 18: Hoare triple {10432#(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 < 5);havoc #t~post6; {10432#(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-08 05:31:37,754 INFO L272 TraceCheckUtils]: 19: Hoare triple {10432#(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 __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10379#true} is VALID [2022-04-08 05:31:37,754 INFO L290 TraceCheckUtils]: 20: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-08 05:31:37,754 INFO L290 TraceCheckUtils]: 21: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-08 05:31:37,754 INFO L290 TraceCheckUtils]: 22: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-08 05:31:37,755 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10379#true} {10432#(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))} #68#return; {10432#(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-08 05:31:37,755 INFO L272 TraceCheckUtils]: 24: Hoare triple {10432#(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 __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10379#true} is VALID [2022-04-08 05:31:37,755 INFO L290 TraceCheckUtils]: 25: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-08 05:31:37,755 INFO L290 TraceCheckUtils]: 26: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-08 05:31:37,755 INFO L290 TraceCheckUtils]: 27: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-08 05:31:37,756 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10379#true} {10432#(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))} #70#return; {10432#(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-08 05:31:37,756 INFO L272 TraceCheckUtils]: 29: Hoare triple {10432#(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 __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10379#true} is VALID [2022-04-08 05:31:37,756 INFO L290 TraceCheckUtils]: 30: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-08 05:31:37,756 INFO L290 TraceCheckUtils]: 31: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-08 05:31:37,756 INFO L290 TraceCheckUtils]: 32: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-08 05:31:37,757 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10379#true} {10432#(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))} #72#return; {10432#(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-08 05:31:37,758 INFO L290 TraceCheckUtils]: 34: Hoare triple {10432#(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 !!(~a~0 != ~b~0); {10432#(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-08 05:31:37,758 INFO L290 TraceCheckUtils]: 35: Hoare triple {10432#(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 ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:31:37,759 INFO L290 TraceCheckUtils]: 36: Hoare triple {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:31:37,759 INFO L290 TraceCheckUtils]: 37: Hoare triple {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:31:37,759 INFO L272 TraceCheckUtils]: 38: Hoare triple {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10379#true} is VALID [2022-04-08 05:31:37,759 INFO L290 TraceCheckUtils]: 39: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-08 05:31:37,759 INFO L290 TraceCheckUtils]: 40: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-08 05:31:37,759 INFO L290 TraceCheckUtils]: 41: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-08 05:31:37,760 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10379#true} {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:31:37,760 INFO L272 TraceCheckUtils]: 43: Hoare triple {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10379#true} is VALID [2022-04-08 05:31:37,761 INFO L290 TraceCheckUtils]: 44: Hoare triple {10379#true} ~cond := #in~cond; {10518#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:31:37,761 INFO L290 TraceCheckUtils]: 45: Hoare triple {10518#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:31:37,761 INFO L290 TraceCheckUtils]: 46: Hoare triple {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:31:37,762 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:31:37,762 INFO L272 TraceCheckUtils]: 48: Hoare triple {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10379#true} is VALID [2022-04-08 05:31:37,762 INFO L290 TraceCheckUtils]: 49: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-08 05:31:37,762 INFO L290 TraceCheckUtils]: 50: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-08 05:31:37,762 INFO L290 TraceCheckUtils]: 51: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-08 05:31:37,763 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10379#true} {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:31:37,764 INFO L290 TraceCheckUtils]: 53: Hoare triple {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:31:37,765 INFO L290 TraceCheckUtils]: 54: Hoare triple {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:37,765 INFO L290 TraceCheckUtils]: 55: Hoare triple {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:37,766 INFO L290 TraceCheckUtils]: 56: Hoare triple {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:37,766 INFO L272 TraceCheckUtils]: 57: Hoare triple {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10379#true} is VALID [2022-04-08 05:31:37,766 INFO L290 TraceCheckUtils]: 58: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-08 05:31:37,766 INFO L290 TraceCheckUtils]: 59: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-08 05:31:37,766 INFO L290 TraceCheckUtils]: 60: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-08 05:31:37,767 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10379#true} {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} #68#return; {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:31:37,767 INFO L272 TraceCheckUtils]: 62: Hoare triple {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) 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)); {10575#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:31:37,768 INFO L290 TraceCheckUtils]: 63: Hoare triple {10575#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10579#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:31:37,768 INFO L290 TraceCheckUtils]: 64: Hoare triple {10579#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10380#false} is VALID [2022-04-08 05:31:37,768 INFO L290 TraceCheckUtils]: 65: Hoare triple {10380#false} assume !false; {10380#false} is VALID [2022-04-08 05:31:37,769 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 25 proven. 22 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2022-04-08 05:31:37,769 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:32:10,791 INFO L290 TraceCheckUtils]: 65: Hoare triple {10380#false} assume !false; {10380#false} is VALID [2022-04-08 05:32:10,792 INFO L290 TraceCheckUtils]: 64: Hoare triple {10579#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10380#false} is VALID [2022-04-08 05:32:10,792 INFO L290 TraceCheckUtils]: 63: Hoare triple {10575#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10579#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:10,793 INFO L272 TraceCheckUtils]: 62: Hoare triple {10595#(= 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)); {10575#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:32:10,794 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10379#true} {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:32:10,794 INFO L290 TraceCheckUtils]: 60: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-08 05:32:10,794 INFO L290 TraceCheckUtils]: 59: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-08 05:32:10,794 INFO L290 TraceCheckUtils]: 58: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-08 05:32:10,794 INFO L272 TraceCheckUtils]: 57: Hoare triple {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10379#true} is VALID [2022-04-08 05:32:10,795 INFO L290 TraceCheckUtils]: 56: Hoare triple {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:32:10,795 INFO L290 TraceCheckUtils]: 55: Hoare triple {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:32:11,454 INFO L290 TraceCheckUtils]: 54: Hoare triple {10620#(= (+ 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)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:32:11,455 INFO L290 TraceCheckUtils]: 53: Hoare triple {10620#(= (+ 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)))))} assume !!(~a~0 != ~b~0); {10620#(= (+ 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)))))} is VALID [2022-04-08 05:32:11,455 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10379#true} {10620#(= (+ 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)))))} #72#return; {10620#(= (+ 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)))))} is VALID [2022-04-08 05:32:11,455 INFO L290 TraceCheckUtils]: 51: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-08 05:32:11,455 INFO L290 TraceCheckUtils]: 50: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-08 05:32:11,455 INFO L290 TraceCheckUtils]: 49: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-08 05:32:11,456 INFO L272 TraceCheckUtils]: 48: Hoare triple {10620#(= (+ 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)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10379#true} is VALID [2022-04-08 05:32:11,456 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} {10642#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {10620#(= (+ 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)))))} is VALID [2022-04-08 05:32:11,457 INFO L290 TraceCheckUtils]: 46: Hoare triple {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:11,457 INFO L290 TraceCheckUtils]: 45: Hoare triple {10652#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:11,457 INFO L290 TraceCheckUtils]: 44: Hoare triple {10379#true} ~cond := #in~cond; {10652#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:32:11,457 INFO L272 TraceCheckUtils]: 43: Hoare triple {10642#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10379#true} is VALID [2022-04-08 05:32:11,458 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10379#true} {10642#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {10642#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:32:11,458 INFO L290 TraceCheckUtils]: 41: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-08 05:32:11,458 INFO L290 TraceCheckUtils]: 40: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-08 05:32:11,458 INFO L290 TraceCheckUtils]: 39: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-08 05:32:11,458 INFO L272 TraceCheckUtils]: 38: Hoare triple {10642#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10379#true} is VALID [2022-04-08 05:32:11,459 INFO L290 TraceCheckUtils]: 37: Hoare triple {10642#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 5);havoc #t~post6; {10642#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:32:11,459 INFO L290 TraceCheckUtils]: 36: Hoare triple {10642#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10642#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:32:11,603 INFO L290 TraceCheckUtils]: 35: Hoare triple {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (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)))))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10642#(or (= (+ 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))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 05:32:11,604 INFO L290 TraceCheckUtils]: 34: Hoare triple {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (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)))))))} assume !!(~a~0 != ~b~0); {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (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)))))))} is VALID [2022-04-08 05:32:11,605 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10379#true} {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (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)))))))} #72#return; {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (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)))))))} is VALID [2022-04-08 05:32:11,605 INFO L290 TraceCheckUtils]: 32: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-08 05:32:11,605 INFO L290 TraceCheckUtils]: 31: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-08 05:32:11,605 INFO L290 TraceCheckUtils]: 30: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-08 05:32:11,605 INFO L272 TraceCheckUtils]: 29: Hoare triple {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (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)))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10379#true} is VALID [2022-04-08 05:32:11,606 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10379#true} {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (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)))))))} #70#return; {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (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)))))))} is VALID [2022-04-08 05:32:11,606 INFO L290 TraceCheckUtils]: 27: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-08 05:32:11,606 INFO L290 TraceCheckUtils]: 26: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-08 05:32:11,606 INFO L290 TraceCheckUtils]: 25: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-08 05:32:11,606 INFO L272 TraceCheckUtils]: 24: Hoare triple {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (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)))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10379#true} is VALID [2022-04-08 05:32:11,607 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10379#true} {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (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)))))))} #68#return; {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (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)))))))} is VALID [2022-04-08 05:32:11,607 INFO L290 TraceCheckUtils]: 22: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-08 05:32:11,607 INFO L290 TraceCheckUtils]: 21: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-08 05:32:11,607 INFO L290 TraceCheckUtils]: 20: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-08 05:32:11,607 INFO L272 TraceCheckUtils]: 19: Hoare triple {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (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)))))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10379#true} is VALID [2022-04-08 05:32:11,608 INFO L290 TraceCheckUtils]: 18: Hoare triple {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (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)))))))} assume !!(#t~post6 < 5);havoc #t~post6; {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (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)))))))} is VALID [2022-04-08 05:32:11,608 INFO L290 TraceCheckUtils]: 17: Hoare triple {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (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)))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (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)))))))} is VALID [2022-04-08 05:32:11,609 INFO L290 TraceCheckUtils]: 16: Hoare triple {10379#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (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)))))))} is VALID [2022-04-08 05:32:11,609 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10379#true} {10379#true} #66#return; {10379#true} is VALID [2022-04-08 05:32:11,609 INFO L290 TraceCheckUtils]: 14: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-08 05:32:11,609 INFO L290 TraceCheckUtils]: 13: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-08 05:32:11,609 INFO L290 TraceCheckUtils]: 12: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-08 05:32:11,609 INFO L272 TraceCheckUtils]: 11: Hoare triple {10379#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10379#true} is VALID [2022-04-08 05:32:11,609 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10379#true} {10379#true} #64#return; {10379#true} is VALID [2022-04-08 05:32:11,609 INFO L290 TraceCheckUtils]: 9: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-08 05:32:11,609 INFO L290 TraceCheckUtils]: 8: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-08 05:32:11,610 INFO L290 TraceCheckUtils]: 7: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-08 05:32:11,610 INFO L272 TraceCheckUtils]: 6: Hoare triple {10379#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10379#true} is VALID [2022-04-08 05:32:11,610 INFO L290 TraceCheckUtils]: 5: Hoare triple {10379#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {10379#true} is VALID [2022-04-08 05:32:11,610 INFO L272 TraceCheckUtils]: 4: Hoare triple {10379#true} call #t~ret7 := main(); {10379#true} is VALID [2022-04-08 05:32:11,610 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10379#true} {10379#true} #82#return; {10379#true} is VALID [2022-04-08 05:32:11,610 INFO L290 TraceCheckUtils]: 2: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-08 05:32:11,610 INFO L290 TraceCheckUtils]: 1: Hoare triple {10379#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10379#true} is VALID [2022-04-08 05:32:11,610 INFO L272 TraceCheckUtils]: 0: Hoare triple {10379#true} call ULTIMATE.init(); {10379#true} is VALID [2022-04-08 05:32:11,610 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 29 proven. 18 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2022-04-08 05:32:11,611 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:32:11,611 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1785416541] [2022-04-08 05:32:11,611 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:32:11,611 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [641181807] [2022-04-08 05:32:11,611 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [641181807] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:32:11,611 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:32:11,611 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-08 05:32:11,611 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:32:11,611 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1011413570] [2022-04-08 05:32:11,611 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1011413570] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:32:11,611 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:32:11,611 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:32:11,611 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [168432171] [2022-04-08 05:32:11,612 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:32:11,612 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-08 05:32:11,612 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:32:11,612 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:32:11,655 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-08 05:32:11,656 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:32:11,656 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:11,656 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:32:11,656 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:32:11,656 INFO L87 Difference]: Start difference. First operand 172 states and 208 transitions. Second operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:32:12,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:12,731 INFO L93 Difference]: Finished difference Result 199 states and 247 transitions. [2022-04-08 05:32:12,731 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:32:12,732 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-08 05:32:12,732 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:32:12,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:32:12,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-08 05:32:12,733 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:32:12,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-08 05:32:12,734 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-08 05:32:12,829 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:32:12,833 INFO L225 Difference]: With dead ends: 199 [2022-04-08 05:32:12,833 INFO L226 Difference]: Without dead ends: 197 [2022-04-08 05:32:12,833 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 117 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-08 05:32:12,833 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 15 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 340 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 194 SdHoareTripleChecker+Invalid, 347 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 340 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 05:32:12,834 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 194 Invalid, 347 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 340 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 05:32:12,834 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-08 05:32:12,981 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 181. [2022-04-08 05:32:12,981 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:32:12,982 INFO L82 GeneralOperation]: Start isEquivalent. First operand 197 states. Second operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 05:32:12,982 INFO L74 IsIncluded]: Start isIncluded. First operand 197 states. Second operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 05:32:12,982 INFO L87 Difference]: Start difference. First operand 197 states. Second operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 05:32:12,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:12,986 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-08 05:32:12,986 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 245 transitions. [2022-04-08 05:32:12,987 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:12,987 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:12,987 INFO L74 IsIncluded]: Start isIncluded. First operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) Second operand 197 states. [2022-04-08 05:32:12,988 INFO L87 Difference]: Start difference. First operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) Second operand 197 states. [2022-04-08 05:32:12,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:12,992 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-08 05:32:12,992 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 245 transitions. [2022-04-08 05:32:12,992 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:32:12,992 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:32:12,992 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:32:12,992 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:32:12,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 05:32:12,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 181 states to 181 states and 220 transitions. [2022-04-08 05:32:12,996 INFO L78 Accepts]: Start accepts. Automaton has 181 states and 220 transitions. Word has length 66 [2022-04-08 05:32:12,996 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:32:12,996 INFO L478 AbstractCegarLoop]: Abstraction has 181 states and 220 transitions. [2022-04-08 05:32:12,997 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:32:12,997 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 181 states and 220 transitions. [2022-04-08 05:32:13,283 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 220 edges. 220 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:32:13,283 INFO L276 IsEmpty]: Start isEmpty. Operand 181 states and 220 transitions. [2022-04-08 05:32:13,284 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-08 05:32:13,284 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:32:13,284 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:32:13,304 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-04-08 05:32:13,499 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-08 05:32:13,499 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:32:13,500 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:32:13,500 INFO L85 PathProgramCache]: Analyzing trace with hash 1105968494, now seen corresponding path program 3 times [2022-04-08 05:32:13,500 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:13,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1142979274] [2022-04-08 05:32:13,500 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:32:13,500 INFO L85 PathProgramCache]: Analyzing trace with hash 1105968494, now seen corresponding path program 4 times [2022-04-08 05:32:13,500 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:32:13,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2029319129] [2022-04-08 05:32:13,501 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:32:13,501 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:32:13,509 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:32:13,509 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1573667416] [2022-04-08 05:32:13,509 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:32:13,509 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:32:13,510 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:32:13,510 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-08 05:32:13,511 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-08 05:32:13,552 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:32:13,552 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:32:13,553 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-08 05:32:13,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:32:13,566 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:32:14,090 INFO L272 TraceCheckUtils]: 0: Hoare triple {11946#true} call ULTIMATE.init(); {11946#true} is VALID [2022-04-08 05:32:14,091 INFO L290 TraceCheckUtils]: 1: Hoare triple {11946#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11946#true} is VALID [2022-04-08 05:32:14,091 INFO L290 TraceCheckUtils]: 2: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-08 05:32:14,091 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11946#true} {11946#true} #82#return; {11946#true} is VALID [2022-04-08 05:32:14,091 INFO L272 TraceCheckUtils]: 4: Hoare triple {11946#true} call #t~ret7 := main(); {11946#true} is VALID [2022-04-08 05:32:14,091 INFO L290 TraceCheckUtils]: 5: Hoare triple {11946#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {11946#true} is VALID [2022-04-08 05:32:14,091 INFO L272 TraceCheckUtils]: 6: Hoare triple {11946#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11946#true} is VALID [2022-04-08 05:32:14,091 INFO L290 TraceCheckUtils]: 7: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-08 05:32:14,091 INFO L290 TraceCheckUtils]: 8: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-08 05:32:14,091 INFO L290 TraceCheckUtils]: 9: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-08 05:32:14,091 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11946#true} {11946#true} #64#return; {11946#true} is VALID [2022-04-08 05:32:14,091 INFO L272 TraceCheckUtils]: 11: Hoare triple {11946#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11946#true} is VALID [2022-04-08 05:32:14,092 INFO L290 TraceCheckUtils]: 12: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-08 05:32:14,092 INFO L290 TraceCheckUtils]: 13: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-08 05:32:14,092 INFO L290 TraceCheckUtils]: 14: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-08 05:32:14,092 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11946#true} {11946#true} #66#return; {11946#true} is VALID [2022-04-08 05:32:14,093 INFO L290 TraceCheckUtils]: 16: Hoare triple {11946#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:14,093 INFO L290 TraceCheckUtils]: 17: Hoare triple {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:14,094 INFO L290 TraceCheckUtils]: 18: Hoare triple {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:14,094 INFO L272 TraceCheckUtils]: 19: Hoare triple {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11946#true} is VALID [2022-04-08 05:32:14,094 INFO L290 TraceCheckUtils]: 20: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-08 05:32:14,094 INFO L290 TraceCheckUtils]: 21: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-08 05:32:14,094 INFO L290 TraceCheckUtils]: 22: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-08 05:32:14,094 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11946#true} {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:14,095 INFO L272 TraceCheckUtils]: 24: Hoare triple {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= 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)); {11946#true} is VALID [2022-04-08 05:32:14,095 INFO L290 TraceCheckUtils]: 25: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-08 05:32:14,095 INFO L290 TraceCheckUtils]: 26: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-08 05:32:14,095 INFO L290 TraceCheckUtils]: 27: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-08 05:32:14,095 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11946#true} {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:14,095 INFO L272 TraceCheckUtils]: 29: Hoare triple {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= 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)); {11946#true} is VALID [2022-04-08 05:32:14,096 INFO L290 TraceCheckUtils]: 30: Hoare triple {11946#true} ~cond := #in~cond; {12042#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:14,096 INFO L290 TraceCheckUtils]: 31: Hoare triple {12042#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:14,096 INFO L290 TraceCheckUtils]: 32: Hoare triple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:14,097 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {12053#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:14,097 INFO L290 TraceCheckUtils]: 34: Hoare triple {12053#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {12053#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:14,098 INFO L290 TraceCheckUtils]: 35: Hoare triple {12053#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:14,099 INFO L290 TraceCheckUtils]: 36: Hoare triple {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:14,099 INFO L290 TraceCheckUtils]: 37: Hoare triple {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:14,100 INFO L272 TraceCheckUtils]: 38: Hoare triple {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11946#true} is VALID [2022-04-08 05:32:14,100 INFO L290 TraceCheckUtils]: 39: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-08 05:32:14,100 INFO L290 TraceCheckUtils]: 40: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-08 05:32:14,100 INFO L290 TraceCheckUtils]: 41: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-08 05:32:14,100 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11946#true} {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #68#return; {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:14,100 INFO L272 TraceCheckUtils]: 43: Hoare triple {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11946#true} is VALID [2022-04-08 05:32:14,101 INFO L290 TraceCheckUtils]: 44: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-08 05:32:14,101 INFO L290 TraceCheckUtils]: 45: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-08 05:32:14,101 INFO L290 TraceCheckUtils]: 46: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-08 05:32:14,101 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11946#true} {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #70#return; {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:14,101 INFO L272 TraceCheckUtils]: 48: Hoare triple {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11946#true} is VALID [2022-04-08 05:32:14,102 INFO L290 TraceCheckUtils]: 49: Hoare triple {11946#true} ~cond := #in~cond; {12042#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:14,102 INFO L290 TraceCheckUtils]: 50: Hoare triple {12042#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:14,102 INFO L290 TraceCheckUtils]: 51: Hoare triple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:14,103 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #72#return; {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:14,103 INFO L290 TraceCheckUtils]: 53: Hoare triple {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:32:14,104 INFO L290 TraceCheckUtils]: 54: Hoare triple {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12118#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} is VALID [2022-04-08 05:32:14,105 INFO L290 TraceCheckUtils]: 55: Hoare triple {12118#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12118#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} is VALID [2022-04-08 05:32:14,105 INFO L290 TraceCheckUtils]: 56: Hoare triple {12118#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {12118#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} is VALID [2022-04-08 05:32:14,105 INFO L272 TraceCheckUtils]: 57: Hoare triple {12118#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11946#true} is VALID [2022-04-08 05:32:14,105 INFO L290 TraceCheckUtils]: 58: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-08 05:32:14,105 INFO L290 TraceCheckUtils]: 59: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-08 05:32:14,105 INFO L290 TraceCheckUtils]: 60: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-08 05:32:14,106 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11946#true} {12118#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} #68#return; {12118#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} is VALID [2022-04-08 05:32:14,107 INFO L272 TraceCheckUtils]: 62: Hoare triple {12118#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12143#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:32:14,107 INFO L290 TraceCheckUtils]: 63: Hoare triple {12143#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12147#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:14,107 INFO L290 TraceCheckUtils]: 64: Hoare triple {12147#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11947#false} is VALID [2022-04-08 05:32:14,107 INFO L290 TraceCheckUtils]: 65: Hoare triple {11947#false} assume !false; {11947#false} is VALID [2022-04-08 05:32:14,108 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 30 proven. 29 refuted. 0 times theorem prover too weak. 58 trivial. 0 not checked. [2022-04-08 05:32:14,108 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:32:57,181 INFO L290 TraceCheckUtils]: 65: Hoare triple {11947#false} assume !false; {11947#false} is VALID [2022-04-08 05:32:57,182 INFO L290 TraceCheckUtils]: 64: Hoare triple {12147#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11947#false} is VALID [2022-04-08 05:32:57,182 INFO L290 TraceCheckUtils]: 63: Hoare triple {12143#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12147#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:32:57,183 INFO L272 TraceCheckUtils]: 62: Hoare triple {12163#(= 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)); {12143#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:32:57,183 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11946#true} {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:32:57,183 INFO L290 TraceCheckUtils]: 60: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-08 05:32:57,183 INFO L290 TraceCheckUtils]: 59: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-08 05:32:57,184 INFO L290 TraceCheckUtils]: 58: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-08 05:32:57,184 INFO L272 TraceCheckUtils]: 57: Hoare triple {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11946#true} is VALID [2022-04-08 05:32:57,184 INFO L290 TraceCheckUtils]: 56: Hoare triple {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:32:57,184 INFO L290 TraceCheckUtils]: 55: Hoare triple {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:32:57,339 INFO L290 TraceCheckUtils]: 54: Hoare triple {12188#(= (+ 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)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:32:57,339 INFO L290 TraceCheckUtils]: 53: Hoare triple {12188#(= (+ 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)))))} assume !!(~a~0 != ~b~0); {12188#(= (+ 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)))))} is VALID [2022-04-08 05:32:57,340 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} {12195#(or (= (+ 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))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #72#return; {12188#(= (+ 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)))))} is VALID [2022-04-08 05:32:57,341 INFO L290 TraceCheckUtils]: 51: Hoare triple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:57,341 INFO L290 TraceCheckUtils]: 50: Hoare triple {12205#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:57,341 INFO L290 TraceCheckUtils]: 49: Hoare triple {11946#true} ~cond := #in~cond; {12205#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:32:57,341 INFO L272 TraceCheckUtils]: 48: Hoare triple {12195#(or (= (+ 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))))) (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)); {11946#true} is VALID [2022-04-08 05:32:57,342 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11946#true} {12195#(or (= (+ 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))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #70#return; {12195#(or (= (+ 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))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 05:32:57,342 INFO L290 TraceCheckUtils]: 46: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-08 05:32:57,342 INFO L290 TraceCheckUtils]: 45: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-08 05:32:57,342 INFO L290 TraceCheckUtils]: 44: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-08 05:32:57,342 INFO L272 TraceCheckUtils]: 43: Hoare triple {12195#(or (= (+ 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))))) (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)); {11946#true} is VALID [2022-04-08 05:32:57,343 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11946#true} {12195#(or (= (+ 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))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #68#return; {12195#(or (= (+ 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))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 05:32:57,343 INFO L290 TraceCheckUtils]: 41: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-08 05:32:57,343 INFO L290 TraceCheckUtils]: 40: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-08 05:32:57,343 INFO L290 TraceCheckUtils]: 39: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-08 05:32:57,344 INFO L272 TraceCheckUtils]: 38: Hoare triple {12195#(or (= (+ 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))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11946#true} is VALID [2022-04-08 05:32:57,344 INFO L290 TraceCheckUtils]: 37: Hoare triple {12195#(or (= (+ 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))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(#t~post6 < 5);havoc #t~post6; {12195#(or (= (+ 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))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 05:32:57,345 INFO L290 TraceCheckUtils]: 36: Hoare triple {12195#(or (= (+ 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))))) (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; {12195#(or (= (+ 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))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 05:32:58,773 INFO L290 TraceCheckUtils]: 35: Hoare triple {12248#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {12195#(or (= (+ 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))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 05:32:58,774 INFO L290 TraceCheckUtils]: 34: Hoare triple {12248#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} assume !!(~a~0 != ~b~0); {12248#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} is VALID [2022-04-08 05:32:58,775 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} {11946#true} #72#return; {12248#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} is VALID [2022-04-08 05:32:58,775 INFO L290 TraceCheckUtils]: 32: Hoare triple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:58,775 INFO L290 TraceCheckUtils]: 31: Hoare triple {12205#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:32:58,776 INFO L290 TraceCheckUtils]: 30: Hoare triple {11946#true} ~cond := #in~cond; {12205#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:32:58,776 INFO L272 TraceCheckUtils]: 29: Hoare triple {11946#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11946#true} is VALID [2022-04-08 05:32:58,776 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11946#true} {11946#true} #70#return; {11946#true} is VALID [2022-04-08 05:32:58,776 INFO L290 TraceCheckUtils]: 27: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-08 05:32:58,776 INFO L290 TraceCheckUtils]: 26: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-08 05:32:58,776 INFO L290 TraceCheckUtils]: 25: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-08 05:32:58,776 INFO L272 TraceCheckUtils]: 24: Hoare triple {11946#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11946#true} is VALID [2022-04-08 05:32:58,776 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11946#true} {11946#true} #68#return; {11946#true} is VALID [2022-04-08 05:32:58,776 INFO L290 TraceCheckUtils]: 22: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-08 05:32:58,776 INFO L290 TraceCheckUtils]: 21: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-08 05:32:58,777 INFO L290 TraceCheckUtils]: 20: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-08 05:32:58,777 INFO L272 TraceCheckUtils]: 19: Hoare triple {11946#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11946#true} is VALID [2022-04-08 05:32:58,777 INFO L290 TraceCheckUtils]: 18: Hoare triple {11946#true} assume !!(#t~post6 < 5);havoc #t~post6; {11946#true} is VALID [2022-04-08 05:32:58,777 INFO L290 TraceCheckUtils]: 17: Hoare triple {11946#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11946#true} is VALID [2022-04-08 05:32:58,777 INFO L290 TraceCheckUtils]: 16: Hoare triple {11946#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11946#true} is VALID [2022-04-08 05:32:58,777 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11946#true} {11946#true} #66#return; {11946#true} is VALID [2022-04-08 05:32:58,777 INFO L290 TraceCheckUtils]: 14: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-08 05:32:58,777 INFO L290 TraceCheckUtils]: 13: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-08 05:32:58,777 INFO L290 TraceCheckUtils]: 12: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-08 05:32:58,777 INFO L272 TraceCheckUtils]: 11: Hoare triple {11946#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11946#true} is VALID [2022-04-08 05:32:58,777 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11946#true} {11946#true} #64#return; {11946#true} is VALID [2022-04-08 05:32:58,777 INFO L290 TraceCheckUtils]: 9: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-08 05:32:58,777 INFO L290 TraceCheckUtils]: 8: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-08 05:32:58,777 INFO L290 TraceCheckUtils]: 7: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-08 05:32:58,778 INFO L272 TraceCheckUtils]: 6: Hoare triple {11946#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11946#true} is VALID [2022-04-08 05:32:58,778 INFO L290 TraceCheckUtils]: 5: Hoare triple {11946#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {11946#true} is VALID [2022-04-08 05:32:58,778 INFO L272 TraceCheckUtils]: 4: Hoare triple {11946#true} call #t~ret7 := main(); {11946#true} is VALID [2022-04-08 05:32:58,778 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11946#true} {11946#true} #82#return; {11946#true} is VALID [2022-04-08 05:32:58,778 INFO L290 TraceCheckUtils]: 2: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-08 05:32:58,778 INFO L290 TraceCheckUtils]: 1: Hoare triple {11946#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11946#true} is VALID [2022-04-08 05:32:58,778 INFO L272 TraceCheckUtils]: 0: Hoare triple {11946#true} call ULTIMATE.init(); {11946#true} is VALID [2022-04-08 05:32:58,778 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 43 proven. 16 refuted. 0 times theorem prover too weak. 58 trivial. 0 not checked. [2022-04-08 05:32:58,778 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:32:58,778 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2029319129] [2022-04-08 05:32:58,779 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:32:58,779 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1573667416] [2022-04-08 05:32:58,779 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1573667416] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:32:58,779 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:32:58,779 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2022-04-08 05:32:58,779 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:32:58,779 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1142979274] [2022-04-08 05:32:58,779 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1142979274] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:32:58,779 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:32:58,779 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 05:32:58,779 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1223835717] [2022-04-08 05:32:58,779 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:32:58,780 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-08 05:32:58,780 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:32:58,780 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:32:58,824 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-08 05:32:58,824 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 05:32:58,825 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:32:58,825 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 05:32:58,825 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=161, Unknown=0, NotChecked=0, Total=210 [2022-04-08 05:32:58,825 INFO L87 Difference]: Start difference. First operand 181 states and 220 transitions. Second operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:32:59,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:32:59,947 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-08 05:32:59,947 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:32:59,948 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-08 05:32:59,948 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:32:59,948 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:32:59,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-08 05:32:59,949 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:32:59,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-08 05:32:59,950 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-08 05:33:00,049 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:33:00,053 INFO L225 Difference]: With dead ends: 208 [2022-04-08 05:33:00,053 INFO L226 Difference]: Without dead ends: 206 [2022-04-08 05:33:00,053 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 116 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=62, Invalid=210, Unknown=0, NotChecked=0, Total=272 [2022-04-08 05:33:00,053 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 18 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 347 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 25 SdHoareTripleChecker+Valid, 199 SdHoareTripleChecker+Invalid, 356 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 347 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 05:33:00,054 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [25 Valid, 199 Invalid, 356 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 347 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 05:33:00,054 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states. [2022-04-08 05:33:00,186 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 190. [2022-04-08 05:33:00,186 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:33:00,187 INFO L82 GeneralOperation]: Start isEquivalent. First operand 206 states. Second operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-08 05:33:00,187 INFO L74 IsIncluded]: Start isIncluded. First operand 206 states. Second operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-08 05:33:00,187 INFO L87 Difference]: Start difference. First operand 206 states. Second operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-08 05:33:00,191 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:00,191 INFO L93 Difference]: Finished difference Result 206 states and 257 transitions. [2022-04-08 05:33:00,191 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 257 transitions. [2022-04-08 05:33:00,192 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:33:00,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:33:00,192 INFO L74 IsIncluded]: Start isIncluded. First operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) Second operand 206 states. [2022-04-08 05:33:00,193 INFO L87 Difference]: Start difference. First operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) Second operand 206 states. [2022-04-08 05:33:00,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:00,196 INFO L93 Difference]: Finished difference Result 206 states and 257 transitions. [2022-04-08 05:33:00,197 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 257 transitions. [2022-04-08 05:33:00,197 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:33:00,197 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:33:00,197 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:33:00,197 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:33:00,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-08 05:33:00,201 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 190 states to 190 states and 232 transitions. [2022-04-08 05:33:00,201 INFO L78 Accepts]: Start accepts. Automaton has 190 states and 232 transitions. Word has length 66 [2022-04-08 05:33:00,201 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:33:00,202 INFO L478 AbstractCegarLoop]: Abstraction has 190 states and 232 transitions. [2022-04-08 05:33:00,202 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 05:33:00,202 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 190 states and 232 transitions. [2022-04-08 05:33:00,531 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 232 edges. 232 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:33:00,531 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 232 transitions. [2022-04-08 05:33:00,532 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-08 05:33:00,532 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:33:00,532 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:33:00,556 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-08 05:33:00,732 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-08 05:33:00,733 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:33:00,733 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:33:00,733 INFO L85 PathProgramCache]: Analyzing trace with hash 1181721515, now seen corresponding path program 5 times [2022-04-08 05:33:00,733 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:33:00,733 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [592041681] [2022-04-08 05:33:00,734 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:33:00,734 INFO L85 PathProgramCache]: Analyzing trace with hash 1181721515, now seen corresponding path program 6 times [2022-04-08 05:33:00,734 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:33:00,734 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1148717626] [2022-04-08 05:33:00,734 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:33:00,734 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:33:00,743 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:33:00,743 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2005720649] [2022-04-08 05:33:00,743 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 05:33:00,743 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:33:00,744 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:33:00,744 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-08 05:33:00,745 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-08 05:33:00,798 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 05:33:00,798 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:33:00,799 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-08 05:33:00,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:33:00,818 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:33:01,161 INFO L272 TraceCheckUtils]: 0: Hoare triple {13568#true} call ULTIMATE.init(); {13568#true} is VALID [2022-04-08 05:33:01,161 INFO L290 TraceCheckUtils]: 1: Hoare triple {13568#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13568#true} is VALID [2022-04-08 05:33:01,161 INFO L290 TraceCheckUtils]: 2: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:01,161 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13568#true} {13568#true} #82#return; {13568#true} is VALID [2022-04-08 05:33:01,161 INFO L272 TraceCheckUtils]: 4: Hoare triple {13568#true} call #t~ret7 := main(); {13568#true} is VALID [2022-04-08 05:33:01,161 INFO L290 TraceCheckUtils]: 5: Hoare triple {13568#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {13568#true} is VALID [2022-04-08 05:33:01,161 INFO L272 TraceCheckUtils]: 6: Hoare triple {13568#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13568#true} is VALID [2022-04-08 05:33:01,161 INFO L290 TraceCheckUtils]: 7: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-08 05:33:01,161 INFO L290 TraceCheckUtils]: 8: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-08 05:33:01,161 INFO L290 TraceCheckUtils]: 9: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:01,162 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13568#true} {13568#true} #64#return; {13568#true} is VALID [2022-04-08 05:33:01,162 INFO L272 TraceCheckUtils]: 11: Hoare triple {13568#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13568#true} is VALID [2022-04-08 05:33:01,162 INFO L290 TraceCheckUtils]: 12: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-08 05:33:01,162 INFO L290 TraceCheckUtils]: 13: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-08 05:33:01,162 INFO L290 TraceCheckUtils]: 14: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:01,162 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13568#true} {13568#true} #66#return; {13568#true} is VALID [2022-04-08 05:33:01,162 INFO L290 TraceCheckUtils]: 16: Hoare triple {13568#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:01,163 INFO L290 TraceCheckUtils]: 17: Hoare triple {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:01,163 INFO L290 TraceCheckUtils]: 18: Hoare triple {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:01,163 INFO L272 TraceCheckUtils]: 19: Hoare triple {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13568#true} is VALID [2022-04-08 05:33:01,163 INFO L290 TraceCheckUtils]: 20: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-08 05:33:01,163 INFO L290 TraceCheckUtils]: 21: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-08 05:33:01,163 INFO L290 TraceCheckUtils]: 22: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:01,164 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13568#true} {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:01,164 INFO L272 TraceCheckUtils]: 24: Hoare triple {13621#(and (= main_~r~0 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)); {13568#true} is VALID [2022-04-08 05:33:01,164 INFO L290 TraceCheckUtils]: 25: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-08 05:33:01,164 INFO L290 TraceCheckUtils]: 26: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-08 05:33:01,164 INFO L290 TraceCheckUtils]: 27: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:01,165 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13568#true} {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:01,165 INFO L272 TraceCheckUtils]: 29: Hoare triple {13621#(and (= main_~r~0 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)); {13568#true} is VALID [2022-04-08 05:33:01,165 INFO L290 TraceCheckUtils]: 30: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-08 05:33:01,165 INFO L290 TraceCheckUtils]: 31: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-08 05:33:01,165 INFO L290 TraceCheckUtils]: 32: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:01,165 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13568#true} {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:01,166 INFO L290 TraceCheckUtils]: 34: Hoare triple {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:01,166 INFO L290 TraceCheckUtils]: 35: Hoare triple {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:01,167 INFO L290 TraceCheckUtils]: 36: Hoare triple {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:01,167 INFO L290 TraceCheckUtils]: 37: Hoare triple {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:01,167 INFO L272 TraceCheckUtils]: 38: Hoare triple {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13568#true} is VALID [2022-04-08 05:33:01,167 INFO L290 TraceCheckUtils]: 39: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-08 05:33:01,167 INFO L290 TraceCheckUtils]: 40: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-08 05:33:01,167 INFO L290 TraceCheckUtils]: 41: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:01,168 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13568#true} {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:01,168 INFO L272 TraceCheckUtils]: 43: Hoare triple {13679#(and (= (+ main_~s~0 main_~r~0) 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)); {13568#true} is VALID [2022-04-08 05:33:01,168 INFO L290 TraceCheckUtils]: 44: Hoare triple {13568#true} ~cond := #in~cond; {13707#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:01,168 INFO L290 TraceCheckUtils]: 45: Hoare triple {13707#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:01,169 INFO L290 TraceCheckUtils]: 46: Hoare triple {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:01,169 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {13718#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:01,169 INFO L272 TraceCheckUtils]: 48: Hoare triple {13718#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= 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)); {13568#true} is VALID [2022-04-08 05:33:01,169 INFO L290 TraceCheckUtils]: 49: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-08 05:33:01,170 INFO L290 TraceCheckUtils]: 50: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-08 05:33:01,170 INFO L290 TraceCheckUtils]: 51: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:01,170 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13568#true} {13718#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {13718#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:01,171 INFO L290 TraceCheckUtils]: 53: Hoare triple {13718#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {13718#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 05:33:01,173 INFO L290 TraceCheckUtils]: 54: Hoare triple {13718#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-08 05:33:01,173 INFO L290 TraceCheckUtils]: 55: Hoare triple {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-08 05:33:01,174 INFO L290 TraceCheckUtils]: 56: Hoare triple {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} assume !!(#t~post6 < 5);havoc #t~post6; {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-08 05:33:01,174 INFO L272 TraceCheckUtils]: 57: Hoare triple {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13568#true} is VALID [2022-04-08 05:33:01,174 INFO L290 TraceCheckUtils]: 58: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-08 05:33:01,174 INFO L290 TraceCheckUtils]: 59: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-08 05:33:01,174 INFO L290 TraceCheckUtils]: 60: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:01,175 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13568#true} {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} #68#return; {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-08 05:33:01,175 INFO L272 TraceCheckUtils]: 62: Hoare triple {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13568#true} is VALID [2022-04-08 05:33:01,175 INFO L290 TraceCheckUtils]: 63: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-08 05:33:01,175 INFO L290 TraceCheckUtils]: 64: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-08 05:33:01,175 INFO L290 TraceCheckUtils]: 65: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:01,176 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13568#true} {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} #70#return; {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-08 05:33:01,176 INFO L272 TraceCheckUtils]: 67: Hoare triple {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13780#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:33:01,177 INFO L290 TraceCheckUtils]: 68: Hoare triple {13780#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13784#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:01,177 INFO L290 TraceCheckUtils]: 69: Hoare triple {13784#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13569#false} is VALID [2022-04-08 05:33:01,177 INFO L290 TraceCheckUtils]: 70: Hoare triple {13569#false} assume !false; {13569#false} is VALID [2022-04-08 05:33:01,177 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 27 proven. 27 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-08 05:33:01,177 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:33:13,084 INFO L290 TraceCheckUtils]: 70: Hoare triple {13569#false} assume !false; {13569#false} is VALID [2022-04-08 05:33:13,084 INFO L290 TraceCheckUtils]: 69: Hoare triple {13784#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13569#false} is VALID [2022-04-08 05:33:13,085 INFO L290 TraceCheckUtils]: 68: Hoare triple {13780#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13784#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:13,085 INFO L272 TraceCheckUtils]: 67: Hoare triple {13800#(= 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)); {13780#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:33:13,086 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13568#true} {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:13,086 INFO L290 TraceCheckUtils]: 65: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:13,086 INFO L290 TraceCheckUtils]: 64: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-08 05:33:13,086 INFO L290 TraceCheckUtils]: 63: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-08 05:33:13,086 INFO L272 TraceCheckUtils]: 62: Hoare triple {13800#(= 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)); {13568#true} is VALID [2022-04-08 05:33:13,087 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13568#true} {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:13,087 INFO L290 TraceCheckUtils]: 60: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:13,087 INFO L290 TraceCheckUtils]: 59: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-08 05:33:13,087 INFO L290 TraceCheckUtils]: 58: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-08 05:33:13,087 INFO L272 TraceCheckUtils]: 57: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13568#true} is VALID [2022-04-08 05:33:13,087 INFO L290 TraceCheckUtils]: 56: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:13,088 INFO L290 TraceCheckUtils]: 55: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:15,090 WARN L290 TraceCheckUtils]: 54: Hoare triple {13840#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-08 05:33:15,090 INFO L290 TraceCheckUtils]: 53: Hoare triple {13840#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {13840#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 05:33:15,091 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13568#true} {13840#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #72#return; {13840#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 05:33:15,091 INFO L290 TraceCheckUtils]: 51: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:15,091 INFO L290 TraceCheckUtils]: 50: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-08 05:33:15,091 INFO L290 TraceCheckUtils]: 49: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-08 05:33:15,091 INFO L272 TraceCheckUtils]: 48: Hoare triple {13840#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13568#true} is VALID [2022-04-08 05:33:15,092 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #70#return; {13840#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 05:33:15,092 INFO L290 TraceCheckUtils]: 46: Hoare triple {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:15,093 INFO L290 TraceCheckUtils]: 45: Hoare triple {13872#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:15,093 INFO L290 TraceCheckUtils]: 44: Hoare triple {13568#true} ~cond := #in~cond; {13872#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:33:15,093 INFO L272 TraceCheckUtils]: 43: Hoare triple {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13568#true} is VALID [2022-04-08 05:33:15,094 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13568#true} {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #68#return; {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:33:15,094 INFO L290 TraceCheckUtils]: 41: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:15,094 INFO L290 TraceCheckUtils]: 40: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-08 05:33:15,094 INFO L290 TraceCheckUtils]: 39: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-08 05:33:15,094 INFO L272 TraceCheckUtils]: 38: Hoare triple {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13568#true} is VALID [2022-04-08 05:33:15,095 INFO L290 TraceCheckUtils]: 37: Hoare triple {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:33:15,095 INFO L290 TraceCheckUtils]: 36: Hoare triple {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:33:15,096 INFO L290 TraceCheckUtils]: 35: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:33:15,097 INFO L290 TraceCheckUtils]: 34: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~a~0 != ~b~0); {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:15,097 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13568#true} {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #72#return; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:15,097 INFO L290 TraceCheckUtils]: 32: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:15,097 INFO L290 TraceCheckUtils]: 31: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-08 05:33:15,097 INFO L290 TraceCheckUtils]: 30: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-08 05:33:15,097 INFO L272 TraceCheckUtils]: 29: Hoare triple {13800#(= 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)); {13568#true} is VALID [2022-04-08 05:33:15,098 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13568#true} {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:15,098 INFO L290 TraceCheckUtils]: 27: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:15,098 INFO L290 TraceCheckUtils]: 26: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-08 05:33:15,098 INFO L290 TraceCheckUtils]: 25: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-08 05:33:15,098 INFO L272 TraceCheckUtils]: 24: Hoare triple {13800#(= 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)); {13568#true} is VALID [2022-04-08 05:33:15,099 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13568#true} {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:15,099 INFO L290 TraceCheckUtils]: 22: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:15,099 INFO L290 TraceCheckUtils]: 21: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-08 05:33:15,099 INFO L290 TraceCheckUtils]: 20: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-08 05:33:15,099 INFO L272 TraceCheckUtils]: 19: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13568#true} is VALID [2022-04-08 05:33:15,100 INFO L290 TraceCheckUtils]: 18: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:15,100 INFO L290 TraceCheckUtils]: 17: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:15,100 INFO L290 TraceCheckUtils]: 16: Hoare triple {13568#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:15,100 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13568#true} {13568#true} #66#return; {13568#true} is VALID [2022-04-08 05:33:15,100 INFO L290 TraceCheckUtils]: 14: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:15,101 INFO L290 TraceCheckUtils]: 13: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-08 05:33:15,101 INFO L290 TraceCheckUtils]: 12: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-08 05:33:15,101 INFO L272 TraceCheckUtils]: 11: Hoare triple {13568#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13568#true} is VALID [2022-04-08 05:33:15,101 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13568#true} {13568#true} #64#return; {13568#true} is VALID [2022-04-08 05:33:15,101 INFO L290 TraceCheckUtils]: 9: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:15,101 INFO L290 TraceCheckUtils]: 8: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-08 05:33:15,101 INFO L290 TraceCheckUtils]: 7: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-08 05:33:15,101 INFO L272 TraceCheckUtils]: 6: Hoare triple {13568#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13568#true} is VALID [2022-04-08 05:33:15,101 INFO L290 TraceCheckUtils]: 5: Hoare triple {13568#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {13568#true} is VALID [2022-04-08 05:33:15,101 INFO L272 TraceCheckUtils]: 4: Hoare triple {13568#true} call #t~ret7 := main(); {13568#true} is VALID [2022-04-08 05:33:15,101 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13568#true} {13568#true} #82#return; {13568#true} is VALID [2022-04-08 05:33:15,101 INFO L290 TraceCheckUtils]: 2: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-08 05:33:15,101 INFO L290 TraceCheckUtils]: 1: Hoare triple {13568#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13568#true} is VALID [2022-04-08 05:33:15,101 INFO L272 TraceCheckUtils]: 0: Hoare triple {13568#true} call ULTIMATE.init(); {13568#true} is VALID [2022-04-08 05:33:15,102 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 31 proven. 18 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-08 05:33:15,102 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:33:15,102 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1148717626] [2022-04-08 05:33:15,102 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:33:15,102 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2005720649] [2022-04-08 05:33:15,102 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2005720649] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:33:15,102 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:33:15,102 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-08 05:33:15,103 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:33:15,103 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [592041681] [2022-04-08 05:33:15,103 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [592041681] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:33:15,103 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:33:15,103 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 05:33:15,103 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [333550539] [2022-04-08 05:33:15,103 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:33:15,103 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 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 71 [2022-04-08 05:33:15,103 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:33:15,104 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 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-08 05:33:15,172 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-08 05:33:15,173 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 05:33:15,173 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:33:15,173 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 05:33:15,173 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:33:15,173 INFO L87 Difference]: Start difference. First operand 190 states and 232 transitions. Second operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 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-08 05:33:16,356 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:16,356 INFO L93 Difference]: Finished difference Result 214 states and 271 transitions. [2022-04-08 05:33:16,356 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 05:33:16,356 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 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 71 [2022-04-08 05:33:16,356 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:33:16,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 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-08 05:33:16,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-08 05:33:16,358 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 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-08 05:33:16,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-08 05:33:16,358 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 86 transitions. [2022-04-08 05:33:16,445 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:33:16,448 INFO L225 Difference]: With dead ends: 214 [2022-04-08 05:33:16,448 INFO L226 Difference]: Without dead ends: 208 [2022-04-08 05:33:16,449 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 127 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-08 05:33:16,449 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 14 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 372 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 215 SdHoareTripleChecker+Invalid, 377 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 372 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 05:33:16,449 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 215 Invalid, 377 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 372 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 05:33:16,449 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 208 states. [2022-04-08 05:33:16,576 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 208 to 192. [2022-04-08 05:33:16,577 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:33:16,577 INFO L82 GeneralOperation]: Start isEquivalent. First operand 208 states. Second operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-08 05:33:16,577 INFO L74 IsIncluded]: Start isIncluded. First operand 208 states. Second operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-08 05:33:16,578 INFO L87 Difference]: Start difference. First operand 208 states. Second operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-08 05:33:16,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:16,581 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-08 05:33:16,581 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 259 transitions. [2022-04-08 05:33:16,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:33:16,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:33:16,582 INFO L74 IsIncluded]: Start isIncluded. First operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) Second operand 208 states. [2022-04-08 05:33:16,583 INFO L87 Difference]: Start difference. First operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) Second operand 208 states. [2022-04-08 05:33:16,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:16,586 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-08 05:33:16,586 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 259 transitions. [2022-04-08 05:33:16,587 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:33:16,587 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:33:16,587 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:33:16,587 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:33:16,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-08 05:33:16,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 192 states to 192 states and 236 transitions. [2022-04-08 05:33:16,591 INFO L78 Accepts]: Start accepts. Automaton has 192 states and 236 transitions. Word has length 71 [2022-04-08 05:33:16,591 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:33:16,608 INFO L478 AbstractCegarLoop]: Abstraction has 192 states and 236 transitions. [2022-04-08 05:33:16,609 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 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-08 05:33:16,609 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 192 states and 236 transitions. [2022-04-08 05:33:16,963 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 236 edges. 236 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:33:16,963 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 236 transitions. [2022-04-08 05:33:16,964 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-08 05:33:16,964 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:33:16,964 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:33:16,982 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-08 05:33:17,164 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:33:17,165 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:33:17,165 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:33:17,165 INFO L85 PathProgramCache]: Analyzing trace with hash 787354729, now seen corresponding path program 3 times [2022-04-08 05:33:17,165 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:33:17,165 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [722422858] [2022-04-08 05:33:17,165 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:33:17,166 INFO L85 PathProgramCache]: Analyzing trace with hash 787354729, now seen corresponding path program 4 times [2022-04-08 05:33:17,166 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:33:17,166 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [753971065] [2022-04-08 05:33:17,166 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:33:17,166 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:33:17,175 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:33:17,175 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1474425419] [2022-04-08 05:33:17,175 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:33:17,175 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:33:17,175 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:33:17,184 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-08 05:33:17,184 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-08 05:33:17,229 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:33:17,229 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:33:17,230 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-08 05:33:17,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:33:17,250 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:33:17,694 INFO L272 TraceCheckUtils]: 0: Hoare triple {15239#true} call ULTIMATE.init(); {15239#true} is VALID [2022-04-08 05:33:17,694 INFO L290 TraceCheckUtils]: 1: Hoare triple {15239#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15239#true} is VALID [2022-04-08 05:33:17,694 INFO L290 TraceCheckUtils]: 2: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-08 05:33:17,694 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15239#true} {15239#true} #82#return; {15239#true} is VALID [2022-04-08 05:33:17,694 INFO L272 TraceCheckUtils]: 4: Hoare triple {15239#true} call #t~ret7 := main(); {15239#true} is VALID [2022-04-08 05:33:17,694 INFO L290 TraceCheckUtils]: 5: Hoare triple {15239#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {15239#true} is VALID [2022-04-08 05:33:17,694 INFO L272 TraceCheckUtils]: 6: Hoare triple {15239#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15239#true} is VALID [2022-04-08 05:33:17,694 INFO L290 TraceCheckUtils]: 7: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-08 05:33:17,694 INFO L290 TraceCheckUtils]: 8: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-08 05:33:17,695 INFO L290 TraceCheckUtils]: 9: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-08 05:33:17,695 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15239#true} {15239#true} #64#return; {15239#true} is VALID [2022-04-08 05:33:17,695 INFO L272 TraceCheckUtils]: 11: Hoare triple {15239#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15239#true} is VALID [2022-04-08 05:33:17,695 INFO L290 TraceCheckUtils]: 12: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-08 05:33:17,695 INFO L290 TraceCheckUtils]: 13: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-08 05:33:17,695 INFO L290 TraceCheckUtils]: 14: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-08 05:33:17,695 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15239#true} {15239#true} #66#return; {15239#true} is VALID [2022-04-08 05:33:17,695 INFO L290 TraceCheckUtils]: 16: Hoare triple {15239#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15292#(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-08 05:33:17,696 INFO L290 TraceCheckUtils]: 17: Hoare triple {15292#(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; {15292#(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-08 05:33:17,696 INFO L290 TraceCheckUtils]: 18: Hoare triple {15292#(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 < 5);havoc #t~post6; {15292#(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-08 05:33:17,696 INFO L272 TraceCheckUtils]: 19: Hoare triple {15292#(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 __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15239#true} is VALID [2022-04-08 05:33:17,696 INFO L290 TraceCheckUtils]: 20: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-08 05:33:17,696 INFO L290 TraceCheckUtils]: 21: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-08 05:33:17,696 INFO L290 TraceCheckUtils]: 22: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-08 05:33:17,697 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15239#true} {15292#(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))} #68#return; {15292#(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-08 05:33:17,697 INFO L272 TraceCheckUtils]: 24: Hoare triple {15292#(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 __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15239#true} is VALID [2022-04-08 05:33:17,697 INFO L290 TraceCheckUtils]: 25: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-08 05:33:17,697 INFO L290 TraceCheckUtils]: 26: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-08 05:33:17,697 INFO L290 TraceCheckUtils]: 27: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-08 05:33:17,698 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15239#true} {15292#(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))} #70#return; {15292#(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-08 05:33:17,698 INFO L272 TraceCheckUtils]: 29: Hoare triple {15292#(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 __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15239#true} is VALID [2022-04-08 05:33:17,698 INFO L290 TraceCheckUtils]: 30: Hoare triple {15239#true} ~cond := #in~cond; {15335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:17,698 INFO L290 TraceCheckUtils]: 31: Hoare triple {15335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:17,699 INFO L290 TraceCheckUtils]: 32: Hoare triple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:17,699 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} {15292#(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))} #72#return; {15292#(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-08 05:33:17,700 INFO L290 TraceCheckUtils]: 34: Hoare triple {15292#(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 !!(~a~0 != ~b~0); {15292#(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-08 05:33:17,700 INFO L290 TraceCheckUtils]: 35: Hoare triple {15292#(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 !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:17,701 INFO L290 TraceCheckUtils]: 36: Hoare triple {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:17,701 INFO L290 TraceCheckUtils]: 37: Hoare triple {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:17,701 INFO L272 TraceCheckUtils]: 38: Hoare triple {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15239#true} is VALID [2022-04-08 05:33:17,701 INFO L290 TraceCheckUtils]: 39: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-08 05:33:17,701 INFO L290 TraceCheckUtils]: 40: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-08 05:33:17,701 INFO L290 TraceCheckUtils]: 41: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-08 05:33:17,702 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15239#true} {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #68#return; {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:17,702 INFO L272 TraceCheckUtils]: 43: Hoare triple {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15239#true} is VALID [2022-04-08 05:33:17,702 INFO L290 TraceCheckUtils]: 44: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-08 05:33:17,702 INFO L290 TraceCheckUtils]: 45: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-08 05:33:17,702 INFO L290 TraceCheckUtils]: 46: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-08 05:33:17,703 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15239#true} {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #70#return; {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:17,703 INFO L272 TraceCheckUtils]: 48: Hoare triple {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15239#true} is VALID [2022-04-08 05:33:17,703 INFO L290 TraceCheckUtils]: 49: Hoare triple {15239#true} ~cond := #in~cond; {15335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:17,703 INFO L290 TraceCheckUtils]: 50: Hoare triple {15335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:17,704 INFO L290 TraceCheckUtils]: 51: Hoare triple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:17,704 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #72#return; {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:17,705 INFO L290 TraceCheckUtils]: 53: Hoare triple {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:17,706 INFO L290 TraceCheckUtils]: 54: Hoare triple {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-08 05:33:17,706 INFO L290 TraceCheckUtils]: 55: Hoare triple {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-08 05:33:17,706 INFO L290 TraceCheckUtils]: 56: Hoare triple {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} assume !!(#t~post6 < 5);havoc #t~post6; {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-08 05:33:17,707 INFO L272 TraceCheckUtils]: 57: Hoare triple {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15239#true} is VALID [2022-04-08 05:33:17,707 INFO L290 TraceCheckUtils]: 58: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-08 05:33:17,707 INFO L290 TraceCheckUtils]: 59: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-08 05:33:17,707 INFO L290 TraceCheckUtils]: 60: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-08 05:33:17,707 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {15239#true} {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #68#return; {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-08 05:33:17,707 INFO L272 TraceCheckUtils]: 62: Hoare triple {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15239#true} is VALID [2022-04-08 05:33:17,708 INFO L290 TraceCheckUtils]: 63: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-08 05:33:17,708 INFO L290 TraceCheckUtils]: 64: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-08 05:33:17,708 INFO L290 TraceCheckUtils]: 65: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-08 05:33:17,708 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15239#true} {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #70#return; {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-08 05:33:17,709 INFO L272 TraceCheckUtils]: 67: Hoare triple {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15450#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:33:17,709 INFO L290 TraceCheckUtils]: 68: Hoare triple {15450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:17,709 INFO L290 TraceCheckUtils]: 69: Hoare triple {15454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15240#false} is VALID [2022-04-08 05:33:17,709 INFO L290 TraceCheckUtils]: 70: Hoare triple {15240#false} assume !false; {15240#false} is VALID [2022-04-08 05:33:17,710 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 32 proven. 37 refuted. 0 times theorem prover too weak. 80 trivial. 0 not checked. [2022-04-08 05:33:17,710 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:33:43,135 INFO L290 TraceCheckUtils]: 70: Hoare triple {15240#false} assume !false; {15240#false} is VALID [2022-04-08 05:33:43,136 INFO L290 TraceCheckUtils]: 69: Hoare triple {15454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15240#false} is VALID [2022-04-08 05:33:43,136 INFO L290 TraceCheckUtils]: 68: Hoare triple {15450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:43,137 INFO L272 TraceCheckUtils]: 67: Hoare triple {15470#(= 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)); {15450#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:33:43,137 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15239#true} {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:43,138 INFO L290 TraceCheckUtils]: 65: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-08 05:33:43,138 INFO L290 TraceCheckUtils]: 64: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-08 05:33:43,138 INFO L290 TraceCheckUtils]: 63: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-08 05:33:43,138 INFO L272 TraceCheckUtils]: 62: Hoare triple {15470#(= 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)); {15239#true} is VALID [2022-04-08 05:33:43,139 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {15239#true} {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:43,139 INFO L290 TraceCheckUtils]: 60: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-08 05:33:43,139 INFO L290 TraceCheckUtils]: 59: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-08 05:33:43,139 INFO L290 TraceCheckUtils]: 58: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-08 05:33:43,139 INFO L272 TraceCheckUtils]: 57: Hoare triple {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15239#true} is VALID [2022-04-08 05:33:43,140 INFO L290 TraceCheckUtils]: 56: Hoare triple {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:43,140 INFO L290 TraceCheckUtils]: 55: Hoare triple {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:43,418 INFO L290 TraceCheckUtils]: 54: Hoare triple {15510#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:33:43,419 INFO L290 TraceCheckUtils]: 53: Hoare triple {15510#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {15510#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 05:33:43,420 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #72#return; {15510#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 05:33:43,420 INFO L290 TraceCheckUtils]: 51: Hoare triple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:43,420 INFO L290 TraceCheckUtils]: 50: Hoare triple {15527#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:43,421 INFO L290 TraceCheckUtils]: 49: Hoare triple {15239#true} ~cond := #in~cond; {15527#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:33:43,421 INFO L272 TraceCheckUtils]: 48: Hoare triple {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15239#true} is VALID [2022-04-08 05:33:43,421 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15239#true} {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #70#return; {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:33:43,422 INFO L290 TraceCheckUtils]: 46: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-08 05:33:43,422 INFO L290 TraceCheckUtils]: 45: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-08 05:33:43,422 INFO L290 TraceCheckUtils]: 44: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-08 05:33:43,422 INFO L272 TraceCheckUtils]: 43: Hoare triple {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15239#true} is VALID [2022-04-08 05:33:43,422 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15239#true} {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #68#return; {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:33:43,422 INFO L290 TraceCheckUtils]: 41: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-08 05:33:43,422 INFO L290 TraceCheckUtils]: 40: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-08 05:33:43,423 INFO L290 TraceCheckUtils]: 39: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-08 05:33:43,423 INFO L272 TraceCheckUtils]: 38: Hoare triple {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15239#true} is VALID [2022-04-08 05:33:43,423 INFO L290 TraceCheckUtils]: 37: Hoare triple {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:33:43,423 INFO L290 TraceCheckUtils]: 36: Hoare triple {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:33:45,425 WARN L290 TraceCheckUtils]: 35: Hoare triple {15570#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is UNKNOWN [2022-04-08 05:33:45,426 INFO L290 TraceCheckUtils]: 34: Hoare triple {15570#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} assume !!(~a~0 != ~b~0); {15570#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-08 05:33:45,427 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} {15239#true} #72#return; {15570#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-08 05:33:45,427 INFO L290 TraceCheckUtils]: 32: Hoare triple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:45,428 INFO L290 TraceCheckUtils]: 31: Hoare triple {15527#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:33:45,428 INFO L290 TraceCheckUtils]: 30: Hoare triple {15239#true} ~cond := #in~cond; {15527#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:33:45,428 INFO L272 TraceCheckUtils]: 29: Hoare triple {15239#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15239#true} is VALID [2022-04-08 05:33:45,428 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15239#true} {15239#true} #70#return; {15239#true} is VALID [2022-04-08 05:33:45,428 INFO L290 TraceCheckUtils]: 27: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-08 05:33:45,428 INFO L290 TraceCheckUtils]: 26: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-08 05:33:45,429 INFO L290 TraceCheckUtils]: 25: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-08 05:33:45,429 INFO L272 TraceCheckUtils]: 24: Hoare triple {15239#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15239#true} is VALID [2022-04-08 05:33:45,429 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15239#true} {15239#true} #68#return; {15239#true} is VALID [2022-04-08 05:33:45,429 INFO L290 TraceCheckUtils]: 22: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-08 05:33:45,429 INFO L290 TraceCheckUtils]: 21: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-08 05:33:45,429 INFO L290 TraceCheckUtils]: 20: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-08 05:33:45,429 INFO L272 TraceCheckUtils]: 19: Hoare triple {15239#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15239#true} is VALID [2022-04-08 05:33:45,429 INFO L290 TraceCheckUtils]: 18: Hoare triple {15239#true} assume !!(#t~post6 < 5);havoc #t~post6; {15239#true} is VALID [2022-04-08 05:33:45,429 INFO L290 TraceCheckUtils]: 17: Hoare triple {15239#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15239#true} is VALID [2022-04-08 05:33:45,429 INFO L290 TraceCheckUtils]: 16: Hoare triple {15239#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15239#true} is VALID [2022-04-08 05:33:45,429 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15239#true} {15239#true} #66#return; {15239#true} is VALID [2022-04-08 05:33:45,429 INFO L290 TraceCheckUtils]: 14: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-08 05:33:45,429 INFO L290 TraceCheckUtils]: 13: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-08 05:33:45,429 INFO L290 TraceCheckUtils]: 12: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-08 05:33:45,430 INFO L272 TraceCheckUtils]: 11: Hoare triple {15239#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15239#true} is VALID [2022-04-08 05:33:45,430 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15239#true} {15239#true} #64#return; {15239#true} is VALID [2022-04-08 05:33:45,430 INFO L290 TraceCheckUtils]: 9: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-08 05:33:45,430 INFO L290 TraceCheckUtils]: 8: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-08 05:33:45,430 INFO L290 TraceCheckUtils]: 7: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-08 05:33:45,430 INFO L272 TraceCheckUtils]: 6: Hoare triple {15239#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15239#true} is VALID [2022-04-08 05:33:45,430 INFO L290 TraceCheckUtils]: 5: Hoare triple {15239#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {15239#true} is VALID [2022-04-08 05:33:45,430 INFO L272 TraceCheckUtils]: 4: Hoare triple {15239#true} call #t~ret7 := main(); {15239#true} is VALID [2022-04-08 05:33:45,430 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15239#true} {15239#true} #82#return; {15239#true} is VALID [2022-04-08 05:33:45,430 INFO L290 TraceCheckUtils]: 2: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-08 05:33:45,430 INFO L290 TraceCheckUtils]: 1: Hoare triple {15239#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15239#true} is VALID [2022-04-08 05:33:45,430 INFO L272 TraceCheckUtils]: 0: Hoare triple {15239#true} call ULTIMATE.init(); {15239#true} is VALID [2022-04-08 05:33:45,431 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 42 proven. 27 refuted. 0 times theorem prover too weak. 80 trivial. 0 not checked. [2022-04-08 05:33:45,431 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:33:45,431 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [753971065] [2022-04-08 05:33:45,431 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:33:45,431 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1474425419] [2022-04-08 05:33:45,431 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1474425419] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:33:45,431 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:33:45,431 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-08 05:33:45,431 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:33:45,431 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [722422858] [2022-04-08 05:33:45,431 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [722422858] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:33:45,432 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:33:45,432 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:33:45,432 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [871911245] [2022-04-08 05:33:45,432 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:33:45,432 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 71 [2022-04-08 05:33:45,432 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:33:45,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:33:45,478 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-08 05:33:45,478 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:33:45,478 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:33:45,478 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:33:45,478 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:33:45,479 INFO L87 Difference]: Start difference. First operand 192 states and 236 transitions. Second operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:33:46,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:46,535 INFO L93 Difference]: Finished difference Result 219 states and 281 transitions. [2022-04-08 05:33:46,535 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:33:46,535 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 71 [2022-04-08 05:33:46,535 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:33:46,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:33:46,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-08 05:33:46,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:33:46,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-08 05:33:46,537 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-08 05:33:46,635 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:33:46,656 INFO L225 Difference]: With dead ends: 219 [2022-04-08 05:33:46,656 INFO L226 Difference]: Without dead ends: 210 [2022-04-08 05:33:46,657 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 127 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-08 05:33:46,660 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 16 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 283 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 162 SdHoareTripleChecker+Invalid, 298 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 283 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 05:33:46,660 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 162 Invalid, 298 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 283 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 05:33:46,661 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states. [2022-04-08 05:33:46,798 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 208. [2022-04-08 05:33:46,798 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:33:46,798 INFO L82 GeneralOperation]: Start isEquivalent. First operand 210 states. Second operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-08 05:33:46,799 INFO L74 IsIncluded]: Start isIncluded. First operand 210 states. Second operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-08 05:33:46,799 INFO L87 Difference]: Start difference. First operand 210 states. Second operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-08 05:33:46,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:46,804 INFO L93 Difference]: Finished difference Result 210 states and 263 transitions. [2022-04-08 05:33:46,804 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 263 transitions. [2022-04-08 05:33:46,804 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:33:46,804 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:33:46,805 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) Second operand 210 states. [2022-04-08 05:33:46,805 INFO L87 Difference]: Start difference. First operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) Second operand 210 states. [2022-04-08 05:33:46,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:46,810 INFO L93 Difference]: Finished difference Result 210 states and 263 transitions. [2022-04-08 05:33:46,810 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 263 transitions. [2022-04-08 05:33:46,811 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:33:46,811 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:33:46,811 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:33:46,811 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:33:46,812 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-08 05:33:46,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 260 transitions. [2022-04-08 05:33:46,817 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 260 transitions. Word has length 71 [2022-04-08 05:33:46,817 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:33:46,817 INFO L478 AbstractCegarLoop]: Abstraction has 208 states and 260 transitions. [2022-04-08 05:33:46,817 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:33:46,817 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 260 transitions. [2022-04-08 05:33:47,263 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-08 05:33:47,263 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 260 transitions. [2022-04-08 05:33:47,264 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-08 05:33:47,264 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:33:47,264 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 4, 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] [2022-04-08 05:33:47,290 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-08 05:33:47,464 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-08 05:33:47,467 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:33:47,467 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:33:47,467 INFO L85 PathProgramCache]: Analyzing trace with hash -1898774094, now seen corresponding path program 5 times [2022-04-08 05:33:47,467 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:33:47,467 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1405533056] [2022-04-08 05:33:47,468 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:33:47,468 INFO L85 PathProgramCache]: Analyzing trace with hash -1898774094, now seen corresponding path program 6 times [2022-04-08 05:33:47,468 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:33:47,468 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [429388004] [2022-04-08 05:33:47,468 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:33:47,468 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:33:47,487 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:33:47,487 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1775136377] [2022-04-08 05:33:47,487 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 05:33:47,488 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:33:47,488 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:33:47,488 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-08 05:33:47,489 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-08 05:33:47,541 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-08 05:33:47,541 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:33:47,542 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 05:33:47,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:33:47,557 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:33:47,861 INFO L272 TraceCheckUtils]: 0: Hoare triple {16956#true} call ULTIMATE.init(); {16956#true} is VALID [2022-04-08 05:33:47,862 INFO L290 TraceCheckUtils]: 1: Hoare triple {16956#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16964#(<= ~counter~0 0)} is VALID [2022-04-08 05:33:47,862 INFO L290 TraceCheckUtils]: 2: Hoare triple {16964#(<= ~counter~0 0)} assume true; {16964#(<= ~counter~0 0)} is VALID [2022-04-08 05:33:47,862 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16964#(<= ~counter~0 0)} {16956#true} #82#return; {16964#(<= ~counter~0 0)} is VALID [2022-04-08 05:33:47,863 INFO L272 TraceCheckUtils]: 4: Hoare triple {16964#(<= ~counter~0 0)} call #t~ret7 := main(); {16964#(<= ~counter~0 0)} is VALID [2022-04-08 05:33:47,863 INFO L290 TraceCheckUtils]: 5: Hoare triple {16964#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {16964#(<= ~counter~0 0)} is VALID [2022-04-08 05:33:47,863 INFO L272 TraceCheckUtils]: 6: Hoare triple {16964#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16964#(<= ~counter~0 0)} is VALID [2022-04-08 05:33:47,864 INFO L290 TraceCheckUtils]: 7: Hoare triple {16964#(<= ~counter~0 0)} ~cond := #in~cond; {16964#(<= ~counter~0 0)} is VALID [2022-04-08 05:33:47,864 INFO L290 TraceCheckUtils]: 8: Hoare triple {16964#(<= ~counter~0 0)} assume !(0 == ~cond); {16964#(<= ~counter~0 0)} is VALID [2022-04-08 05:33:47,864 INFO L290 TraceCheckUtils]: 9: Hoare triple {16964#(<= ~counter~0 0)} assume true; {16964#(<= ~counter~0 0)} is VALID [2022-04-08 05:33:47,864 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16964#(<= ~counter~0 0)} {16964#(<= ~counter~0 0)} #64#return; {16964#(<= ~counter~0 0)} is VALID [2022-04-08 05:33:47,865 INFO L272 TraceCheckUtils]: 11: Hoare triple {16964#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16964#(<= ~counter~0 0)} is VALID [2022-04-08 05:33:47,865 INFO L290 TraceCheckUtils]: 12: Hoare triple {16964#(<= ~counter~0 0)} ~cond := #in~cond; {16964#(<= ~counter~0 0)} is VALID [2022-04-08 05:33:47,865 INFO L290 TraceCheckUtils]: 13: Hoare triple {16964#(<= ~counter~0 0)} assume !(0 == ~cond); {16964#(<= ~counter~0 0)} is VALID [2022-04-08 05:33:47,866 INFO L290 TraceCheckUtils]: 14: Hoare triple {16964#(<= ~counter~0 0)} assume true; {16964#(<= ~counter~0 0)} is VALID [2022-04-08 05:33:47,866 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16964#(<= ~counter~0 0)} {16964#(<= ~counter~0 0)} #66#return; {16964#(<= ~counter~0 0)} is VALID [2022-04-08 05:33:47,866 INFO L290 TraceCheckUtils]: 16: Hoare triple {16964#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16964#(<= ~counter~0 0)} is VALID [2022-04-08 05:33:47,867 INFO L290 TraceCheckUtils]: 17: Hoare triple {16964#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:47,867 INFO L290 TraceCheckUtils]: 18: Hoare triple {17013#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:47,868 INFO L272 TraceCheckUtils]: 19: Hoare triple {17013#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:47,868 INFO L290 TraceCheckUtils]: 20: Hoare triple {17013#(<= ~counter~0 1)} ~cond := #in~cond; {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:47,868 INFO L290 TraceCheckUtils]: 21: Hoare triple {17013#(<= ~counter~0 1)} assume !(0 == ~cond); {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:47,869 INFO L290 TraceCheckUtils]: 22: Hoare triple {17013#(<= ~counter~0 1)} assume true; {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:47,869 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17013#(<= ~counter~0 1)} {17013#(<= ~counter~0 1)} #68#return; {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:47,869 INFO L272 TraceCheckUtils]: 24: Hoare triple {17013#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:47,870 INFO L290 TraceCheckUtils]: 25: Hoare triple {17013#(<= ~counter~0 1)} ~cond := #in~cond; {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:47,870 INFO L290 TraceCheckUtils]: 26: Hoare triple {17013#(<= ~counter~0 1)} assume !(0 == ~cond); {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:47,870 INFO L290 TraceCheckUtils]: 27: Hoare triple {17013#(<= ~counter~0 1)} assume true; {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:47,871 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {17013#(<= ~counter~0 1)} {17013#(<= ~counter~0 1)} #70#return; {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:47,871 INFO L272 TraceCheckUtils]: 29: Hoare triple {17013#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:47,871 INFO L290 TraceCheckUtils]: 30: Hoare triple {17013#(<= ~counter~0 1)} ~cond := #in~cond; {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:47,872 INFO L290 TraceCheckUtils]: 31: Hoare triple {17013#(<= ~counter~0 1)} assume !(0 == ~cond); {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:47,872 INFO L290 TraceCheckUtils]: 32: Hoare triple {17013#(<= ~counter~0 1)} assume true; {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:47,872 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {17013#(<= ~counter~0 1)} {17013#(<= ~counter~0 1)} #72#return; {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:47,873 INFO L290 TraceCheckUtils]: 34: Hoare triple {17013#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:47,873 INFO L290 TraceCheckUtils]: 35: Hoare triple {17013#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:47,874 INFO L290 TraceCheckUtils]: 36: Hoare triple {17013#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:47,874 INFO L290 TraceCheckUtils]: 37: Hoare triple {17071#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:47,874 INFO L272 TraceCheckUtils]: 38: Hoare triple {17071#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:47,875 INFO L290 TraceCheckUtils]: 39: Hoare triple {17071#(<= ~counter~0 2)} ~cond := #in~cond; {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:47,875 INFO L290 TraceCheckUtils]: 40: Hoare triple {17071#(<= ~counter~0 2)} assume !(0 == ~cond); {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:47,875 INFO L290 TraceCheckUtils]: 41: Hoare triple {17071#(<= ~counter~0 2)} assume true; {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:47,876 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17071#(<= ~counter~0 2)} {17071#(<= ~counter~0 2)} #68#return; {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:47,876 INFO L272 TraceCheckUtils]: 43: Hoare triple {17071#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:47,877 INFO L290 TraceCheckUtils]: 44: Hoare triple {17071#(<= ~counter~0 2)} ~cond := #in~cond; {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:47,877 INFO L290 TraceCheckUtils]: 45: Hoare triple {17071#(<= ~counter~0 2)} assume !(0 == ~cond); {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:47,877 INFO L290 TraceCheckUtils]: 46: Hoare triple {17071#(<= ~counter~0 2)} assume true; {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:47,878 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17071#(<= ~counter~0 2)} {17071#(<= ~counter~0 2)} #70#return; {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:47,878 INFO L272 TraceCheckUtils]: 48: Hoare triple {17071#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:47,878 INFO L290 TraceCheckUtils]: 49: Hoare triple {17071#(<= ~counter~0 2)} ~cond := #in~cond; {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:47,879 INFO L290 TraceCheckUtils]: 50: Hoare triple {17071#(<= ~counter~0 2)} assume !(0 == ~cond); {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:47,879 INFO L290 TraceCheckUtils]: 51: Hoare triple {17071#(<= ~counter~0 2)} assume true; {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:47,879 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17071#(<= ~counter~0 2)} {17071#(<= ~counter~0 2)} #72#return; {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:47,880 INFO L290 TraceCheckUtils]: 53: Hoare triple {17071#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:47,880 INFO L290 TraceCheckUtils]: 54: Hoare triple {17071#(<= ~counter~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:47,881 INFO L290 TraceCheckUtils]: 55: Hoare triple {17071#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:47,881 INFO L290 TraceCheckUtils]: 56: Hoare triple {17129#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:47,881 INFO L272 TraceCheckUtils]: 57: Hoare triple {17129#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:47,882 INFO L290 TraceCheckUtils]: 58: Hoare triple {17129#(<= ~counter~0 3)} ~cond := #in~cond; {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:47,882 INFO L290 TraceCheckUtils]: 59: Hoare triple {17129#(<= ~counter~0 3)} assume !(0 == ~cond); {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:47,882 INFO L290 TraceCheckUtils]: 60: Hoare triple {17129#(<= ~counter~0 3)} assume true; {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:47,883 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {17129#(<= ~counter~0 3)} {17129#(<= ~counter~0 3)} #68#return; {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:47,883 INFO L272 TraceCheckUtils]: 62: Hoare triple {17129#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:47,884 INFO L290 TraceCheckUtils]: 63: Hoare triple {17129#(<= ~counter~0 3)} ~cond := #in~cond; {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:47,884 INFO L290 TraceCheckUtils]: 64: Hoare triple {17129#(<= ~counter~0 3)} assume !(0 == ~cond); {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:47,884 INFO L290 TraceCheckUtils]: 65: Hoare triple {17129#(<= ~counter~0 3)} assume true; {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:47,885 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {17129#(<= ~counter~0 3)} {17129#(<= ~counter~0 3)} #70#return; {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:47,885 INFO L272 TraceCheckUtils]: 67: Hoare triple {17129#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:47,885 INFO L290 TraceCheckUtils]: 68: Hoare triple {17129#(<= ~counter~0 3)} ~cond := #in~cond; {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:47,886 INFO L290 TraceCheckUtils]: 69: Hoare triple {17129#(<= ~counter~0 3)} assume !(0 == ~cond); {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:47,886 INFO L290 TraceCheckUtils]: 70: Hoare triple {17129#(<= ~counter~0 3)} assume true; {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:47,886 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {17129#(<= ~counter~0 3)} {17129#(<= ~counter~0 3)} #72#return; {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:47,887 INFO L290 TraceCheckUtils]: 72: Hoare triple {17129#(<= ~counter~0 3)} assume !!(~a~0 != ~b~0); {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:47,887 INFO L290 TraceCheckUtils]: 73: Hoare triple {17129#(<= ~counter~0 3)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:47,887 INFO L290 TraceCheckUtils]: 74: Hoare triple {17129#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17187#(<= |main_#t~post6| 3)} is VALID [2022-04-08 05:33:47,888 INFO L290 TraceCheckUtils]: 75: Hoare triple {17187#(<= |main_#t~post6| 3)} assume !(#t~post6 < 5);havoc #t~post6; {16957#false} is VALID [2022-04-08 05:33:47,888 INFO L272 TraceCheckUtils]: 76: Hoare triple {16957#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {16957#false} is VALID [2022-04-08 05:33:47,888 INFO L290 TraceCheckUtils]: 77: Hoare triple {16957#false} ~cond := #in~cond; {16957#false} is VALID [2022-04-08 05:33:47,888 INFO L290 TraceCheckUtils]: 78: Hoare triple {16957#false} assume 0 == ~cond; {16957#false} is VALID [2022-04-08 05:33:47,888 INFO L290 TraceCheckUtils]: 79: Hoare triple {16957#false} assume !false; {16957#false} is VALID [2022-04-08 05:33:47,888 INFO L134 CoverageAnalysis]: Checked inductivity of 193 backedges. 18 proven. 135 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-08 05:33:47,888 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:33:48,196 INFO L290 TraceCheckUtils]: 79: Hoare triple {16957#false} assume !false; {16957#false} is VALID [2022-04-08 05:33:48,197 INFO L290 TraceCheckUtils]: 78: Hoare triple {16957#false} assume 0 == ~cond; {16957#false} is VALID [2022-04-08 05:33:48,197 INFO L290 TraceCheckUtils]: 77: Hoare triple {16957#false} ~cond := #in~cond; {16957#false} is VALID [2022-04-08 05:33:48,197 INFO L272 TraceCheckUtils]: 76: Hoare triple {16957#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {16957#false} is VALID [2022-04-08 05:33:48,197 INFO L290 TraceCheckUtils]: 75: Hoare triple {17215#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {16957#false} is VALID [2022-04-08 05:33:48,198 INFO L290 TraceCheckUtils]: 74: Hoare triple {17219#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17215#(< |main_#t~post6| 5)} is VALID [2022-04-08 05:33:48,198 INFO L290 TraceCheckUtils]: 73: Hoare triple {17219#(< ~counter~0 5)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17219#(< ~counter~0 5)} is VALID [2022-04-08 05:33:48,198 INFO L290 TraceCheckUtils]: 72: Hoare triple {17219#(< ~counter~0 5)} assume !!(~a~0 != ~b~0); {17219#(< ~counter~0 5)} is VALID [2022-04-08 05:33:48,199 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16956#true} {17219#(< ~counter~0 5)} #72#return; {17219#(< ~counter~0 5)} is VALID [2022-04-08 05:33:48,199 INFO L290 TraceCheckUtils]: 70: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-08 05:33:48,199 INFO L290 TraceCheckUtils]: 69: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-08 05:33:48,199 INFO L290 TraceCheckUtils]: 68: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-08 05:33:48,199 INFO L272 TraceCheckUtils]: 67: Hoare triple {17219#(< ~counter~0 5)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16956#true} is VALID [2022-04-08 05:33:48,200 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {16956#true} {17219#(< ~counter~0 5)} #70#return; {17219#(< ~counter~0 5)} is VALID [2022-04-08 05:33:48,200 INFO L290 TraceCheckUtils]: 65: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-08 05:33:48,200 INFO L290 TraceCheckUtils]: 64: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-08 05:33:48,200 INFO L290 TraceCheckUtils]: 63: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-08 05:33:48,200 INFO L272 TraceCheckUtils]: 62: Hoare triple {17219#(< ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16956#true} is VALID [2022-04-08 05:33:48,201 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16956#true} {17219#(< ~counter~0 5)} #68#return; {17219#(< ~counter~0 5)} is VALID [2022-04-08 05:33:48,201 INFO L290 TraceCheckUtils]: 60: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-08 05:33:48,201 INFO L290 TraceCheckUtils]: 59: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-08 05:33:48,201 INFO L290 TraceCheckUtils]: 58: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-08 05:33:48,201 INFO L272 TraceCheckUtils]: 57: Hoare triple {17219#(< ~counter~0 5)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16956#true} is VALID [2022-04-08 05:33:48,201 INFO L290 TraceCheckUtils]: 56: Hoare triple {17219#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {17219#(< ~counter~0 5)} is VALID [2022-04-08 05:33:48,202 INFO L290 TraceCheckUtils]: 55: Hoare triple {17129#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17219#(< ~counter~0 5)} is VALID [2022-04-08 05:33:48,202 INFO L290 TraceCheckUtils]: 54: Hoare triple {17129#(<= ~counter~0 3)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:48,203 INFO L290 TraceCheckUtils]: 53: Hoare triple {17129#(<= ~counter~0 3)} assume !!(~a~0 != ~b~0); {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:48,203 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {16956#true} {17129#(<= ~counter~0 3)} #72#return; {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:48,203 INFO L290 TraceCheckUtils]: 51: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-08 05:33:48,203 INFO L290 TraceCheckUtils]: 50: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-08 05:33:48,203 INFO L290 TraceCheckUtils]: 49: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-08 05:33:48,203 INFO L272 TraceCheckUtils]: 48: Hoare triple {17129#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16956#true} is VALID [2022-04-08 05:33:48,210 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {16956#true} {17129#(<= ~counter~0 3)} #70#return; {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:48,210 INFO L290 TraceCheckUtils]: 46: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-08 05:33:48,210 INFO L290 TraceCheckUtils]: 45: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-08 05:33:48,210 INFO L290 TraceCheckUtils]: 44: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-08 05:33:48,210 INFO L272 TraceCheckUtils]: 43: Hoare triple {17129#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16956#true} is VALID [2022-04-08 05:33:48,211 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {16956#true} {17129#(<= ~counter~0 3)} #68#return; {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:48,211 INFO L290 TraceCheckUtils]: 41: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-08 05:33:48,211 INFO L290 TraceCheckUtils]: 40: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-08 05:33:48,211 INFO L290 TraceCheckUtils]: 39: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-08 05:33:48,211 INFO L272 TraceCheckUtils]: 38: Hoare triple {17129#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16956#true} is VALID [2022-04-08 05:33:48,211 INFO L290 TraceCheckUtils]: 37: Hoare triple {17129#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:48,212 INFO L290 TraceCheckUtils]: 36: Hoare triple {17071#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17129#(<= ~counter~0 3)} is VALID [2022-04-08 05:33:48,213 INFO L290 TraceCheckUtils]: 35: Hoare triple {17071#(<= ~counter~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:48,213 INFO L290 TraceCheckUtils]: 34: Hoare triple {17071#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:48,213 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {16956#true} {17071#(<= ~counter~0 2)} #72#return; {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:48,213 INFO L290 TraceCheckUtils]: 32: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-08 05:33:48,214 INFO L290 TraceCheckUtils]: 31: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-08 05:33:48,214 INFO L290 TraceCheckUtils]: 30: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-08 05:33:48,214 INFO L272 TraceCheckUtils]: 29: Hoare triple {17071#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16956#true} is VALID [2022-04-08 05:33:48,214 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16956#true} {17071#(<= ~counter~0 2)} #70#return; {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:48,214 INFO L290 TraceCheckUtils]: 27: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-08 05:33:48,214 INFO L290 TraceCheckUtils]: 26: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-08 05:33:48,214 INFO L290 TraceCheckUtils]: 25: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-08 05:33:48,215 INFO L272 TraceCheckUtils]: 24: Hoare triple {17071#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16956#true} is VALID [2022-04-08 05:33:48,215 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16956#true} {17071#(<= ~counter~0 2)} #68#return; {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:48,215 INFO L290 TraceCheckUtils]: 22: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-08 05:33:48,215 INFO L290 TraceCheckUtils]: 21: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-08 05:33:48,215 INFO L290 TraceCheckUtils]: 20: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-08 05:33:48,215 INFO L272 TraceCheckUtils]: 19: Hoare triple {17071#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16956#true} is VALID [2022-04-08 05:33:48,215 INFO L290 TraceCheckUtils]: 18: Hoare triple {17071#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:48,216 INFO L290 TraceCheckUtils]: 17: Hoare triple {17013#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17071#(<= ~counter~0 2)} is VALID [2022-04-08 05:33:48,217 INFO L290 TraceCheckUtils]: 16: Hoare triple {17013#(<= ~counter~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:48,217 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16956#true} {17013#(<= ~counter~0 1)} #66#return; {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:48,217 INFO L290 TraceCheckUtils]: 14: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-08 05:33:48,217 INFO L290 TraceCheckUtils]: 13: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-08 05:33:48,217 INFO L290 TraceCheckUtils]: 12: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-08 05:33:48,217 INFO L272 TraceCheckUtils]: 11: Hoare triple {17013#(<= ~counter~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16956#true} is VALID [2022-04-08 05:33:48,218 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16956#true} {17013#(<= ~counter~0 1)} #64#return; {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:48,218 INFO L290 TraceCheckUtils]: 9: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-08 05:33:48,218 INFO L290 TraceCheckUtils]: 8: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-08 05:33:48,218 INFO L290 TraceCheckUtils]: 7: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-08 05:33:48,218 INFO L272 TraceCheckUtils]: 6: Hoare triple {17013#(<= ~counter~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16956#true} is VALID [2022-04-08 05:33:48,218 INFO L290 TraceCheckUtils]: 5: Hoare triple {17013#(<= ~counter~0 1)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:48,218 INFO L272 TraceCheckUtils]: 4: Hoare triple {17013#(<= ~counter~0 1)} call #t~ret7 := main(); {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:48,219 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17013#(<= ~counter~0 1)} {16956#true} #82#return; {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:48,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {17013#(<= ~counter~0 1)} assume true; {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:48,223 INFO L290 TraceCheckUtils]: 1: Hoare triple {16956#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {17013#(<= ~counter~0 1)} is VALID [2022-04-08 05:33:48,224 INFO L272 TraceCheckUtils]: 0: Hoare triple {16956#true} call ULTIMATE.init(); {16956#true} is VALID [2022-04-08 05:33:48,224 INFO L134 CoverageAnalysis]: Checked inductivity of 193 backedges. 18 proven. 27 refuted. 0 times theorem prover too weak. 148 trivial. 0 not checked. [2022-04-08 05:33:48,224 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:33:48,224 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [429388004] [2022-04-08 05:33:48,224 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:33:48,224 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1775136377] [2022-04-08 05:33:48,224 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1775136377] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:33:48,225 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:33:48,225 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-08 05:33:48,225 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:33:48,225 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1405533056] [2022-04-08 05:33:48,225 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1405533056] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:33:48,225 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:33:48,225 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 05:33:48,225 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2138414844] [2022-04-08 05:33:48,225 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:33:48,225 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) Word has length 80 [2022-04-08 05:33:48,226 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:33:48,226 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), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 05:33:48,269 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:33:48,270 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 05:33:48,270 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:33:48,270 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 05:33:48,270 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:33:48,270 INFO L87 Difference]: Start difference. First operand 208 states and 260 transitions. Second operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 05:33:48,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:48,708 INFO L93 Difference]: Finished difference Result 277 states and 329 transitions. [2022-04-08 05:33:48,708 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 05:33:48,708 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) Word has length 80 [2022-04-08 05:33:48,708 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:33:48,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 05:33:48,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-08 05:33:48,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 05:33:48,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-08 05:33:48,710 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 96 transitions. [2022-04-08 05:33:48,794 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:33:48,799 INFO L225 Difference]: With dead ends: 277 [2022-04-08 05:33:48,799 INFO L226 Difference]: Without dead ends: 250 [2022-04-08 05:33:48,800 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 151 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:33:48,800 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 10 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 40 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 163 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 40 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:33:48,800 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 163 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:33:48,801 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 250 states. [2022-04-08 05:33:48,986 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 250 to 229. [2022-04-08 05:33:48,987 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:33:48,987 INFO L82 GeneralOperation]: Start isEquivalent. First operand 250 states. Second operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-08 05:33:48,989 INFO L74 IsIncluded]: Start isIncluded. First operand 250 states. Second operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-08 05:33:48,989 INFO L87 Difference]: Start difference. First operand 250 states. Second operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-08 05:33:48,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:48,993 INFO L93 Difference]: Finished difference Result 250 states and 294 transitions. [2022-04-08 05:33:48,993 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 294 transitions. [2022-04-08 05:33:48,994 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:33:48,994 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:33:48,994 INFO L74 IsIncluded]: Start isIncluded. First operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) Second operand 250 states. [2022-04-08 05:33:48,995 INFO L87 Difference]: Start difference. First operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) Second operand 250 states. [2022-04-08 05:33:48,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:48,999 INFO L93 Difference]: Finished difference Result 250 states and 294 transitions. [2022-04-08 05:33:48,999 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 294 transitions. [2022-04-08 05:33:48,999 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:33:48,999 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:33:48,999 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:33:49,000 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:33:49,000 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-08 05:33:49,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 229 states to 229 states and 268 transitions. [2022-04-08 05:33:49,004 INFO L78 Accepts]: Start accepts. Automaton has 229 states and 268 transitions. Word has length 80 [2022-04-08 05:33:49,004 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:33:49,004 INFO L478 AbstractCegarLoop]: Abstraction has 229 states and 268 transitions. [2022-04-08 05:33:49,004 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 05:33:49,004 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 229 states and 268 transitions. [2022-04-08 05:33:49,413 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-08 05:33:49,413 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 268 transitions. [2022-04-08 05:33:49,413 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-08 05:33:49,414 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:33:49,414 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:33:49,442 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-08 05:33:49,635 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-08 05:33:49,636 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:33:49,636 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:33:49,636 INFO L85 PathProgramCache]: Analyzing trace with hash 629296923, now seen corresponding path program 7 times [2022-04-08 05:33:49,636 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:33:49,636 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1223681663] [2022-04-08 05:33:49,636 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:33:49,637 INFO L85 PathProgramCache]: Analyzing trace with hash 629296923, now seen corresponding path program 8 times [2022-04-08 05:33:49,637 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:33:49,637 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [799156476] [2022-04-08 05:33:49,637 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:33:49,637 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:33:49,654 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:33:49,655 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1659340867] [2022-04-08 05:33:49,655 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:33:49,655 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:33:49,655 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:33:49,656 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-08 05:33:49,656 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-08 05:33:49,711 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:33:49,711 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:33:49,713 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 05:33:49,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:33:49,728 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:33:50,498 INFO L272 TraceCheckUtils]: 0: Hoare triple {18962#true} call ULTIMATE.init(); {18962#true} is VALID [2022-04-08 05:33:50,498 INFO L290 TraceCheckUtils]: 1: Hoare triple {18962#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18962#true} is VALID [2022-04-08 05:33:50,498 INFO L290 TraceCheckUtils]: 2: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:50,498 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18962#true} {18962#true} #82#return; {18962#true} is VALID [2022-04-08 05:33:50,498 INFO L272 TraceCheckUtils]: 4: Hoare triple {18962#true} call #t~ret7 := main(); {18962#true} is VALID [2022-04-08 05:33:50,498 INFO L290 TraceCheckUtils]: 5: Hoare triple {18962#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {18962#true} is VALID [2022-04-08 05:33:50,498 INFO L272 TraceCheckUtils]: 6: Hoare triple {18962#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:50,498 INFO L290 TraceCheckUtils]: 7: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:50,499 INFO L290 TraceCheckUtils]: 8: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:50,499 INFO L290 TraceCheckUtils]: 9: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:50,499 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18962#true} {18962#true} #64#return; {18962#true} is VALID [2022-04-08 05:33:50,499 INFO L272 TraceCheckUtils]: 11: Hoare triple {18962#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:50,499 INFO L290 TraceCheckUtils]: 12: Hoare triple {18962#true} ~cond := #in~cond; {19003#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:33:50,499 INFO L290 TraceCheckUtils]: 13: Hoare triple {19003#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {19007#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:33:50,500 INFO L290 TraceCheckUtils]: 14: Hoare triple {19007#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {19007#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:33:50,500 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {19007#(not (= |assume_abort_if_not_#in~cond| 0))} {18962#true} #66#return; {19014#(<= 1 main_~y~0)} is VALID [2022-04-08 05:33:50,500 INFO L290 TraceCheckUtils]: 16: Hoare triple {19014#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:50,501 INFO L290 TraceCheckUtils]: 17: Hoare triple {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~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; {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:50,501 INFO L290 TraceCheckUtils]: 18: Hoare triple {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:50,501 INFO L272 TraceCheckUtils]: 19: Hoare triple {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:50,501 INFO L290 TraceCheckUtils]: 20: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:50,502 INFO L290 TraceCheckUtils]: 21: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:50,502 INFO L290 TraceCheckUtils]: 22: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:50,502 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18962#true} {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:50,502 INFO L272 TraceCheckUtils]: 24: Hoare triple {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~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)); {18962#true} is VALID [2022-04-08 05:33:50,502 INFO L290 TraceCheckUtils]: 25: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:50,502 INFO L290 TraceCheckUtils]: 26: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:50,502 INFO L290 TraceCheckUtils]: 27: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:50,504 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18962#true} {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:50,504 INFO L272 TraceCheckUtils]: 29: Hoare triple {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~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)); {18962#true} is VALID [2022-04-08 05:33:50,504 INFO L290 TraceCheckUtils]: 30: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:50,504 INFO L290 TraceCheckUtils]: 31: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:50,504 INFO L290 TraceCheckUtils]: 32: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:50,505 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {18962#true} {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:50,505 INFO L290 TraceCheckUtils]: 34: Hoare triple {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:50,505 INFO L290 TraceCheckUtils]: 35: Hoare triple {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:33:50,506 INFO L290 TraceCheckUtils]: 36: Hoare triple {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:33:50,506 INFO L290 TraceCheckUtils]: 37: Hoare triple {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:33:50,506 INFO L272 TraceCheckUtils]: 38: Hoare triple {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:50,507 INFO L290 TraceCheckUtils]: 39: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:50,507 INFO L290 TraceCheckUtils]: 40: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:50,507 INFO L290 TraceCheckUtils]: 41: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:50,507 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18962#true} {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:33:50,507 INFO L272 TraceCheckUtils]: 43: Hoare triple {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:50,507 INFO L290 TraceCheckUtils]: 44: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:50,508 INFO L290 TraceCheckUtils]: 45: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:50,508 INFO L290 TraceCheckUtils]: 46: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:50,508 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18962#true} {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:33:50,508 INFO L272 TraceCheckUtils]: 48: Hoare triple {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:50,508 INFO L290 TraceCheckUtils]: 49: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:50,508 INFO L290 TraceCheckUtils]: 50: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:50,508 INFO L290 TraceCheckUtils]: 51: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:50,509 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18962#true} {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:33:50,510 INFO L290 TraceCheckUtils]: 53: Hoare triple {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:33:50,512 INFO L290 TraceCheckUtils]: 54: Hoare triple {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:33:50,513 INFO L290 TraceCheckUtils]: 55: Hoare triple {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:33:50,513 INFO L290 TraceCheckUtils]: 56: Hoare triple {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(#t~post6 < 5);havoc #t~post6; {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:33:50,513 INFO L272 TraceCheckUtils]: 57: Hoare triple {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:50,513 INFO L290 TraceCheckUtils]: 58: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:50,513 INFO L290 TraceCheckUtils]: 59: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:50,514 INFO L290 TraceCheckUtils]: 60: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:50,514 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {18962#true} {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #68#return; {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:33:50,514 INFO L272 TraceCheckUtils]: 62: Hoare triple {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:50,514 INFO L290 TraceCheckUtils]: 63: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:50,514 INFO L290 TraceCheckUtils]: 64: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:50,514 INFO L290 TraceCheckUtils]: 65: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:50,515 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18962#true} {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #70#return; {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:33:50,515 INFO L272 TraceCheckUtils]: 67: Hoare triple {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:50,515 INFO L290 TraceCheckUtils]: 68: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:50,515 INFO L290 TraceCheckUtils]: 69: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:50,515 INFO L290 TraceCheckUtils]: 70: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:50,516 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18962#true} {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #72#return; {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:33:50,516 INFO L290 TraceCheckUtils]: 72: Hoare triple {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(~a~0 != ~b~0); {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:33:50,517 INFO L290 TraceCheckUtils]: 73: Hoare triple {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19192#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:50,517 INFO L290 TraceCheckUtils]: 74: Hoare triple {19192#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19192#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:50,518 INFO L290 TraceCheckUtils]: 75: Hoare triple {19192#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {19192#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:50,518 INFO L272 TraceCheckUtils]: 76: Hoare triple {19192#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:50,518 INFO L290 TraceCheckUtils]: 77: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:50,518 INFO L290 TraceCheckUtils]: 78: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:50,518 INFO L290 TraceCheckUtils]: 79: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:50,519 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18962#true} {19192#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} #68#return; {19192#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 05:33:50,519 INFO L272 TraceCheckUtils]: 81: Hoare triple {19192#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19217#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:33:50,520 INFO L290 TraceCheckUtils]: 82: Hoare triple {19217#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19221#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:50,520 INFO L290 TraceCheckUtils]: 83: Hoare triple {19221#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18963#false} is VALID [2022-04-08 05:33:50,520 INFO L290 TraceCheckUtils]: 84: Hoare triple {18963#false} assume !false; {18963#false} is VALID [2022-04-08 05:33:50,520 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 23 proven. 33 refuted. 0 times theorem prover too weak. 181 trivial. 0 not checked. [2022-04-08 05:33:50,520 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:33:50,956 INFO L290 TraceCheckUtils]: 84: Hoare triple {18963#false} assume !false; {18963#false} is VALID [2022-04-08 05:33:50,956 INFO L290 TraceCheckUtils]: 83: Hoare triple {19221#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18963#false} is VALID [2022-04-08 05:33:50,956 INFO L290 TraceCheckUtils]: 82: Hoare triple {19217#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19221#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:50,957 INFO L272 TraceCheckUtils]: 81: Hoare triple {19237#(= 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)); {19217#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:33:50,958 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18962#true} {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:33:50,958 INFO L290 TraceCheckUtils]: 79: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:50,958 INFO L290 TraceCheckUtils]: 78: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:50,958 INFO L290 TraceCheckUtils]: 77: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:50,958 INFO L272 TraceCheckUtils]: 76: Hoare triple {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:50,958 INFO L290 TraceCheckUtils]: 75: Hoare triple {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:33:50,959 INFO L290 TraceCheckUtils]: 74: Hoare triple {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:33:51,155 INFO L290 TraceCheckUtils]: 73: Hoare triple {19262#(= (+ 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)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:33:51,156 INFO L290 TraceCheckUtils]: 72: Hoare triple {19262#(= (+ 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)))))} assume !!(~a~0 != ~b~0); {19262#(= (+ 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)))))} is VALID [2022-04-08 05:33:51,156 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18962#true} {19262#(= (+ 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)))))} #72#return; {19262#(= (+ 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)))))} is VALID [2022-04-08 05:33:51,156 INFO L290 TraceCheckUtils]: 70: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:51,156 INFO L290 TraceCheckUtils]: 69: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:51,157 INFO L290 TraceCheckUtils]: 68: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:51,157 INFO L272 TraceCheckUtils]: 67: Hoare triple {19262#(= (+ 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)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:51,158 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18962#true} {19262#(= (+ 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)))))} #70#return; {19262#(= (+ 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)))))} is VALID [2022-04-08 05:33:51,158 INFO L290 TraceCheckUtils]: 65: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:51,158 INFO L290 TraceCheckUtils]: 64: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:51,165 INFO L290 TraceCheckUtils]: 63: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:51,165 INFO L272 TraceCheckUtils]: 62: Hoare triple {19262#(= (+ 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)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:51,166 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {18962#true} {19262#(= (+ 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)))))} #68#return; {19262#(= (+ 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)))))} is VALID [2022-04-08 05:33:51,166 INFO L290 TraceCheckUtils]: 60: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:51,166 INFO L290 TraceCheckUtils]: 59: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:51,166 INFO L290 TraceCheckUtils]: 58: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:51,166 INFO L272 TraceCheckUtils]: 57: Hoare triple {19262#(= (+ 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)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:51,167 INFO L290 TraceCheckUtils]: 56: Hoare triple {19262#(= (+ 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)))))} assume !!(#t~post6 < 5);havoc #t~post6; {19262#(= (+ 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)))))} is VALID [2022-04-08 05:33:51,167 INFO L290 TraceCheckUtils]: 55: Hoare triple {19262#(= (+ 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)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19262#(= (+ 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)))))} is VALID [2022-04-08 05:33:51,299 INFO L290 TraceCheckUtils]: 54: Hoare triple {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19262#(= (+ 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)))))} is VALID [2022-04-08 05:33:51,300 INFO L290 TraceCheckUtils]: 53: Hoare triple {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !!(~a~0 != ~b~0); {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-08 05:33:51,300 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18962#true} {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #72#return; {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-08 05:33:51,301 INFO L290 TraceCheckUtils]: 51: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:51,301 INFO L290 TraceCheckUtils]: 50: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:51,301 INFO L290 TraceCheckUtils]: 49: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:51,301 INFO L272 TraceCheckUtils]: 48: Hoare triple {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~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)); {18962#true} is VALID [2022-04-08 05:33:51,301 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18962#true} {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #70#return; {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-08 05:33:51,301 INFO L290 TraceCheckUtils]: 46: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:51,301 INFO L290 TraceCheckUtils]: 45: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:51,302 INFO L290 TraceCheckUtils]: 44: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:51,302 INFO L272 TraceCheckUtils]: 43: Hoare triple {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~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)); {18962#true} is VALID [2022-04-08 05:33:51,302 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18962#true} {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #68#return; {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-08 05:33:51,302 INFO L290 TraceCheckUtils]: 41: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:51,302 INFO L290 TraceCheckUtils]: 40: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:51,302 INFO L290 TraceCheckUtils]: 39: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:51,302 INFO L272 TraceCheckUtils]: 38: Hoare triple {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:51,303 INFO L290 TraceCheckUtils]: 37: Hoare triple {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !!(#t~post6 < 5);havoc #t~post6; {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-08 05:33:51,303 INFO L290 TraceCheckUtils]: 36: Hoare triple {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-08 05:33:53,306 WARN L290 TraceCheckUtils]: 35: Hoare triple {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is UNKNOWN [2022-04-08 05:33:53,306 INFO L290 TraceCheckUtils]: 34: Hoare triple {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume !!(~a~0 != ~b~0); {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-08 05:33:53,307 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {18962#true} {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #72#return; {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-08 05:33:53,307 INFO L290 TraceCheckUtils]: 32: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:53,307 INFO L290 TraceCheckUtils]: 31: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:53,307 INFO L290 TraceCheckUtils]: 30: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:53,307 INFO L272 TraceCheckUtils]: 29: Hoare triple {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:53,308 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18962#true} {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #70#return; {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-08 05:33:53,308 INFO L290 TraceCheckUtils]: 27: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:53,308 INFO L290 TraceCheckUtils]: 26: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:53,308 INFO L290 TraceCheckUtils]: 25: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:53,308 INFO L272 TraceCheckUtils]: 24: Hoare triple {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:53,309 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18962#true} {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #68#return; {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-08 05:33:53,309 INFO L290 TraceCheckUtils]: 22: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:53,309 INFO L290 TraceCheckUtils]: 21: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:53,309 INFO L290 TraceCheckUtils]: 20: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:53,309 INFO L272 TraceCheckUtils]: 19: Hoare triple {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:53,309 INFO L290 TraceCheckUtils]: 18: Hoare triple {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume !!(#t~post6 < 5);havoc #t~post6; {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-08 05:33:53,310 INFO L290 TraceCheckUtils]: 17: Hoare triple {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-08 05:33:53,310 INFO L290 TraceCheckUtils]: 16: Hoare triple {18962#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-08 05:33:53,310 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18962#true} {18962#true} #66#return; {18962#true} is VALID [2022-04-08 05:33:53,311 INFO L290 TraceCheckUtils]: 14: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:53,311 INFO L290 TraceCheckUtils]: 13: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:53,311 INFO L290 TraceCheckUtils]: 12: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:53,311 INFO L272 TraceCheckUtils]: 11: Hoare triple {18962#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:53,311 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18962#true} {18962#true} #64#return; {18962#true} is VALID [2022-04-08 05:33:53,311 INFO L290 TraceCheckUtils]: 9: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:53,311 INFO L290 TraceCheckUtils]: 8: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-08 05:33:53,311 INFO L290 TraceCheckUtils]: 7: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-08 05:33:53,311 INFO L272 TraceCheckUtils]: 6: Hoare triple {18962#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18962#true} is VALID [2022-04-08 05:33:53,311 INFO L290 TraceCheckUtils]: 5: Hoare triple {18962#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {18962#true} is VALID [2022-04-08 05:33:53,311 INFO L272 TraceCheckUtils]: 4: Hoare triple {18962#true} call #t~ret7 := main(); {18962#true} is VALID [2022-04-08 05:33:53,311 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18962#true} {18962#true} #82#return; {18962#true} is VALID [2022-04-08 05:33:53,311 INFO L290 TraceCheckUtils]: 2: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-08 05:33:53,311 INFO L290 TraceCheckUtils]: 1: Hoare triple {18962#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18962#true} is VALID [2022-04-08 05:33:53,312 INFO L272 TraceCheckUtils]: 0: Hoare triple {18962#true} call ULTIMATE.init(); {18962#true} is VALID [2022-04-08 05:33:53,312 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 20 proven. 33 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-08 05:33:53,312 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:33:53,312 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [799156476] [2022-04-08 05:33:53,312 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:33:53,312 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1659340867] [2022-04-08 05:33:53,312 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1659340867] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:33:53,312 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:33:53,312 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-08 05:33:53,313 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:33:53,313 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1223681663] [2022-04-08 05:33:53,313 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1223681663] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:33:53,313 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:33:53,313 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 05:33:53,313 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1672003019] [2022-04-08 05:33:53,313 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:33:53,313 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-08 05:33:53,314 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:33:53,314 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:33:53,382 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-08 05:33:53,383 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 05:33:53,383 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:33:53,383 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 05:33:53,383 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-08 05:33:53,383 INFO L87 Difference]: Start difference. First operand 229 states and 268 transitions. Second operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:33:55,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:55,564 INFO L93 Difference]: Finished difference Result 256 states and 307 transitions. [2022-04-08 05:33:55,564 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 05:33:55,564 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-08 05:33:55,564 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:33:55,564 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:33:55,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-08 05:33:55,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:33:55,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-08 05:33:55,568 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-08 05:33:55,692 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-08 05:33:55,697 INFO L225 Difference]: With dead ends: 256 [2022-04-08 05:33:55,697 INFO L226 Difference]: Without dead ends: 254 [2022-04-08 05:33:55,697 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 171 GetRequests, 155 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=52, Invalid=220, Unknown=0, NotChecked=0, Total=272 [2022-04-08 05:33:55,698 INFO L913 BasicCegarLoop]: 55 mSDtfsCounter, 25 mSDsluCounter, 222 mSDsCounter, 0 mSdLazyCounter, 470 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 277 SdHoareTripleChecker+Invalid, 493 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 470 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-08 05:33:55,698 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [36 Valid, 277 Invalid, 493 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 470 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-08 05:33:55,699 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 254 states. [2022-04-08 05:33:55,891 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 254 to 238. [2022-04-08 05:33:55,891 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:33:55,892 INFO L82 GeneralOperation]: Start isEquivalent. First operand 254 states. Second operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-08 05:33:55,892 INFO L74 IsIncluded]: Start isIncluded. First operand 254 states. Second operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-08 05:33:55,893 INFO L87 Difference]: Start difference. First operand 254 states. Second operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-08 05:33:55,897 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:55,897 INFO L93 Difference]: Finished difference Result 254 states and 305 transitions. [2022-04-08 05:33:55,898 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 305 transitions. [2022-04-08 05:33:55,898 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:33:55,898 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:33:55,899 INFO L74 IsIncluded]: Start isIncluded. First operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) Second operand 254 states. [2022-04-08 05:33:55,899 INFO L87 Difference]: Start difference. First operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) Second operand 254 states. [2022-04-08 05:33:55,903 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:33:55,903 INFO L93 Difference]: Finished difference Result 254 states and 305 transitions. [2022-04-08 05:33:55,903 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 305 transitions. [2022-04-08 05:33:55,904 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:33:55,904 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:33:55,904 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:33:55,904 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:33:55,905 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-08 05:33:55,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 238 states to 238 states and 280 transitions. [2022-04-08 05:33:55,910 INFO L78 Accepts]: Start accepts. Automaton has 238 states and 280 transitions. Word has length 85 [2022-04-08 05:33:55,910 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:33:55,910 INFO L478 AbstractCegarLoop]: Abstraction has 238 states and 280 transitions. [2022-04-08 05:33:55,910 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:33:55,910 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 238 states and 280 transitions. [2022-04-08 05:33:56,379 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 280 edges. 280 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:33:56,379 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 280 transitions. [2022-04-08 05:33:56,380 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-08 05:33:56,380 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:33:56,380 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:33:56,400 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-08 05:33:56,580 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:33:56,581 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:33:56,581 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:33:56,581 INFO L85 PathProgramCache]: Analyzing trace with hash 1330896797, now seen corresponding path program 7 times [2022-04-08 05:33:56,581 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:33:56,581 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [589078401] [2022-04-08 05:33:56,581 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:33:56,582 INFO L85 PathProgramCache]: Analyzing trace with hash 1330896797, now seen corresponding path program 8 times [2022-04-08 05:33:56,582 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:33:56,582 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1638188176] [2022-04-08 05:33:56,582 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:33:56,582 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:33:56,591 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:33:56,591 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [826964321] [2022-04-08 05:33:56,591 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:33:56,591 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:33:56,591 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:33:56,608 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-08 05:33:56,610 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-08 05:33:56,708 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:33:56,708 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:33:56,709 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-08 05:33:56,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:33:56,725 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:33:57,572 INFO L272 TraceCheckUtils]: 0: Hoare triple {20986#true} call ULTIMATE.init(); {20986#true} is VALID [2022-04-08 05:33:57,573 INFO L290 TraceCheckUtils]: 1: Hoare triple {20986#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20986#true} is VALID [2022-04-08 05:33:57,573 INFO L290 TraceCheckUtils]: 2: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:57,573 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20986#true} {20986#true} #82#return; {20986#true} is VALID [2022-04-08 05:33:57,573 INFO L272 TraceCheckUtils]: 4: Hoare triple {20986#true} call #t~ret7 := main(); {20986#true} is VALID [2022-04-08 05:33:57,573 INFO L290 TraceCheckUtils]: 5: Hoare triple {20986#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {20986#true} is VALID [2022-04-08 05:33:57,573 INFO L272 TraceCheckUtils]: 6: Hoare triple {20986#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:33:57,573 INFO L290 TraceCheckUtils]: 7: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:33:57,573 INFO L290 TraceCheckUtils]: 8: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:33:57,573 INFO L290 TraceCheckUtils]: 9: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:57,573 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20986#true} {20986#true} #64#return; {20986#true} is VALID [2022-04-08 05:33:57,573 INFO L272 TraceCheckUtils]: 11: Hoare triple {20986#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:33:57,573 INFO L290 TraceCheckUtils]: 12: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:33:57,573 INFO L290 TraceCheckUtils]: 13: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:33:57,573 INFO L290 TraceCheckUtils]: 14: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:57,573 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20986#true} {20986#true} #66#return; {20986#true} is VALID [2022-04-08 05:33:57,574 INFO L290 TraceCheckUtils]: 16: Hoare triple {20986#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {21039#(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-08 05:33:57,574 INFO L290 TraceCheckUtils]: 17: Hoare triple {21039#(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; {21039#(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-08 05:33:57,575 INFO L290 TraceCheckUtils]: 18: Hoare triple {21039#(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 < 5);havoc #t~post6; {21039#(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-08 05:33:57,575 INFO L272 TraceCheckUtils]: 19: Hoare triple {21039#(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 __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:33:57,575 INFO L290 TraceCheckUtils]: 20: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:33:57,575 INFO L290 TraceCheckUtils]: 21: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:33:57,575 INFO L290 TraceCheckUtils]: 22: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:57,576 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20986#true} {21039#(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))} #68#return; {21039#(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-08 05:33:57,576 INFO L272 TraceCheckUtils]: 24: Hoare triple {21039#(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 __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:33:57,576 INFO L290 TraceCheckUtils]: 25: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:33:57,576 INFO L290 TraceCheckUtils]: 26: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:33:57,576 INFO L290 TraceCheckUtils]: 27: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:57,577 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20986#true} {21039#(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))} #70#return; {21039#(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-08 05:33:57,577 INFO L272 TraceCheckUtils]: 29: Hoare triple {21039#(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 __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:33:57,577 INFO L290 TraceCheckUtils]: 30: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:33:57,577 INFO L290 TraceCheckUtils]: 31: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:33:57,577 INFO L290 TraceCheckUtils]: 32: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:57,577 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {20986#true} {21039#(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))} #72#return; {21039#(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-08 05:33:57,578 INFO L290 TraceCheckUtils]: 34: Hoare triple {21039#(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 !!(~a~0 != ~b~0); {21039#(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-08 05:33:57,578 INFO L290 TraceCheckUtils]: 35: Hoare triple {21039#(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 ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 05:33:57,579 INFO L290 TraceCheckUtils]: 36: Hoare triple {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 05:33:57,579 INFO L290 TraceCheckUtils]: 37: Hoare triple {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 05:33:57,579 INFO L272 TraceCheckUtils]: 38: Hoare triple {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:33:57,580 INFO L290 TraceCheckUtils]: 39: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:33:57,580 INFO L290 TraceCheckUtils]: 40: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:33:57,580 INFO L290 TraceCheckUtils]: 41: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:57,580 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20986#true} {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #68#return; {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 05:33:57,580 INFO L272 TraceCheckUtils]: 43: Hoare triple {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:33:57,580 INFO L290 TraceCheckUtils]: 44: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:33:57,581 INFO L290 TraceCheckUtils]: 45: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:33:57,581 INFO L290 TraceCheckUtils]: 46: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:57,581 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20986#true} {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #70#return; {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 05:33:57,581 INFO L272 TraceCheckUtils]: 48: Hoare triple {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:33:57,581 INFO L290 TraceCheckUtils]: 49: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:33:57,581 INFO L290 TraceCheckUtils]: 50: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:33:57,582 INFO L290 TraceCheckUtils]: 51: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:57,591 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20986#true} {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #72#return; {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 05:33:57,591 INFO L290 TraceCheckUtils]: 53: Hoare triple {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 05:33:57,592 INFO L290 TraceCheckUtils]: 54: Hoare triple {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-08 05:33:57,593 INFO L290 TraceCheckUtils]: 55: Hoare triple {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-08 05:33:57,593 INFO L290 TraceCheckUtils]: 56: Hoare triple {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} assume !!(#t~post6 < 5);havoc #t~post6; {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-08 05:33:57,593 INFO L272 TraceCheckUtils]: 57: Hoare triple {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:33:57,593 INFO L290 TraceCheckUtils]: 58: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:33:57,593 INFO L290 TraceCheckUtils]: 59: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:33:57,593 INFO L290 TraceCheckUtils]: 60: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:57,594 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {20986#true} {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #68#return; {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-08 05:33:57,594 INFO L272 TraceCheckUtils]: 62: Hoare triple {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:33:57,594 INFO L290 TraceCheckUtils]: 63: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:33:57,594 INFO L290 TraceCheckUtils]: 64: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:33:57,594 INFO L290 TraceCheckUtils]: 65: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:57,595 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20986#true} {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #70#return; {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-08 05:33:57,595 INFO L272 TraceCheckUtils]: 67: Hoare triple {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:33:57,595 INFO L290 TraceCheckUtils]: 68: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:33:57,595 INFO L290 TraceCheckUtils]: 69: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:33:57,595 INFO L290 TraceCheckUtils]: 70: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:57,596 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20986#true} {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #72#return; {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-08 05:33:57,596 INFO L290 TraceCheckUtils]: 72: Hoare triple {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} assume !!(~a~0 != ~b~0); {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-08 05:33:57,598 INFO L290 TraceCheckUtils]: 73: Hoare triple {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21213#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} is VALID [2022-04-08 05:33:57,599 INFO L290 TraceCheckUtils]: 74: Hoare triple {21213#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21213#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} is VALID [2022-04-08 05:33:57,599 INFO L290 TraceCheckUtils]: 75: Hoare triple {21213#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} assume !!(#t~post6 < 5);havoc #t~post6; {21213#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} is VALID [2022-04-08 05:33:57,599 INFO L272 TraceCheckUtils]: 76: Hoare triple {21213#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:33:57,599 INFO L290 TraceCheckUtils]: 77: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:33:57,599 INFO L290 TraceCheckUtils]: 78: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:33:57,599 INFO L290 TraceCheckUtils]: 79: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:57,600 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20986#true} {21213#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} #68#return; {21213#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} is VALID [2022-04-08 05:33:57,601 INFO L272 TraceCheckUtils]: 81: Hoare triple {21213#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21238#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:33:57,601 INFO L290 TraceCheckUtils]: 82: Hoare triple {21238#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21242#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:57,601 INFO L290 TraceCheckUtils]: 83: Hoare triple {21242#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20987#false} is VALID [2022-04-08 05:33:57,602 INFO L290 TraceCheckUtils]: 84: Hoare triple {20987#false} assume !false; {20987#false} is VALID [2022-04-08 05:33:57,602 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 20 proven. 33 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-08 05:33:57,602 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:33:58,156 INFO L290 TraceCheckUtils]: 84: Hoare triple {20987#false} assume !false; {20987#false} is VALID [2022-04-08 05:33:58,157 INFO L290 TraceCheckUtils]: 83: Hoare triple {21242#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20987#false} is VALID [2022-04-08 05:33:58,157 INFO L290 TraceCheckUtils]: 82: Hoare triple {21238#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21242#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:33:58,158 INFO L272 TraceCheckUtils]: 81: Hoare triple {21258#(= 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)); {21238#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:33:58,158 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20986#true} {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:33:58,158 INFO L290 TraceCheckUtils]: 79: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:58,159 INFO L290 TraceCheckUtils]: 78: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:33:58,159 INFO L290 TraceCheckUtils]: 77: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:33:58,159 INFO L272 TraceCheckUtils]: 76: Hoare triple {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:33:58,159 INFO L290 TraceCheckUtils]: 75: Hoare triple {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:33:58,159 INFO L290 TraceCheckUtils]: 74: Hoare triple {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:33:58,388 INFO L290 TraceCheckUtils]: 73: Hoare triple {21283#(= (+ 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)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:33:58,388 INFO L290 TraceCheckUtils]: 72: Hoare triple {21283#(= (+ 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)))))} assume !!(~a~0 != ~b~0); {21283#(= (+ 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)))))} is VALID [2022-04-08 05:33:58,389 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20986#true} {21283#(= (+ 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)))))} #72#return; {21283#(= (+ 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)))))} is VALID [2022-04-08 05:33:58,389 INFO L290 TraceCheckUtils]: 70: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:58,389 INFO L290 TraceCheckUtils]: 69: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:33:58,389 INFO L290 TraceCheckUtils]: 68: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:33:58,389 INFO L272 TraceCheckUtils]: 67: Hoare triple {21283#(= (+ 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)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:33:58,390 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20986#true} {21283#(= (+ 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)))))} #70#return; {21283#(= (+ 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)))))} is VALID [2022-04-08 05:33:58,390 INFO L290 TraceCheckUtils]: 65: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:58,390 INFO L290 TraceCheckUtils]: 64: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:33:58,390 INFO L290 TraceCheckUtils]: 63: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:33:58,390 INFO L272 TraceCheckUtils]: 62: Hoare triple {21283#(= (+ 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)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:33:58,391 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {20986#true} {21283#(= (+ 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)))))} #68#return; {21283#(= (+ 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)))))} is VALID [2022-04-08 05:33:58,391 INFO L290 TraceCheckUtils]: 60: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:58,391 INFO L290 TraceCheckUtils]: 59: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:33:58,391 INFO L290 TraceCheckUtils]: 58: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:33:58,391 INFO L272 TraceCheckUtils]: 57: Hoare triple {21283#(= (+ 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)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:33:58,392 INFO L290 TraceCheckUtils]: 56: Hoare triple {21283#(= (+ 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)))))} assume !!(#t~post6 < 5);havoc #t~post6; {21283#(= (+ 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)))))} is VALID [2022-04-08 05:33:58,392 INFO L290 TraceCheckUtils]: 55: Hoare triple {21283#(= (+ 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)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21283#(= (+ 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)))))} is VALID [2022-04-08 05:33:58,490 INFO L290 TraceCheckUtils]: 54: Hoare triple {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {21283#(= (+ 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)))))} is VALID [2022-04-08 05:33:58,491 INFO L290 TraceCheckUtils]: 53: Hoare triple {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(~a~0 != ~b~0); {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 05:33:58,491 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20986#true} {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #72#return; {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 05:33:58,491 INFO L290 TraceCheckUtils]: 51: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:58,491 INFO L290 TraceCheckUtils]: 50: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:33:58,491 INFO L290 TraceCheckUtils]: 49: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:33:58,492 INFO L272 TraceCheckUtils]: 48: Hoare triple {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:33:58,492 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20986#true} {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #70#return; {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 05:33:58,492 INFO L290 TraceCheckUtils]: 46: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:58,492 INFO L290 TraceCheckUtils]: 45: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:33:58,492 INFO L290 TraceCheckUtils]: 44: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:33:58,492 INFO L272 TraceCheckUtils]: 43: Hoare triple {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:33:58,493 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20986#true} {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #68#return; {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 05:33:58,493 INFO L290 TraceCheckUtils]: 41: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:33:58,493 INFO L290 TraceCheckUtils]: 40: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:33:58,493 INFO L290 TraceCheckUtils]: 39: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:33:58,493 INFO L272 TraceCheckUtils]: 38: Hoare triple {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:33:58,494 INFO L290 TraceCheckUtils]: 37: Hoare triple {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(#t~post6 < 5);havoc #t~post6; {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 05:33:58,494 INFO L290 TraceCheckUtils]: 36: Hoare triple {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 05:34:00,497 WARN L290 TraceCheckUtils]: 35: Hoare triple {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is UNKNOWN [2022-04-08 05:34:00,498 INFO L290 TraceCheckUtils]: 34: Hoare triple {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} assume !!(~a~0 != ~b~0); {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-08 05:34:00,498 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {20986#true} {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #72#return; {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-08 05:34:00,498 INFO L290 TraceCheckUtils]: 32: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:34:00,499 INFO L290 TraceCheckUtils]: 31: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:34:00,499 INFO L290 TraceCheckUtils]: 30: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:34:00,499 INFO L272 TraceCheckUtils]: 29: Hoare triple {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:34:00,499 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20986#true} {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #70#return; {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-08 05:34:00,499 INFO L290 TraceCheckUtils]: 27: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:34:00,500 INFO L290 TraceCheckUtils]: 26: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:34:00,500 INFO L290 TraceCheckUtils]: 25: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:34:00,500 INFO L272 TraceCheckUtils]: 24: Hoare triple {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:34:00,500 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20986#true} {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #68#return; {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-08 05:34:00,500 INFO L290 TraceCheckUtils]: 22: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:34:00,500 INFO L290 TraceCheckUtils]: 21: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:34:00,501 INFO L290 TraceCheckUtils]: 20: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:34:00,501 INFO L272 TraceCheckUtils]: 19: Hoare triple {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:34:00,501 INFO L290 TraceCheckUtils]: 18: Hoare triple {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} assume !!(#t~post6 < 5);havoc #t~post6; {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-08 05:34:00,502 INFO L290 TraceCheckUtils]: 17: Hoare triple {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-08 05:34:00,502 INFO L290 TraceCheckUtils]: 16: Hoare triple {20986#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-08 05:34:00,502 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20986#true} {20986#true} #66#return; {20986#true} is VALID [2022-04-08 05:34:00,502 INFO L290 TraceCheckUtils]: 14: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:34:00,502 INFO L290 TraceCheckUtils]: 13: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:34:00,503 INFO L290 TraceCheckUtils]: 12: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:34:00,503 INFO L272 TraceCheckUtils]: 11: Hoare triple {20986#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:34:00,503 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20986#true} {20986#true} #64#return; {20986#true} is VALID [2022-04-08 05:34:00,503 INFO L290 TraceCheckUtils]: 9: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:34:00,503 INFO L290 TraceCheckUtils]: 8: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-08 05:34:00,503 INFO L290 TraceCheckUtils]: 7: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-08 05:34:00,503 INFO L272 TraceCheckUtils]: 6: Hoare triple {20986#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20986#true} is VALID [2022-04-08 05:34:00,503 INFO L290 TraceCheckUtils]: 5: Hoare triple {20986#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {20986#true} is VALID [2022-04-08 05:34:00,503 INFO L272 TraceCheckUtils]: 4: Hoare triple {20986#true} call #t~ret7 := main(); {20986#true} is VALID [2022-04-08 05:34:00,503 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20986#true} {20986#true} #82#return; {20986#true} is VALID [2022-04-08 05:34:00,503 INFO L290 TraceCheckUtils]: 2: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-08 05:34:00,503 INFO L290 TraceCheckUtils]: 1: Hoare triple {20986#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20986#true} is VALID [2022-04-08 05:34:00,503 INFO L272 TraceCheckUtils]: 0: Hoare triple {20986#true} call ULTIMATE.init(); {20986#true} is VALID [2022-04-08 05:34:00,504 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 20 proven. 33 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-08 05:34:00,504 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:34:00,504 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1638188176] [2022-04-08 05:34:00,504 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:34:00,504 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [826964321] [2022-04-08 05:34:00,504 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [826964321] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:34:00,504 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:34:00,504 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-08 05:34:00,504 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:34:00,505 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [589078401] [2022-04-08 05:34:00,505 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [589078401] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:34:00,505 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:34:00,505 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:34:00,505 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2107796419] [2022-04-08 05:34:00,505 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:34:00,505 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-08 05:34:00,505 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:34:00,505 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:34:00,573 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:34:00,573 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 05:34:00,573 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:34:00,574 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 05:34:00,574 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:34:00,574 INFO L87 Difference]: Start difference. First operand 238 states and 280 transitions. Second operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:34:02,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:34:02,363 INFO L93 Difference]: Finished difference Result 286 states and 341 transitions. [2022-04-08 05:34:02,363 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 05:34:02,363 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-08 05:34:02,363 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:34:02,364 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:34:02,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2022-04-08 05:34:02,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:34:02,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2022-04-08 05:34:02,366 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 97 transitions. [2022-04-08 05:34:02,493 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-08 05:34:02,503 INFO L225 Difference]: With dead ends: 286 [2022-04-08 05:34:02,503 INFO L226 Difference]: Without dead ends: 284 [2022-04-08 05:34:02,503 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 158 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2022-04-08 05:34:02,505 INFO L913 BasicCegarLoop]: 59 mSDtfsCounter, 9 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 299 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 248 SdHoareTripleChecker+Invalid, 308 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 299 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-08 05:34:02,505 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 248 Invalid, 308 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 299 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-08 05:34:02,507 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 284 states. [2022-04-08 05:34:02,763 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 284 to 268. [2022-04-08 05:34:02,763 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:34:02,763 INFO L82 GeneralOperation]: Start isEquivalent. First operand 284 states. Second operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-08 05:34:02,764 INFO L74 IsIncluded]: Start isIncluded. First operand 284 states. Second operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-08 05:34:02,764 INFO L87 Difference]: Start difference. First operand 284 states. Second operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-08 05:34:02,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:34:02,768 INFO L93 Difference]: Finished difference Result 284 states and 339 transitions. [2022-04-08 05:34:02,769 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 339 transitions. [2022-04-08 05:34:02,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:34:02,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:34:02,770 INFO L74 IsIncluded]: Start isIncluded. First operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) Second operand 284 states. [2022-04-08 05:34:02,770 INFO L87 Difference]: Start difference. First operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) Second operand 284 states. [2022-04-08 05:34:02,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:34:02,774 INFO L93 Difference]: Finished difference Result 284 states and 339 transitions. [2022-04-08 05:34:02,775 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 339 transitions. [2022-04-08 05:34:02,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:34:02,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:34:02,775 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:34:02,775 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:34:02,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-08 05:34:02,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 268 states to 268 states and 314 transitions. [2022-04-08 05:34:02,781 INFO L78 Accepts]: Start accepts. Automaton has 268 states and 314 transitions. Word has length 85 [2022-04-08 05:34:02,781 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:34:02,781 INFO L478 AbstractCegarLoop]: Abstraction has 268 states and 314 transitions. [2022-04-08 05:34:02,781 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 05:34:02,781 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 268 states and 314 transitions. [2022-04-08 05:34:03,398 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 314 edges. 314 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:34:03,399 INFO L276 IsEmpty]: Start isEmpty. Operand 268 states and 314 transitions. [2022-04-08 05:34:03,400 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-08 05:34:03,400 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:34:03,400 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:34:03,418 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Ended with exit code 0 [2022-04-08 05:34:03,600 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:34:03,601 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:34:03,601 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:34:03,601 INFO L85 PathProgramCache]: Analyzing trace with hash 148216665, now seen corresponding path program 9 times [2022-04-08 05:34:03,601 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:34:03,601 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [925861616] [2022-04-08 05:34:03,602 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:34:03,602 INFO L85 PathProgramCache]: Analyzing trace with hash 148216665, now seen corresponding path program 10 times [2022-04-08 05:34:03,602 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:34:03,602 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [776983232] [2022-04-08 05:34:03,602 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:34:03,602 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:34:03,612 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:34:03,613 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1650149079] [2022-04-08 05:34:03,613 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:34:03,613 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:34:03,613 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:34:03,614 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-08 05:34:03,628 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-08 05:34:03,675 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:34:03,675 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:34:03,677 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-08 05:34:03,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:34:03,698 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:34:53,429 INFO L272 TraceCheckUtils]: 0: Hoare triple {23185#true} call ULTIMATE.init(); {23185#true} is VALID [2022-04-08 05:34:53,430 INFO L290 TraceCheckUtils]: 1: Hoare triple {23185#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {23185#true} is VALID [2022-04-08 05:34:53,430 INFO L290 TraceCheckUtils]: 2: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:34:53,430 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23185#true} {23185#true} #82#return; {23185#true} is VALID [2022-04-08 05:34:53,430 INFO L272 TraceCheckUtils]: 4: Hoare triple {23185#true} call #t~ret7 := main(); {23185#true} is VALID [2022-04-08 05:34:53,430 INFO L290 TraceCheckUtils]: 5: Hoare triple {23185#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {23185#true} is VALID [2022-04-08 05:34:53,430 INFO L272 TraceCheckUtils]: 6: Hoare triple {23185#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:34:53,437 INFO L290 TraceCheckUtils]: 7: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:34:53,438 INFO L290 TraceCheckUtils]: 8: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:34:53,438 INFO L290 TraceCheckUtils]: 9: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:34:53,438 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23185#true} {23185#true} #64#return; {23185#true} is VALID [2022-04-08 05:34:53,438 INFO L272 TraceCheckUtils]: 11: Hoare triple {23185#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:34:53,438 INFO L290 TraceCheckUtils]: 12: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:34:53,438 INFO L290 TraceCheckUtils]: 13: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:34:53,438 INFO L290 TraceCheckUtils]: 14: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:34:53,438 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23185#true} {23185#true} #66#return; {23185#true} is VALID [2022-04-08 05:34:53,440 INFO L290 TraceCheckUtils]: 16: Hoare triple {23185#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23238#(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-08 05:34:53,441 INFO L290 TraceCheckUtils]: 17: Hoare triple {23238#(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; {23238#(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-08 05:34:53,441 INFO L290 TraceCheckUtils]: 18: Hoare triple {23238#(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 < 5);havoc #t~post6; {23238#(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-08 05:34:53,441 INFO L272 TraceCheckUtils]: 19: Hoare triple {23238#(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 __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:34:53,441 INFO L290 TraceCheckUtils]: 20: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:34:53,441 INFO L290 TraceCheckUtils]: 21: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:34:53,441 INFO L290 TraceCheckUtils]: 22: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:34:53,442 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23185#true} {23238#(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))} #68#return; {23238#(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-08 05:34:53,442 INFO L272 TraceCheckUtils]: 24: Hoare triple {23238#(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 __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:34:53,442 INFO L290 TraceCheckUtils]: 25: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:34:53,442 INFO L290 TraceCheckUtils]: 26: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:34:53,442 INFO L290 TraceCheckUtils]: 27: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:34:53,443 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23185#true} {23238#(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))} #70#return; {23238#(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-08 05:34:53,443 INFO L272 TraceCheckUtils]: 29: Hoare triple {23238#(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 __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:34:53,443 INFO L290 TraceCheckUtils]: 30: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:34:53,443 INFO L290 TraceCheckUtils]: 31: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:34:53,443 INFO L290 TraceCheckUtils]: 32: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:34:53,444 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {23185#true} {23238#(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))} #72#return; {23238#(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-08 05:34:53,444 INFO L290 TraceCheckUtils]: 34: Hoare triple {23238#(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 !!(~a~0 != ~b~0); {23238#(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-08 05:34:53,445 INFO L290 TraceCheckUtils]: 35: Hoare triple {23238#(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 !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-08 05:34:53,445 INFO L290 TraceCheckUtils]: 36: Hoare triple {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-08 05:34:53,446 INFO L290 TraceCheckUtils]: 37: Hoare triple {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-08 05:34:53,446 INFO L272 TraceCheckUtils]: 38: Hoare triple {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:34:53,446 INFO L290 TraceCheckUtils]: 39: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:34:53,446 INFO L290 TraceCheckUtils]: 40: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:34:53,446 INFO L290 TraceCheckUtils]: 41: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:34:53,447 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23185#true} {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #68#return; {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-08 05:34:53,447 INFO L272 TraceCheckUtils]: 43: Hoare triple {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:34:53,447 INFO L290 TraceCheckUtils]: 44: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:34:53,447 INFO L290 TraceCheckUtils]: 45: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:34:53,447 INFO L290 TraceCheckUtils]: 46: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:34:53,448 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23185#true} {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #70#return; {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-08 05:34:53,448 INFO L272 TraceCheckUtils]: 48: Hoare triple {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:34:53,448 INFO L290 TraceCheckUtils]: 49: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:34:53,448 INFO L290 TraceCheckUtils]: 50: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:34:53,448 INFO L290 TraceCheckUtils]: 51: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:34:53,449 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23185#true} {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #72#return; {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-08 05:34:53,451 INFO L290 TraceCheckUtils]: 53: Hoare triple {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} assume !!(~a~0 != ~b~0); {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-08 05:34:53,454 INFO L290 TraceCheckUtils]: 54: Hoare triple {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} is VALID [2022-04-08 05:34:53,454 INFO L290 TraceCheckUtils]: 55: Hoare triple {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} is VALID [2022-04-08 05:34:53,455 INFO L290 TraceCheckUtils]: 56: Hoare triple {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} assume !!(#t~post6 < 5);havoc #t~post6; {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} is VALID [2022-04-08 05:34:53,455 INFO L272 TraceCheckUtils]: 57: Hoare triple {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:34:53,455 INFO L290 TraceCheckUtils]: 58: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:34:53,455 INFO L290 TraceCheckUtils]: 59: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:34:53,455 INFO L290 TraceCheckUtils]: 60: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:34:53,456 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {23185#true} {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} #68#return; {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} is VALID [2022-04-08 05:34:53,456 INFO L272 TraceCheckUtils]: 62: Hoare triple {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:34:53,456 INFO L290 TraceCheckUtils]: 63: Hoare triple {23185#true} ~cond := #in~cond; {23382#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:34:53,457 INFO L290 TraceCheckUtils]: 64: Hoare triple {23382#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:34:53,457 INFO L290 TraceCheckUtils]: 65: Hoare triple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:34:53,458 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} #70#return; {23393#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} is VALID [2022-04-08 05:34:53,458 INFO L272 TraceCheckUtils]: 67: Hoare triple {23393#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:34:53,458 INFO L290 TraceCheckUtils]: 68: Hoare triple {23185#true} ~cond := #in~cond; {23382#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:34:53,459 INFO L290 TraceCheckUtils]: 69: Hoare triple {23382#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:34:53,459 INFO L290 TraceCheckUtils]: 70: Hoare triple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:34:53,460 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} {23393#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} #72#return; {23393#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} is VALID [2022-04-08 05:34:53,460 INFO L290 TraceCheckUtils]: 72: Hoare triple {23393#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} assume !!(~a~0 != ~b~0); {23393#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} is VALID [2022-04-08 05:34:53,466 INFO L290 TraceCheckUtils]: 73: Hoare triple {23393#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23415#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} is VALID [2022-04-08 05:34:53,467 INFO L290 TraceCheckUtils]: 74: Hoare triple {23415#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23415#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} is VALID [2022-04-08 05:34:53,468 INFO L290 TraceCheckUtils]: 75: Hoare triple {23415#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} assume !!(#t~post6 < 5);havoc #t~post6; {23415#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} is VALID [2022-04-08 05:34:53,468 INFO L272 TraceCheckUtils]: 76: Hoare triple {23415#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:34:53,468 INFO L290 TraceCheckUtils]: 77: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:34:53,468 INFO L290 TraceCheckUtils]: 78: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:34:53,468 INFO L290 TraceCheckUtils]: 79: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:34:53,469 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23185#true} {23415#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} #68#return; {23415#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} is VALID [2022-04-08 05:34:53,475 INFO L272 TraceCheckUtils]: 81: Hoare triple {23415#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23440#(exists ((v_main_~x~0_BEFORE_CALL_152 Int) (aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_140_45_46 Int) (aux_div_v_main_~p~0_BEFORE_CALL_140_45 Int)) (and (< 0 v_main_~x~0_BEFORE_CALL_152) (< (* 3 aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_140_45_46) 3) (<= 1 |__VERIFIER_assert_#in~cond|) (= (+ (* 2 (* aux_div_v_main_~p~0_BEFORE_CALL_140_45 v_main_~x~0_BEFORE_CALL_152)) (* 2 v_main_~x~0_BEFORE_CALL_152) (* 3 (* v_main_~x~0_BEFORE_CALL_152 aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_140_45_46))) 0) (<= 0 (* 3 aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_140_45_46))))} is VALID [2022-04-08 05:34:53,475 INFO L290 TraceCheckUtils]: 82: Hoare triple {23440#(exists ((v_main_~x~0_BEFORE_CALL_152 Int) (aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_140_45_46 Int) (aux_div_v_main_~p~0_BEFORE_CALL_140_45 Int)) (and (< 0 v_main_~x~0_BEFORE_CALL_152) (< (* 3 aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_140_45_46) 3) (<= 1 |__VERIFIER_assert_#in~cond|) (= (+ (* 2 (* aux_div_v_main_~p~0_BEFORE_CALL_140_45 v_main_~x~0_BEFORE_CALL_152)) (* 2 v_main_~x~0_BEFORE_CALL_152) (* 3 (* v_main_~x~0_BEFORE_CALL_152 aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_140_45_46))) 0) (<= 0 (* 3 aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_140_45_46))))} ~cond := #in~cond; {23444#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:34:53,476 INFO L290 TraceCheckUtils]: 83: Hoare triple {23444#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23186#false} is VALID [2022-04-08 05:34:53,476 INFO L290 TraceCheckUtils]: 84: Hoare triple {23186#false} assume !false; {23186#false} is VALID [2022-04-08 05:34:53,476 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 60 proven. 41 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-08 05:34:53,477 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:35:22,762 INFO L290 TraceCheckUtils]: 84: Hoare triple {23186#false} assume !false; {23186#false} is VALID [2022-04-08 05:35:22,762 INFO L290 TraceCheckUtils]: 83: Hoare triple {23444#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23186#false} is VALID [2022-04-08 05:35:22,763 INFO L290 TraceCheckUtils]: 82: Hoare triple {23457#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23444#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:35:22,763 INFO L272 TraceCheckUtils]: 81: Hoare triple {23461#(= 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)); {23457#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:35:22,764 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23185#true} {23461#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {23461#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:35:22,764 INFO L290 TraceCheckUtils]: 79: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:35:22,764 INFO L290 TraceCheckUtils]: 78: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:35:22,764 INFO L290 TraceCheckUtils]: 77: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:35:22,764 INFO L272 TraceCheckUtils]: 76: Hoare triple {23461#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:35:22,765 INFO L290 TraceCheckUtils]: 75: Hoare triple {23461#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {23461#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:35:22,765 INFO L290 TraceCheckUtils]: 74: Hoare triple {23461#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23461#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:35:22,943 INFO L290 TraceCheckUtils]: 73: Hoare triple {23486#(= (+ 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)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23461#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:35:22,944 INFO L290 TraceCheckUtils]: 72: Hoare triple {23486#(= (+ 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)))))} assume !!(~a~0 != ~b~0); {23486#(= (+ 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)))))} is VALID [2022-04-08 05:35:22,946 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} {23493#(or (= (+ 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))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #72#return; {23486#(= (+ 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)))))} is VALID [2022-04-08 05:35:22,946 INFO L290 TraceCheckUtils]: 70: Hoare triple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:22,946 INFO L290 TraceCheckUtils]: 69: Hoare triple {23503#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:22,947 INFO L290 TraceCheckUtils]: 68: Hoare triple {23185#true} ~cond := #in~cond; {23503#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:35:22,947 INFO L272 TraceCheckUtils]: 67: Hoare triple {23493#(or (= (+ 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))))) (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)); {23185#true} is VALID [2022-04-08 05:35:22,949 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} {23185#true} #70#return; {23493#(or (= (+ 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))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 05:35:22,949 INFO L290 TraceCheckUtils]: 65: Hoare triple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:22,949 INFO L290 TraceCheckUtils]: 64: Hoare triple {23503#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:22,950 INFO L290 TraceCheckUtils]: 63: Hoare triple {23185#true} ~cond := #in~cond; {23503#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:35:22,950 INFO L272 TraceCheckUtils]: 62: Hoare triple {23185#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:35:22,950 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {23185#true} {23185#true} #68#return; {23185#true} is VALID [2022-04-08 05:35:22,950 INFO L290 TraceCheckUtils]: 60: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:35:22,950 INFO L290 TraceCheckUtils]: 59: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:35:22,950 INFO L290 TraceCheckUtils]: 58: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:35:22,950 INFO L272 TraceCheckUtils]: 57: Hoare triple {23185#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:35:22,950 INFO L290 TraceCheckUtils]: 56: Hoare triple {23185#true} assume !!(#t~post6 < 5);havoc #t~post6; {23185#true} is VALID [2022-04-08 05:35:22,950 INFO L290 TraceCheckUtils]: 55: Hoare triple {23185#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23185#true} is VALID [2022-04-08 05:35:22,950 INFO L290 TraceCheckUtils]: 54: Hoare triple {23185#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23185#true} is VALID [2022-04-08 05:35:22,950 INFO L290 TraceCheckUtils]: 53: Hoare triple {23185#true} assume !!(~a~0 != ~b~0); {23185#true} is VALID [2022-04-08 05:35:22,951 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23185#true} {23185#true} #72#return; {23185#true} is VALID [2022-04-08 05:35:22,951 INFO L290 TraceCheckUtils]: 51: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:35:22,951 INFO L290 TraceCheckUtils]: 50: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:35:22,951 INFO L290 TraceCheckUtils]: 49: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:35:22,951 INFO L272 TraceCheckUtils]: 48: Hoare triple {23185#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:35:22,951 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23185#true} {23185#true} #70#return; {23185#true} is VALID [2022-04-08 05:35:22,951 INFO L290 TraceCheckUtils]: 46: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:35:22,951 INFO L290 TraceCheckUtils]: 45: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:35:22,951 INFO L290 TraceCheckUtils]: 44: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:35:22,951 INFO L272 TraceCheckUtils]: 43: Hoare triple {23185#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:35:22,951 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23185#true} {23185#true} #68#return; {23185#true} is VALID [2022-04-08 05:35:22,951 INFO L290 TraceCheckUtils]: 41: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:35:22,951 INFO L290 TraceCheckUtils]: 40: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:35:22,951 INFO L290 TraceCheckUtils]: 39: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:35:22,952 INFO L272 TraceCheckUtils]: 38: Hoare triple {23185#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:35:22,952 INFO L290 TraceCheckUtils]: 37: Hoare triple {23185#true} assume !!(#t~post6 < 5);havoc #t~post6; {23185#true} is VALID [2022-04-08 05:35:22,952 INFO L290 TraceCheckUtils]: 36: Hoare triple {23185#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23185#true} is VALID [2022-04-08 05:35:22,952 INFO L290 TraceCheckUtils]: 35: Hoare triple {23185#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {23185#true} is VALID [2022-04-08 05:35:22,952 INFO L290 TraceCheckUtils]: 34: Hoare triple {23185#true} assume !!(~a~0 != ~b~0); {23185#true} is VALID [2022-04-08 05:35:22,952 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {23185#true} {23185#true} #72#return; {23185#true} is VALID [2022-04-08 05:35:22,952 INFO L290 TraceCheckUtils]: 32: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:35:22,952 INFO L290 TraceCheckUtils]: 31: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:35:22,952 INFO L290 TraceCheckUtils]: 30: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:35:22,952 INFO L272 TraceCheckUtils]: 29: Hoare triple {23185#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:35:22,952 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23185#true} {23185#true} #70#return; {23185#true} is VALID [2022-04-08 05:35:22,952 INFO L290 TraceCheckUtils]: 27: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:35:22,952 INFO L290 TraceCheckUtils]: 26: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:35:22,952 INFO L290 TraceCheckUtils]: 25: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:35:22,952 INFO L272 TraceCheckUtils]: 24: Hoare triple {23185#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:35:22,953 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23185#true} {23185#true} #68#return; {23185#true} is VALID [2022-04-08 05:35:22,953 INFO L290 TraceCheckUtils]: 22: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:35:22,953 INFO L290 TraceCheckUtils]: 21: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:35:22,953 INFO L290 TraceCheckUtils]: 20: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:35:22,953 INFO L272 TraceCheckUtils]: 19: Hoare triple {23185#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:35:22,953 INFO L290 TraceCheckUtils]: 18: Hoare triple {23185#true} assume !!(#t~post6 < 5);havoc #t~post6; {23185#true} is VALID [2022-04-08 05:35:22,953 INFO L290 TraceCheckUtils]: 17: Hoare triple {23185#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23185#true} is VALID [2022-04-08 05:35:22,953 INFO L290 TraceCheckUtils]: 16: Hoare triple {23185#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23185#true} is VALID [2022-04-08 05:35:22,953 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23185#true} {23185#true} #66#return; {23185#true} is VALID [2022-04-08 05:35:22,953 INFO L290 TraceCheckUtils]: 14: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:35:22,953 INFO L290 TraceCheckUtils]: 13: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:35:22,953 INFO L290 TraceCheckUtils]: 12: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:35:22,953 INFO L272 TraceCheckUtils]: 11: Hoare triple {23185#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:35:22,953 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23185#true} {23185#true} #64#return; {23185#true} is VALID [2022-04-08 05:35:22,953 INFO L290 TraceCheckUtils]: 9: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:35:22,954 INFO L290 TraceCheckUtils]: 8: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-08 05:35:22,954 INFO L290 TraceCheckUtils]: 7: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-08 05:35:22,954 INFO L272 TraceCheckUtils]: 6: Hoare triple {23185#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23185#true} is VALID [2022-04-08 05:35:22,954 INFO L290 TraceCheckUtils]: 5: Hoare triple {23185#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {23185#true} is VALID [2022-04-08 05:35:22,954 INFO L272 TraceCheckUtils]: 4: Hoare triple {23185#true} call #t~ret7 := main(); {23185#true} is VALID [2022-04-08 05:35:22,954 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23185#true} {23185#true} #82#return; {23185#true} is VALID [2022-04-08 05:35:22,954 INFO L290 TraceCheckUtils]: 2: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-08 05:35:22,954 INFO L290 TraceCheckUtils]: 1: Hoare triple {23185#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {23185#true} is VALID [2022-04-08 05:35:22,954 INFO L272 TraceCheckUtils]: 0: Hoare triple {23185#true} call ULTIMATE.init(); {23185#true} is VALID [2022-04-08 05:35:22,954 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 78 proven. 8 refuted. 0 times theorem prover too weak. 151 trivial. 0 not checked. [2022-04-08 05:35:22,955 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:35:22,955 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [776983232] [2022-04-08 05:35:22,955 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:35:22,955 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1650149079] [2022-04-08 05:35:22,955 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1650149079] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:35:22,955 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:35:22,955 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 16 [2022-04-08 05:35:22,955 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:35:22,955 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [925861616] [2022-04-08 05:35:22,955 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [925861616] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:35:22,955 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:35:22,955 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 05:35:22,956 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1572530197] [2022-04-08 05:35:22,956 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:35:22,956 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 85 [2022-04-08 05:35:22,956 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:35:22,956 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 05:35:23,046 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-08 05:35:23,046 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 05:35:23,046 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:35:23,046 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 05:35:23,046 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=193, Unknown=0, NotChecked=0, Total=240 [2022-04-08 05:35:23,047 INFO L87 Difference]: Start difference. First operand 268 states and 314 transitions. Second operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 05:35:28,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:35:28,183 INFO L93 Difference]: Finished difference Result 297 states and 355 transitions. [2022-04-08 05:35:28,183 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 05:35:28,183 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 85 [2022-04-08 05:35:28,183 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:35:28,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 05:35:28,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 99 transitions. [2022-04-08 05:35:28,185 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 05:35:28,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 99 transitions. [2022-04-08 05:35:28,186 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 99 transitions. [2022-04-08 05:35:28,325 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:35:28,330 INFO L225 Difference]: With dead ends: 297 [2022-04-08 05:35:28,331 INFO L226 Difference]: Without dead ends: 295 [2022-04-08 05:35:28,331 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 172 GetRequests, 153 SyntacticMatches, 3 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=61, Invalid=245, Unknown=0, NotChecked=0, Total=306 [2022-04-08 05:35:28,332 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 13 mSDsluCounter, 173 mSDsCounter, 0 mSdLazyCounter, 429 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 221 SdHoareTripleChecker+Invalid, 443 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 429 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 7 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-08 05:35:28,332 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 221 Invalid, 443 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 429 Invalid, 0 Unknown, 7 Unchecked, 2.2s Time] [2022-04-08 05:35:28,332 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 295 states. [2022-04-08 05:35:28,579 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 295 to 249. [2022-04-08 05:35:28,580 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:35:28,580 INFO L82 GeneralOperation]: Start isEquivalent. First operand 295 states. Second operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 05:35:28,581 INFO L74 IsIncluded]: Start isIncluded. First operand 295 states. Second operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 05:35:28,581 INFO L87 Difference]: Start difference. First operand 295 states. Second operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 05:35:28,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:35:28,588 INFO L93 Difference]: Finished difference Result 295 states and 353 transitions. [2022-04-08 05:35:28,588 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 353 transitions. [2022-04-08 05:35:28,589 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:35:28,589 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:35:28,589 INFO L74 IsIncluded]: Start isIncluded. First operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 295 states. [2022-04-08 05:35:28,590 INFO L87 Difference]: Start difference. First operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 295 states. [2022-04-08 05:35:28,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:35:28,595 INFO L93 Difference]: Finished difference Result 295 states and 353 transitions. [2022-04-08 05:35:28,595 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 353 transitions. [2022-04-08 05:35:28,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:35:28,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:35:28,596 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:35:28,596 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:35:28,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 05:35:28,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 249 states to 249 states and 294 transitions. [2022-04-08 05:35:28,601 INFO L78 Accepts]: Start accepts. Automaton has 249 states and 294 transitions. Word has length 85 [2022-04-08 05:35:28,601 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:35:28,601 INFO L478 AbstractCegarLoop]: Abstraction has 249 states and 294 transitions. [2022-04-08 05:35:28,601 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 05:35:28,601 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 249 states and 294 transitions. [2022-04-08 05:35:29,206 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 294 edges. 294 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:35:29,207 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 294 transitions. [2022-04-08 05:35:29,208 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-08 05:35:29,208 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:35:29,208 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:35:29,225 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-08 05:35:29,408 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:35:29,408 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:35:29,409 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:35:29,409 INFO L85 PathProgramCache]: Analyzing trace with hash 849816539, now seen corresponding path program 11 times [2022-04-08 05:35:29,409 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:35:29,409 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1391886299] [2022-04-08 05:35:29,409 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:35:29,409 INFO L85 PathProgramCache]: Analyzing trace with hash 849816539, now seen corresponding path program 12 times [2022-04-08 05:35:29,409 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:35:29,409 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1352835339] [2022-04-08 05:35:29,410 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:35:29,410 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:35:29,423 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:35:29,423 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1138915377] [2022-04-08 05:35:29,423 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 05:35:29,423 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:35:29,423 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:35:29,424 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-08 05:35:29,425 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-08 05:35:29,506 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 05:35:29,506 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:35:29,507 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 05:35:29,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:35:29,539 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:35:29,937 INFO L272 TraceCheckUtils]: 0: Hoare triple {25397#true} call ULTIMATE.init(); {25397#true} is VALID [2022-04-08 05:35:29,937 INFO L290 TraceCheckUtils]: 1: Hoare triple {25397#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {25397#true} is VALID [2022-04-08 05:35:29,937 INFO L290 TraceCheckUtils]: 2: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-08 05:35:29,937 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25397#true} {25397#true} #82#return; {25397#true} is VALID [2022-04-08 05:35:29,937 INFO L272 TraceCheckUtils]: 4: Hoare triple {25397#true} call #t~ret7 := main(); {25397#true} is VALID [2022-04-08 05:35:29,937 INFO L290 TraceCheckUtils]: 5: Hoare triple {25397#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {25397#true} is VALID [2022-04-08 05:35:29,938 INFO L272 TraceCheckUtils]: 6: Hoare triple {25397#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25397#true} is VALID [2022-04-08 05:35:29,938 INFO L290 TraceCheckUtils]: 7: Hoare triple {25397#true} ~cond := #in~cond; {25397#true} is VALID [2022-04-08 05:35:29,938 INFO L290 TraceCheckUtils]: 8: Hoare triple {25397#true} assume !(0 == ~cond); {25397#true} is VALID [2022-04-08 05:35:29,938 INFO L290 TraceCheckUtils]: 9: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-08 05:35:29,938 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25397#true} {25397#true} #64#return; {25397#true} is VALID [2022-04-08 05:35:29,938 INFO L272 TraceCheckUtils]: 11: Hoare triple {25397#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25397#true} is VALID [2022-04-08 05:35:29,938 INFO L290 TraceCheckUtils]: 12: Hoare triple {25397#true} ~cond := #in~cond; {25397#true} is VALID [2022-04-08 05:35:29,938 INFO L290 TraceCheckUtils]: 13: Hoare triple {25397#true} assume !(0 == ~cond); {25397#true} is VALID [2022-04-08 05:35:29,938 INFO L290 TraceCheckUtils]: 14: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-08 05:35:29,938 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {25397#true} {25397#true} #66#return; {25397#true} is VALID [2022-04-08 05:35:29,939 INFO L290 TraceCheckUtils]: 16: Hoare triple {25397#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,939 INFO L290 TraceCheckUtils]: 17: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,939 INFO L290 TraceCheckUtils]: 18: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,939 INFO L272 TraceCheckUtils]: 19: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25397#true} is VALID [2022-04-08 05:35:29,940 INFO L290 TraceCheckUtils]: 20: Hoare triple {25397#true} ~cond := #in~cond; {25397#true} is VALID [2022-04-08 05:35:29,940 INFO L290 TraceCheckUtils]: 21: Hoare triple {25397#true} assume !(0 == ~cond); {25397#true} is VALID [2022-04-08 05:35:29,940 INFO L290 TraceCheckUtils]: 22: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-08 05:35:29,940 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {25397#true} {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,940 INFO L272 TraceCheckUtils]: 24: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25397#true} is VALID [2022-04-08 05:35:29,941 INFO L290 TraceCheckUtils]: 25: Hoare triple {25397#true} ~cond := #in~cond; {25478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:35:29,941 INFO L290 TraceCheckUtils]: 26: Hoare triple {25478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:29,941 INFO L290 TraceCheckUtils]: 27: Hoare triple {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:29,942 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,942 INFO L272 TraceCheckUtils]: 29: Hoare triple {25450#(and (= main_~r~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)); {25397#true} is VALID [2022-04-08 05:35:29,942 INFO L290 TraceCheckUtils]: 30: Hoare triple {25397#true} ~cond := #in~cond; {25397#true} is VALID [2022-04-08 05:35:29,942 INFO L290 TraceCheckUtils]: 31: Hoare triple {25397#true} assume !(0 == ~cond); {25397#true} is VALID [2022-04-08 05:35:29,942 INFO L290 TraceCheckUtils]: 32: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-08 05:35:29,943 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {25397#true} {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,943 INFO L290 TraceCheckUtils]: 34: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,943 INFO L290 TraceCheckUtils]: 35: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,944 INFO L290 TraceCheckUtils]: 36: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,944 INFO L290 TraceCheckUtils]: 37: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,944 INFO L272 TraceCheckUtils]: 38: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25397#true} is VALID [2022-04-08 05:35:29,944 INFO L290 TraceCheckUtils]: 39: Hoare triple {25397#true} ~cond := #in~cond; {25397#true} is VALID [2022-04-08 05:35:29,944 INFO L290 TraceCheckUtils]: 40: Hoare triple {25397#true} assume !(0 == ~cond); {25397#true} is VALID [2022-04-08 05:35:29,944 INFO L290 TraceCheckUtils]: 41: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-08 05:35:29,945 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {25397#true} {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,945 INFO L272 TraceCheckUtils]: 43: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25397#true} is VALID [2022-04-08 05:35:29,945 INFO L290 TraceCheckUtils]: 44: Hoare triple {25397#true} ~cond := #in~cond; {25397#true} is VALID [2022-04-08 05:35:29,945 INFO L290 TraceCheckUtils]: 45: Hoare triple {25397#true} assume !(0 == ~cond); {25397#true} is VALID [2022-04-08 05:35:29,945 INFO L290 TraceCheckUtils]: 46: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-08 05:35:29,946 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {25397#true} {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,946 INFO L272 TraceCheckUtils]: 48: Hoare triple {25450#(and (= main_~r~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)); {25397#true} is VALID [2022-04-08 05:35:29,946 INFO L290 TraceCheckUtils]: 49: Hoare triple {25397#true} ~cond := #in~cond; {25397#true} is VALID [2022-04-08 05:35:29,946 INFO L290 TraceCheckUtils]: 50: Hoare triple {25397#true} assume !(0 == ~cond); {25397#true} is VALID [2022-04-08 05:35:29,946 INFO L290 TraceCheckUtils]: 51: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-08 05:35:29,947 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {25397#true} {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,947 INFO L290 TraceCheckUtils]: 53: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,947 INFO L290 TraceCheckUtils]: 54: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,948 INFO L290 TraceCheckUtils]: 55: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,948 INFO L290 TraceCheckUtils]: 56: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,948 INFO L272 TraceCheckUtils]: 57: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25397#true} is VALID [2022-04-08 05:35:29,948 INFO L290 TraceCheckUtils]: 58: Hoare triple {25397#true} ~cond := #in~cond; {25397#true} is VALID [2022-04-08 05:35:29,948 INFO L290 TraceCheckUtils]: 59: Hoare triple {25397#true} assume !(0 == ~cond); {25397#true} is VALID [2022-04-08 05:35:29,948 INFO L290 TraceCheckUtils]: 60: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-08 05:35:29,949 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {25397#true} {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,949 INFO L272 TraceCheckUtils]: 62: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25397#true} is VALID [2022-04-08 05:35:29,949 INFO L290 TraceCheckUtils]: 63: Hoare triple {25397#true} ~cond := #in~cond; {25397#true} is VALID [2022-04-08 05:35:29,949 INFO L290 TraceCheckUtils]: 64: Hoare triple {25397#true} assume !(0 == ~cond); {25397#true} is VALID [2022-04-08 05:35:29,949 INFO L290 TraceCheckUtils]: 65: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-08 05:35:29,950 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {25397#true} {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,950 INFO L272 TraceCheckUtils]: 67: Hoare triple {25450#(and (= main_~r~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)); {25397#true} is VALID [2022-04-08 05:35:29,950 INFO L290 TraceCheckUtils]: 68: Hoare triple {25397#true} ~cond := #in~cond; {25478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:35:29,950 INFO L290 TraceCheckUtils]: 69: Hoare triple {25478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:29,951 INFO L290 TraceCheckUtils]: 70: Hoare triple {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:29,952 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25618#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,952 INFO L290 TraceCheckUtils]: 72: Hoare triple {25618#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25618#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:35:29,953 INFO L290 TraceCheckUtils]: 73: Hoare triple {25618#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {25625#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-08 05:35:29,953 INFO L290 TraceCheckUtils]: 74: Hoare triple {25625#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25625#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-08 05:35:29,954 INFO L290 TraceCheckUtils]: 75: Hoare triple {25625#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {25625#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-08 05:35:29,954 INFO L272 TraceCheckUtils]: 76: Hoare triple {25625#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25397#true} is VALID [2022-04-08 05:35:29,954 INFO L290 TraceCheckUtils]: 77: Hoare triple {25397#true} ~cond := #in~cond; {25478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:35:29,954 INFO L290 TraceCheckUtils]: 78: Hoare triple {25478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:29,955 INFO L290 TraceCheckUtils]: 79: Hoare triple {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:35:29,965 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} {25625#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} #68#return; {25647#(and (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1)) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~x~0)))} is VALID [2022-04-08 05:35:29,966 INFO L272 TraceCheckUtils]: 81: Hoare triple {25647#(and (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1)) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25651#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:35:29,966 INFO L290 TraceCheckUtils]: 82: Hoare triple {25651#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25655#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:35:29,967 INFO L290 TraceCheckUtils]: 83: Hoare triple {25655#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25398#false} is VALID [2022-04-08 05:35:29,967 INFO L290 TraceCheckUtils]: 84: Hoare triple {25398#false} assume !false; {25398#false} is VALID [2022-04-08 05:35:29,967 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 66 proven. 33 refuted. 0 times theorem prover too weak. 138 trivial. 0 not checked. [2022-04-08 05:35:29,967 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:37:14,690 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 05:37:23,476 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 05:37:45,340 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:37:45,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1352835339] [2022-04-08 05:37:45,340 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:37:45,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1138915377] [2022-04-08 05:37:45,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1138915377] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 05:37:45,340 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 05:37:45,340 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-08 05:37:45,340 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:37:45,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1391886299] [2022-04-08 05:37:45,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1391886299] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:37:45,340 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:37:45,341 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 05:37:45,341 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [820594893] [2022-04-08 05:37:45,341 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:37:45,341 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 85 [2022-04-08 05:37:45,341 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:37:45,341 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 05:37:45,381 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-08 05:37:45,382 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 05:37:45,382 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:37:45,382 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 05:37:45,382 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=162, Unknown=1, NotChecked=0, Total=210 [2022-04-08 05:37:45,383 INFO L87 Difference]: Start difference. First operand 249 states and 294 transitions. Second operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 05:37:51,974 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:37:51,975 INFO L93 Difference]: Finished difference Result 315 states and 392 transitions. [2022-04-08 05:37:51,975 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 05:37:51,975 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 85 [2022-04-08 05:37:51,975 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:37:51,975 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 05:37:51,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 110 transitions. [2022-04-08 05:37:51,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 05:37:51,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 110 transitions. [2022-04-08 05:37:51,977 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 110 transitions. [2022-04-08 05:37:52,139 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-08 05:37:52,145 INFO L225 Difference]: With dead ends: 315 [2022-04-08 05:37:52,145 INFO L226 Difference]: Without dead ends: 309 [2022-04-08 05:37:52,145 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 10.5s TimeCoverageRelationStatistics Valid=67, Invalid=236, Unknown=3, NotChecked=0, Total=306 [2022-04-08 05:37:52,146 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 26 mSDsluCounter, 145 mSDsCounter, 0 mSdLazyCounter, 388 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 198 SdHoareTripleChecker+Invalid, 415 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 388 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-08 05:37:52,146 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 198 Invalid, 415 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 388 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-08 05:37:52,146 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 309 states. [2022-04-08 05:37:52,387 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 309 to 265. [2022-04-08 05:37:52,387 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:37:52,388 INFO L82 GeneralOperation]: Start isEquivalent. First operand 309 states. Second operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-08 05:37:52,388 INFO L74 IsIncluded]: Start isIncluded. First operand 309 states. Second operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-08 05:37:52,388 INFO L87 Difference]: Start difference. First operand 309 states. Second operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-08 05:37:52,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:37:52,393 INFO L93 Difference]: Finished difference Result 309 states and 381 transitions. [2022-04-08 05:37:52,393 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 381 transitions. [2022-04-08 05:37:52,394 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:37:52,394 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:37:52,395 INFO L74 IsIncluded]: Start isIncluded. First operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) Second operand 309 states. [2022-04-08 05:37:52,395 INFO L87 Difference]: Start difference. First operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) Second operand 309 states. [2022-04-08 05:37:52,400 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:37:52,400 INFO L93 Difference]: Finished difference Result 309 states and 381 transitions. [2022-04-08 05:37:52,400 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 381 transitions. [2022-04-08 05:37:52,400 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:37:52,401 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:37:52,401 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:37:52,401 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:37:52,401 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-08 05:37:52,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 265 states to 265 states and 313 transitions. [2022-04-08 05:37:52,406 INFO L78 Accepts]: Start accepts. Automaton has 265 states and 313 transitions. Word has length 85 [2022-04-08 05:37:52,406 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:37:52,406 INFO L478 AbstractCegarLoop]: Abstraction has 265 states and 313 transitions. [2022-04-08 05:37:52,406 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 05:37:52,406 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 265 states and 313 transitions. [2022-04-08 05:37:53,050 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 313 edges. 313 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:37:53,050 INFO L276 IsEmpty]: Start isEmpty. Operand 265 states and 313 transitions. [2022-04-08 05:37:53,050 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-08 05:37:53,050 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:37:53,051 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:37:53,068 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-08 05:37:53,251 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-08 05:37:53,251 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:37:53,252 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:37:53,252 INFO L85 PathProgramCache]: Analyzing trace with hash -1358919972, now seen corresponding path program 13 times [2022-04-08 05:37:53,252 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:37:53,252 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1352120941] [2022-04-08 05:37:53,252 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:37:53,252 INFO L85 PathProgramCache]: Analyzing trace with hash -1358919972, now seen corresponding path program 14 times [2022-04-08 05:37:53,252 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:37:53,252 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [247499255] [2022-04-08 05:37:53,252 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:37:53,253 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:37:53,262 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:37:53,262 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [814965899] [2022-04-08 05:37:53,262 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:37:53,262 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:37:53,262 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:37:53,263 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-08 05:37:53,264 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-08 05:37:53,359 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:37:53,359 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:37:53,360 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 05:37:53,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:37:53,375 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:37:54,513 INFO L272 TraceCheckUtils]: 0: Hoare triple {27492#true} call ULTIMATE.init(); {27492#true} is VALID [2022-04-08 05:37:54,514 INFO L290 TraceCheckUtils]: 1: Hoare triple {27492#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {27492#true} is VALID [2022-04-08 05:37:54,514 INFO L290 TraceCheckUtils]: 2: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:54,514 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27492#true} {27492#true} #82#return; {27492#true} is VALID [2022-04-08 05:37:54,514 INFO L272 TraceCheckUtils]: 4: Hoare triple {27492#true} call #t~ret7 := main(); {27492#true} is VALID [2022-04-08 05:37:54,514 INFO L290 TraceCheckUtils]: 5: Hoare triple {27492#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {27492#true} is VALID [2022-04-08 05:37:54,514 INFO L272 TraceCheckUtils]: 6: Hoare triple {27492#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:54,514 INFO L290 TraceCheckUtils]: 7: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:54,514 INFO L290 TraceCheckUtils]: 8: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:54,514 INFO L290 TraceCheckUtils]: 9: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:54,514 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27492#true} {27492#true} #64#return; {27492#true} is VALID [2022-04-08 05:37:54,514 INFO L272 TraceCheckUtils]: 11: Hoare triple {27492#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:54,515 INFO L290 TraceCheckUtils]: 12: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:54,515 INFO L290 TraceCheckUtils]: 13: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:54,515 INFO L290 TraceCheckUtils]: 14: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:54,515 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27492#true} {27492#true} #66#return; {27492#true} is VALID [2022-04-08 05:37:54,515 INFO L290 TraceCheckUtils]: 16: Hoare triple {27492#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27545#(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-08 05:37:54,516 INFO L290 TraceCheckUtils]: 17: Hoare triple {27545#(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; {27545#(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-08 05:37:54,516 INFO L290 TraceCheckUtils]: 18: Hoare triple {27545#(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 < 5);havoc #t~post6; {27545#(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-08 05:37:54,516 INFO L272 TraceCheckUtils]: 19: Hoare triple {27545#(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 __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:54,516 INFO L290 TraceCheckUtils]: 20: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:54,516 INFO L290 TraceCheckUtils]: 21: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:54,516 INFO L290 TraceCheckUtils]: 22: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:54,517 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27492#true} {27545#(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))} #68#return; {27545#(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-08 05:37:54,517 INFO L272 TraceCheckUtils]: 24: Hoare triple {27545#(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 __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:54,517 INFO L290 TraceCheckUtils]: 25: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:54,517 INFO L290 TraceCheckUtils]: 26: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:54,517 INFO L290 TraceCheckUtils]: 27: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:54,518 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27492#true} {27545#(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))} #70#return; {27545#(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-08 05:37:54,518 INFO L272 TraceCheckUtils]: 29: Hoare triple {27545#(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 __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:54,518 INFO L290 TraceCheckUtils]: 30: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:54,518 INFO L290 TraceCheckUtils]: 31: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:54,518 INFO L290 TraceCheckUtils]: 32: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:54,519 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {27492#true} {27545#(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))} #72#return; {27545#(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-08 05:37:54,519 INFO L290 TraceCheckUtils]: 34: Hoare triple {27545#(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 !!(~a~0 != ~b~0); {27545#(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-08 05:37:54,520 INFO L290 TraceCheckUtils]: 35: Hoare triple {27545#(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 ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:37:54,520 INFO L290 TraceCheckUtils]: 36: Hoare triple {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:37:54,521 INFO L290 TraceCheckUtils]: 37: Hoare triple {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:37:54,521 INFO L272 TraceCheckUtils]: 38: Hoare triple {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:54,521 INFO L290 TraceCheckUtils]: 39: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:54,521 INFO L290 TraceCheckUtils]: 40: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:54,521 INFO L290 TraceCheckUtils]: 41: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:54,521 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27492#true} {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:37:54,522 INFO L272 TraceCheckUtils]: 43: Hoare triple {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:54,522 INFO L290 TraceCheckUtils]: 44: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:54,522 INFO L290 TraceCheckUtils]: 45: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:54,522 INFO L290 TraceCheckUtils]: 46: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:54,522 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27492#true} {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:37:54,522 INFO L272 TraceCheckUtils]: 48: Hoare triple {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:54,522 INFO L290 TraceCheckUtils]: 49: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:54,522 INFO L290 TraceCheckUtils]: 50: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:54,523 INFO L290 TraceCheckUtils]: 51: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:54,523 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27492#true} {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:37:54,523 INFO L290 TraceCheckUtils]: 53: Hoare triple {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:37:54,525 INFO L290 TraceCheckUtils]: 54: Hoare triple {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 05:37:54,525 INFO L290 TraceCheckUtils]: 55: Hoare triple {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 05:37:54,526 INFO L290 TraceCheckUtils]: 56: Hoare triple {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !!(#t~post6 < 5);havoc #t~post6; {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 05:37:54,526 INFO L272 TraceCheckUtils]: 57: Hoare triple {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:54,526 INFO L290 TraceCheckUtils]: 58: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:54,526 INFO L290 TraceCheckUtils]: 59: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:54,526 INFO L290 TraceCheckUtils]: 60: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:54,527 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {27492#true} {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #68#return; {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 05:37:54,527 INFO L272 TraceCheckUtils]: 62: Hoare triple {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:54,527 INFO L290 TraceCheckUtils]: 63: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:54,527 INFO L290 TraceCheckUtils]: 64: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:54,527 INFO L290 TraceCheckUtils]: 65: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:54,527 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27492#true} {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #70#return; {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 05:37:54,527 INFO L272 TraceCheckUtils]: 67: Hoare triple {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:54,528 INFO L290 TraceCheckUtils]: 68: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:54,528 INFO L290 TraceCheckUtils]: 69: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:54,528 INFO L290 TraceCheckUtils]: 70: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:54,528 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27492#true} {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #72#return; {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 05:37:54,529 INFO L290 TraceCheckUtils]: 72: Hoare triple {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !!(~a~0 != ~b~0); {27716#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:37:54,530 INFO L290 TraceCheckUtils]: 73: Hoare triple {27716#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)) (not (= main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-08 05:37:54,531 INFO L290 TraceCheckUtils]: 74: Hoare triple {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-08 05:37:54,531 INFO L290 TraceCheckUtils]: 75: Hoare triple {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-08 05:37:54,531 INFO L272 TraceCheckUtils]: 76: Hoare triple {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:54,531 INFO L290 TraceCheckUtils]: 77: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:54,531 INFO L290 TraceCheckUtils]: 78: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:54,532 INFO L290 TraceCheckUtils]: 79: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:54,532 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27492#true} {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #68#return; {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-08 05:37:54,532 INFO L272 TraceCheckUtils]: 81: Hoare triple {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:54,532 INFO L290 TraceCheckUtils]: 82: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:54,532 INFO L290 TraceCheckUtils]: 83: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:54,532 INFO L290 TraceCheckUtils]: 84: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:54,533 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27492#true} {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #70#return; {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-08 05:37:54,534 INFO L272 TraceCheckUtils]: 86: Hoare triple {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27760#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:37:54,534 INFO L290 TraceCheckUtils]: 87: Hoare triple {27760#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27764#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:37:54,534 INFO L290 TraceCheckUtils]: 88: Hoare triple {27764#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27493#false} is VALID [2022-04-08 05:37:54,534 INFO L290 TraceCheckUtils]: 89: Hoare triple {27493#false} assume !false; {27493#false} is VALID [2022-04-08 05:37:54,535 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 22 proven. 36 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-08 05:37:54,535 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:37:55,207 INFO L290 TraceCheckUtils]: 89: Hoare triple {27493#false} assume !false; {27493#false} is VALID [2022-04-08 05:37:55,208 INFO L290 TraceCheckUtils]: 88: Hoare triple {27764#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27493#false} is VALID [2022-04-08 05:37:55,208 INFO L290 TraceCheckUtils]: 87: Hoare triple {27760#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27764#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:37:55,208 INFO L272 TraceCheckUtils]: 86: Hoare triple {27780#(= 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)); {27760#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:37:55,209 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27492#true} {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:37:55,209 INFO L290 TraceCheckUtils]: 84: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:55,209 INFO L290 TraceCheckUtils]: 83: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:55,209 INFO L290 TraceCheckUtils]: 82: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:55,209 INFO L272 TraceCheckUtils]: 81: Hoare triple {27780#(= 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)); {27492#true} is VALID [2022-04-08 05:37:55,210 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27492#true} {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:37:55,210 INFO L290 TraceCheckUtils]: 79: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:55,210 INFO L290 TraceCheckUtils]: 78: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:55,210 INFO L290 TraceCheckUtils]: 77: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:55,210 INFO L272 TraceCheckUtils]: 76: Hoare triple {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:55,211 INFO L290 TraceCheckUtils]: 75: Hoare triple {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:37:55,211 INFO L290 TraceCheckUtils]: 74: Hoare triple {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:37:55,391 INFO L290 TraceCheckUtils]: 73: Hoare triple {27820#(or (< main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:37:55,392 INFO L290 TraceCheckUtils]: 72: Hoare triple {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(~a~0 != ~b~0); {27820#(or (< main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:37:55,393 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27492#true} {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #72#return; {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:37:55,393 INFO L290 TraceCheckUtils]: 70: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:55,393 INFO L290 TraceCheckUtils]: 69: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:55,393 INFO L290 TraceCheckUtils]: 68: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:55,393 INFO L272 TraceCheckUtils]: 67: Hoare triple {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:55,394 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27492#true} {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #70#return; {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:37:55,394 INFO L290 TraceCheckUtils]: 65: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:55,394 INFO L290 TraceCheckUtils]: 64: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:55,394 INFO L290 TraceCheckUtils]: 63: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:55,394 INFO L272 TraceCheckUtils]: 62: Hoare triple {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:55,394 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {27492#true} {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #68#return; {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:37:55,394 INFO L290 TraceCheckUtils]: 60: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:55,395 INFO L290 TraceCheckUtils]: 59: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:55,395 INFO L290 TraceCheckUtils]: 58: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:55,395 INFO L272 TraceCheckUtils]: 57: Hoare triple {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:55,395 INFO L290 TraceCheckUtils]: 56: Hoare triple {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:37:55,396 INFO L290 TraceCheckUtils]: 55: Hoare triple {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:37:55,523 INFO L290 TraceCheckUtils]: 54: Hoare triple {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:37:55,524 INFO L290 TraceCheckUtils]: 53: Hoare triple {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume !!(~a~0 != ~b~0); {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-08 05:37:55,525 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27492#true} {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #72#return; {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-08 05:37:55,525 INFO L290 TraceCheckUtils]: 51: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:55,525 INFO L290 TraceCheckUtils]: 50: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:55,525 INFO L290 TraceCheckUtils]: 49: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:55,525 INFO L272 TraceCheckUtils]: 48: Hoare triple {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:55,526 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27492#true} {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #70#return; {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-08 05:37:55,526 INFO L290 TraceCheckUtils]: 46: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:55,526 INFO L290 TraceCheckUtils]: 45: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:55,526 INFO L290 TraceCheckUtils]: 44: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:55,526 INFO L272 TraceCheckUtils]: 43: Hoare triple {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:55,526 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27492#true} {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #68#return; {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-08 05:37:55,527 INFO L290 TraceCheckUtils]: 41: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:55,527 INFO L290 TraceCheckUtils]: 40: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:55,527 INFO L290 TraceCheckUtils]: 39: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:55,527 INFO L272 TraceCheckUtils]: 38: Hoare triple {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:55,527 INFO L290 TraceCheckUtils]: 37: Hoare triple {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume !!(#t~post6 < 5);havoc #t~post6; {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-08 05:37:55,528 INFO L290 TraceCheckUtils]: 36: Hoare triple {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-08 05:37:57,157 INFO L290 TraceCheckUtils]: 35: Hoare triple {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-08 05:37:57,158 INFO L290 TraceCheckUtils]: 34: Hoare triple {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume !!(~a~0 != ~b~0); {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-08 05:37:57,159 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {27492#true} {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #72#return; {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-08 05:37:57,159 INFO L290 TraceCheckUtils]: 32: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:57,159 INFO L290 TraceCheckUtils]: 31: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:57,159 INFO L290 TraceCheckUtils]: 30: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:57,159 INFO L272 TraceCheckUtils]: 29: Hoare triple {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:57,160 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27492#true} {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #70#return; {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-08 05:37:57,160 INFO L290 TraceCheckUtils]: 27: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:57,160 INFO L290 TraceCheckUtils]: 26: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:57,160 INFO L290 TraceCheckUtils]: 25: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:57,160 INFO L272 TraceCheckUtils]: 24: Hoare triple {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:57,161 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27492#true} {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #68#return; {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-08 05:37:57,161 INFO L290 TraceCheckUtils]: 22: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:57,161 INFO L290 TraceCheckUtils]: 21: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:57,161 INFO L290 TraceCheckUtils]: 20: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:57,161 INFO L272 TraceCheckUtils]: 19: Hoare triple {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:57,161 INFO L290 TraceCheckUtils]: 18: Hoare triple {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-08 05:37:57,162 INFO L290 TraceCheckUtils]: 17: Hoare triple {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-08 05:37:57,162 INFO L290 TraceCheckUtils]: 16: Hoare triple {27492#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-08 05:37:57,163 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27492#true} {27492#true} #66#return; {27492#true} is VALID [2022-04-08 05:37:57,163 INFO L290 TraceCheckUtils]: 14: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:57,163 INFO L290 TraceCheckUtils]: 13: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:57,163 INFO L290 TraceCheckUtils]: 12: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:57,163 INFO L272 TraceCheckUtils]: 11: Hoare triple {27492#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:57,163 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27492#true} {27492#true} #64#return; {27492#true} is VALID [2022-04-08 05:37:57,163 INFO L290 TraceCheckUtils]: 9: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:57,163 INFO L290 TraceCheckUtils]: 8: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-08 05:37:57,163 INFO L290 TraceCheckUtils]: 7: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-08 05:37:57,163 INFO L272 TraceCheckUtils]: 6: Hoare triple {27492#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27492#true} is VALID [2022-04-08 05:37:57,163 INFO L290 TraceCheckUtils]: 5: Hoare triple {27492#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~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; {27492#true} is VALID [2022-04-08 05:37:57,163 INFO L272 TraceCheckUtils]: 4: Hoare triple {27492#true} call #t~ret7 := main(); {27492#true} is VALID [2022-04-08 05:37:57,163 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27492#true} {27492#true} #82#return; {27492#true} is VALID [2022-04-08 05:37:57,163 INFO L290 TraceCheckUtils]: 2: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-08 05:37:57,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {27492#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {27492#true} is VALID [2022-04-08 05:37:57,164 INFO L272 TraceCheckUtils]: 0: Hoare triple {27492#true} call ULTIMATE.init(); {27492#true} is VALID [2022-04-08 05:37:57,164 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 22 proven. 36 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-08 05:37:57,164 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:37:57,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [247499255] [2022-04-08 05:37:57,164 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:37:57,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [814965899] [2022-04-08 05:37:57,164 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [814965899] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:37:57,165 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:37:57,165 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-08 05:37:57,165 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:37:57,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1352120941] [2022-04-08 05:37:57,165 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1352120941] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:37:57,165 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:37:57,165 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:37:57,165 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [265595767] [2022-04-08 05:37:57,165 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:37:57,166 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), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 90 [2022-04-08 05:37:57,166 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:37:57,166 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), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 05:37:57,235 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-08 05:37:57,235 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:37:57,235 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:37:57,235 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:37:57,235 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:37:57,236 INFO L87 Difference]: Start difference. First operand 265 states and 313 transitions. Second operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 05:37:59,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:37:59,223 INFO L93 Difference]: Finished difference Result 291 states and 354 transitions. [2022-04-08 05:37:59,223 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:37:59,223 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), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 90 [2022-04-08 05:37:59,223 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:37:59,223 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), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 05:37:59,225 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-08 05:37:59,225 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), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 05:37:59,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-08 05:37:59,235 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2022-04-08 05:37:59,367 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-08 05:37:59,371 INFO L225 Difference]: With dead ends: 291 [2022-04-08 05:37:59,371 INFO L226 Difference]: Without dead ends: 285 [2022-04-08 05:37:59,372 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 180 GetRequests, 166 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-04-08 05:37:59,372 INFO L913 BasicCegarLoop]: 56 mSDtfsCounter, 10 mSDsluCounter, 187 mSDsCounter, 0 mSdLazyCounter, 289 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 243 SdHoareTripleChecker+Invalid, 299 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 289 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 05:37:59,372 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 243 Invalid, 299 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 289 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 05:37:59,372 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 285 states. [2022-04-08 05:37:59,701 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 285 to 269. [2022-04-08 05:37:59,701 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:37:59,702 INFO L82 GeneralOperation]: Start isEquivalent. First operand 285 states. Second operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-08 05:37:59,702 INFO L74 IsIncluded]: Start isIncluded. First operand 285 states. Second operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-08 05:37:59,703 INFO L87 Difference]: Start difference. First operand 285 states. Second operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-08 05:37:59,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:37:59,708 INFO L93 Difference]: Finished difference Result 285 states and 342 transitions. [2022-04-08 05:37:59,708 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 342 transitions. [2022-04-08 05:37:59,709 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:37:59,709 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:37:59,709 INFO L74 IsIncluded]: Start isIncluded. First operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) Second operand 285 states. [2022-04-08 05:37:59,709 INFO L87 Difference]: Start difference. First operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) Second operand 285 states. [2022-04-08 05:37:59,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:37:59,715 INFO L93 Difference]: Finished difference Result 285 states and 342 transitions. [2022-04-08 05:37:59,715 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 342 transitions. [2022-04-08 05:37:59,715 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:37:59,715 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:37:59,715 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:37:59,715 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:37:59,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-08 05:37:59,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 269 states to 269 states and 319 transitions. [2022-04-08 05:37:59,722 INFO L78 Accepts]: Start accepts. Automaton has 269 states and 319 transitions. Word has length 90 [2022-04-08 05:37:59,722 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:37:59,722 INFO L478 AbstractCegarLoop]: Abstraction has 269 states and 319 transitions. [2022-04-08 05:37:59,722 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 05:37:59,722 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 269 states and 319 transitions. [2022-04-08 05:38:00,444 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 319 edges. 319 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:38:00,444 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 319 transitions. [2022-04-08 05:38:00,445 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-08 05:38:00,445 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:38:00,445 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:38:00,462 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-08 05:38:00,645 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable22 [2022-04-08 05:38:00,646 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:38:00,646 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:38:00,646 INFO L85 PathProgramCache]: Analyzing trace with hash -1753286758, now seen corresponding path program 15 times [2022-04-08 05:38:00,646 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:38:00,646 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2060738815] [2022-04-08 05:38:00,647 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:38:00,647 INFO L85 PathProgramCache]: Analyzing trace with hash -1753286758, now seen corresponding path program 16 times [2022-04-08 05:38:00,648 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:38:00,648 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [833182934] [2022-04-08 05:38:00,648 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:38:00,648 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:38:00,656 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:38:00,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [362403247] [2022-04-08 05:38:00,656 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:38:00,656 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:38:00,657 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:38:00,657 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-08 05:38:00,671 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-08 05:38:00,713 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:38:00,714 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:38:00,715 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-08 05:38:00,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:38:00,897 INFO L286 TraceCheckSpWp]: Computing forward predicates...